FreeCalypso > hg > freecalypso-citrine
comparison L1/audio_cust0/l1audio_cust.h @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:75a11d740a02 |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * L1AUDIO_CUST.H | |
4 * | |
5 * Filename l1audio_cust.h | |
6 * Copyright 2003 (C) Texas Instruments | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 | |
10 #ifndef _L1AUDIO_CUST_H_ | |
11 #define _L1AUDIO_CUST_H_ | |
12 | |
13 #if (AUDIO_TASK == 1) | |
14 | |
15 #if (OP_RIV_AUDIO == 0) | |
16 extern void vocoder_mute_dl (BOOL mute); | |
17 extern void vocoder_mute_ul (BOOL mute); | |
18 #endif | |
19 | |
20 #if (MELODY_E1) | |
21 //---------------------------------------- | |
22 // Melody format E1 constant. | |
23 //---------------------------------------- | |
24 | |
25 // Number of oscillators (fixed value) | |
26 #define SC_NUMBER_OSCILLATOR 8 | |
27 | |
28 // Define the unit of the downloading time (fixed value) | |
29 #define SC_MELO_DOWNLOAD_TIME_UNIT 4 // unit = 20ms | |
30 | |
31 #endif // MELODY_E1 | |
32 | |
33 #if (VOICE_MEMO) || (SPEECH_RECO) | |
34 //---------------------------------------- | |
35 // Voice memo constant. | |
36 //---------------------------------------- | |
37 | |
38 // Word to indicate the end of the speech data (fixed value). | |
39 #define SC_VM_END_MASK 0xFBFF | |
40 | |
41 #endif // VOICE_MEMO || SPEECH_RECO | |
42 | |
43 #if (L1_VOICE_MEMO_AMR) | |
44 //---------------------------------------- | |
45 // Voice memo amr constant. | |
46 //---------------------------------------- | |
47 | |
48 // Word to indicate the end of the speech data (fixed value). | |
49 #define SC_VM_AMR_END_MASK_SIZE 1 | |
50 #define SC_VM_AMR_END_MASK 0xFF | |
51 | |
52 #endif // L1_VOICE_MEMO_AMR | |
53 | |
54 #if (SPEECH_RECO) | |
55 //---------------------------------------- | |
56 // Speech recognition constant. | |
57 //---------------------------------------- | |
58 | |
59 // Error ID (fixed values) | |
60 #define SC_NO_ERROR 0 // No error | |
61 #define SC_BAD_ACQUISITION 1 // Bad acquisition of the word. The word is too long or too short | |
62 #define SC_TIME_OUT 2 // The DSP task to acquire the word takes to much time | |
63 #define SC_BAD_UPDATE 3 // Bad update of the model. The model from the database is too different | |
64 // than the model built during the acquisition. | |
65 #define SC_BAD_RECOGNITION 4 // This word is out of vocabulary or the best words are too close | |
66 #define SC_CTO_WORD 5 // A word generated by the CTO algorithm is the best word. | |
67 #define SC_CHECK_ERROR 6 // The best word isn't the word to update. | |
68 | |
69 // Time out (fixed values) | |
70 #define SC_SR_AQUISITION_TIME_OUT 867 // acquisition time out in fn unit (3s). | |
71 #define SC_SR_UPDATE_TIME_OUT 500 // update time out in fn unit. | |
72 #define SC_SR_PROCESSING_TIME_OUT 500 // processing time out in fn unit. | |
73 | |
74 | |
75 // CTO algorithm parameters (tuning value) | |
76 #define SC_SR_MAX_WORDS_FOR_CTO 4 // Threshold to decide when the CTO algorithm is needed: | |
77 // if the number of model is less 0r equal to this value, the CTO algo. is enabled. | |
78 | |
79 // model constant (fixed values) | |
80 #define SC_SR_MODEL_FRAME_SIZE 16 // size of the model parameters per audio frames (20 ms). | |
81 #define SC_SR_MODEL_API_SIZE 1041 // size of the model corrsponding to the longest possible word (1,3 second): | |
82 // 16 words frames* 1,3s/20ms + 1 = 1041 | |
83 // the header word of the model gives the size of the model in model frame unit. | |
84 #define SC_SR_MMI_DB_MODEL_SIZE SC_SR_MODEL_API_SIZE // maximum size of the model in the MMI database. | |
85 | |
86 // speech constant (fixed values) | |
87 #define SC_SR_SPEECH_FRAME_SIZE 20 // size of the speech samples per audio frams (20ms) | |
88 | |
89 #define SC_SR_SPEECH_WORD_SIZE 65 // maximum size in speech frame size unit of the word to acquire | |
90 #define SC_SR_SPEECH_WORD_BEGIN_VAD_LATENCY 35 // time in speech frame size unit to detect that the word begins | |
91 #define SC_SR_SPEECH_WORD_END_VAD_LATENCY 35 // time in speech frame size unit to detect that the word is finished | |
92 #define SC_SR_SPEECH_WORD_BEGIN_MARGIN 5 // time in speech frame size unit to add a beginning margin of the word | |
93 #define SC_SR_SPEECH_WORD_END_MARGIN 5 // time in speech frame size unit to add a end margin of the word | |
94 #define SC_SR_SPEECH_ENDING_DONE_MARGING 20 // time in speech frame size unit to have the word done status after the word ending status. | |
95 | |
96 #define SC_SR_MMI_2_L1_SPEECH_SIZE (SC_SR_SPEECH_WORD_BEGIN_MARGIN + SC_SR_SPEECH_WORD_SIZE + SC_SR_SPEECH_WORD_END_VAD_LATENCY + SC_SR_SPEECH_ENDING_DONE_MARGING) * SC_SR_SPEECH_FRAME_SIZE | |
97 // size of the speech buffer allocated by MMI to acquire the speech. | |
98 #define SC_SR_MMI_DB_SPEECH_SIZE (SC_SR_SPEECH_WORD_BEGIN_MARGIN + SC_SR_SPEECH_WORD_SIZE + SC_SR_SPEECH_WORD_END_MARGIN) * SC_SR_SPEECH_FRAME_SIZE + 1 // size of the speech buffer included in a MMI database | |
99 // "+1" is for the END voice memo mask. | |
100 | |
101 // DSP Out-Of-Vocabulary constant (tuning value) | |
102 #define SC_SR_OOV_SFT_THR 10 // OOV rejection threhold (the lower more rejection) | |
103 // if this value is equal to 0, ther's no rejection | |
104 | |
105 #endif // SPEECH_RECO | |
106 | |
107 #if (L1_NEW_AEC) | |
108 // time interval between 2 AEC debug traces (in TDMA). Must be <= 127 | |
109 #define SC_AEC_VISIBILITY_INTERVAL 52 | |
110 #endif | |
111 | |
112 #if (FIR) | |
113 // FIR indication (fixed values) | |
114 #define DL_FIR 1 // The DL FIR must be updated | |
115 #define UL_FIR 2 // The UL FIR must be updated | |
116 #define UL_DL_FIR 3 // The UL&DL FIR must be updated | |
117 | |
118 #endif | |
119 | |
120 // List of the error returned by the Cust_get_pointer function | |
121 #define DATA_AVAILABLE 0 // No error is occured | |
122 #define SESSION_ERROR 1 // Wrong session id | |
123 #define POINTER_ERROR 2 // Wrong ptr argument | |
124 #define DATA_AVAIL_ERROR 3 // No more data available | |
125 #define DATA_LAST 4 // Last buffer, no more data available after | |
126 #define WAIT_FOR_DATA 6 | |
127 | |
128 #if (AUDIO_MODE) | |
129 #define GSM_ONLY 0 // GSM normal mode | |
130 #define BT_CORDLESS 1 // Bluetooth cordless mode | |
131 #define BT_HEADSET 2 // Bluetooth headset mode | |
132 #endif | |
133 | |
134 #if (MELODY_E2) | |
135 #define SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT 8 // Maximum number of instruments allowed to play in thesame time | |
136 // (Fixed value) | |
137 #define SC_AUDIO_MELODY_E2_MAX_SIZE_OF_INSTRUMENT (3807 - C_DEBUG_BUFFER_SIZE) | |
138 // Melody E2 instrument wave table size in the API memory | |
139 // (fixed value) | |
140 #define SC_AUDIO_MELODY_E2_MAX_SIZE_OF_DSP_TRACE (C_DEBUG_BUFFER_SIZE + 1) | |
141 // DSP API buffer trace size (fixed value) | |
142 | |
143 // Note :the melody E2 instrument are overlayed with the DSP buffer trace. The size ofthe trace buffer can | |
144 // change in order to increase the DSP tracability. In all case, the following rules need to be followed | |
145 // (when melody E2 is activated): | |
146 // size of the E2 instruments buffer + size of DSP trace buffer = 2049 | |
147 // size of the E2 instrument buffers > 1 | |
148 // size of DSP trace buffer > 1 | |
149 #endif | |
150 | |
151 #endif // AUDIO_TASK | |
152 | |
153 // Number of coefficient for each FIR (fixed value) | |
154 #define MAX_FIR_COEF 31 | |
155 | |
156 // Triton Audio ON/OFF Changes | |
157 #if (L1_AUDIO_MCU_ONOFF == 1) | |
158 // Num of radio frames the audio path is kept on after all | |
159 // users have requested turn off | |
160 // 0..255 | |
161 #define L1_AUDIO_ON2OFF_UL_HOLD_TIME 20 //127 | |
162 #define L1_AUDIO_ON2OFF_DL_HOLD_TIME 20 //127 | |
163 #endif | |
164 | |
165 | |
166 #endif // _L1AUDIO_CUST_H_ |