All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
vad.h
Go to the documentation of this file.
1 #ifndef _VAD_H
2 #define _VAD_H
3 
4 #if defined(__cplusplus)
5 extern "C"
6 {
7 #endif
8 
18 /*
19  =============================================================================
20  */
21 
28 /*----------------------------------------------------------------------------
29  Includes
30  ---------------------------------------------------------------------------*/
31 
32 #include <stdint.h>
33 
34 /*----------------------------------------------------------------------------
35  Defines
36  ---------------------------------------------------------------------------*/
37 /*
38  =============================================================================
39  */
48 #define VAD_INIT_FRAMES (5)
49 
51 #define VAD_DELAY_FRAMES (13)
52 
59 #define VAD_ALPHA_Q15 (31128)
60 
62 #define VAD_FAST_COEF_Q15 (26214)
63 
65 #define VAD_SLOW_COEF_Q15 (31129 )
66 
69 #define VAD_MIN_SIG_Q30 (603809)
70 
74 #define VAD_MIN_NOISE_Q30 (603809)
75 
79 #define VAD_SNR_THRESHOLD_Q10 (1532)
80 
84 #define VAD_SNR_LIMIT_Q10 (4077)
85 
90 #define VAD_NOISE_RATE_Q14 (16498)
91 
92 #define VAD_API
93 
96 /*--------------------------------------------------------------------------
97  Typedefs
98  -------------------------------------------------------------------------*/
99 
100 /*
101  =============================================================================
102  */
111 typedef enum VAD_MessageEnumDef
112 {
116  VAD_Hang = 1,
121 } VAD_MessageEnum;
122 
124 typedef struct VAD_ObjStructDef *VAD_Handle;
125 
128 /*------------------------------------------------------------------------------
129  Functions
130  -----------------------------------------------------------------------------*/
131 
132 /*
133  =============================================================================
134  */
148 VAD_API
149 VAD_Handle VAD_setup();
150 
156 VAD_API
157 int_least16_t VAD_getInitFrames(VAD_Handle handle);
158 
165 VAD_API
166 void VAD_setInitFrames( VAD_Handle handle, int_least16_t initFrames );
167 
173 VAD_API
174 int_least16_t VAD_getDelayFrames( VAD_Handle handle );
175 
182 VAD_API
183 void VAD_setDelayFrames( VAD_Handle handle, int_least16_t delayFrames );
184 
190 VAD_API
191 int_least16_t VAD_getAlpha( VAD_Handle handle );
192 
199 VAD_API
200 void VAD_setAlpha( VAD_Handle handle, int_least16_t alpha );
201 
207 VAD_API
208 int_least16_t VAD_getFastCoef( VAD_Handle handle );
209 
216 VAD_API
217 void VAD_setFastCoef( VAD_Handle handle, int_least16_t fastCoef );
218 
224 VAD_API
225 int_least16_t VAD_getSlowCoef( VAD_Handle handle );
226 
233 VAD_API
234 void VAD_setSlowCoef(VAD_Handle handle, int_least16_t slowCoef);
235 
240 VAD_API
241 int_least16_t VAD_getSignalFloor(VAD_Handle handle);
242 
249 VAD_API
250 void VAD_setSignalFloor( VAD_Handle handle, int_least32_t signalFloor );
251 
257 VAD_API
258 int_least16_t VAD_getNoiseFloor(VAD_Handle handle);
259 
266 VAD_API
267 void VAD_setNoiseFloor(VAD_Handle handle, int_least32_t noiseFloor);
268 
274 VAD_API
275 int_least16_t VAD_getSigSNRThresh(VAD_Handle handle);
276 
283 VAD_API
284 void VAD_setSigSNRThresh(VAD_Handle handle, int_least16_t sigSNRThresh);
285 
291 VAD_API
292 int_least16_t VAD_getSigSNRLimit(VAD_Handle handle);
293 
300 VAD_API
301 void VAD_setSigSNRLimit( VAD_Handle handle, int_least16_t sigSNRLimit );
302 
308 VAD_API
309 int_least16_t VAD_getNoiseRate( VAD_Handle handle );
310 
317 VAD_API
318 void VAD_setNoiseRate(VAD_Handle handle, int_least16_t noiseRate);
319 
337 VAD_API
338 VAD_MessageEnum VAD_run(VAD_Handle handle, int_least16_t rmsegy);
339 
343 VAD_API
344 const char *VAD_getVersion(void);
345 
348 #ifdef __cplusplus
349 }
350 #endif
351 
352 #endif //_VAD_H
VAD_API void VAD_setSignalFloor(VAD_Handle handle, int_least32_t signalFloor)
VAD_API const char * VAD_getVersion(void)
VAD_API void VAD_setAlpha(VAD_Handle handle, int_least16_t alpha)
VAD_API VAD_MessageEnum VAD_run(VAD_Handle handle, int_least16_t rmsegy)
VAD_API int_least16_t VAD_getNoiseRate(VAD_Handle handle)
VAD_API int_least16_t VAD_getSigSNRThresh(VAD_Handle handle)
VAD_API int_least16_t VAD_getInitFrames(VAD_Handle handle)
VAD_API int_least16_t VAD_getSigSNRLimit(VAD_Handle handle)
VAD_API int_least16_t VAD_getSignalFloor(VAD_Handle handle)
VAD_MessageEnumDef
Definition: vad.h:111
VAD_API int_least16_t VAD_getNoiseFloor(VAD_Handle handle)
struct VAD_ObjStructDef * VAD_Handle
Definition: vad.h:124
VAD_API void VAD_setSlowCoef(VAD_Handle handle, int_least16_t slowCoef)
Definition: vad.h:114
VAD_API void VAD_setNoiseFloor(VAD_Handle handle, int_least32_t noiseFloor)
VAD_API int_least16_t VAD_getSlowCoef(VAD_Handle handle)
VAD_API void VAD_setFastCoef(VAD_Handle handle, int_least16_t fastCoef)
VAD_API int_least16_t VAD_getDelayFrames(VAD_Handle handle)
VAD_API void VAD_setInitFrames(VAD_Handle handle, int_least16_t initFrames)
VAD_API VAD_Handle VAD_setup()
VAD_API void VAD_setNoiseRate(VAD_Handle handle, int_least16_t noiseRate)
VAD_API void VAD_setSigSNRLimit(VAD_Handle handle, int_least16_t sigSNRLimit)
Definition: vad.h:120
VAD_API int_least16_t VAD_getFastCoef(VAD_Handle handle)
VAD_API void VAD_setSigSNRThresh(VAD_Handle handle, int_least16_t sigSNRThresh)
Definition: vad.h:118
#define VAD_API
Definition: vad.h:92
Definition: vad.h:116
VAD_API void VAD_setDelayFrames(VAD_Handle handle, int_least16_t delayFrames)
enum VAD_MessageEnumDef VAD_MessageEnum
VAD_API int_least16_t VAD_getAlpha(VAD_Handle handle)
Copyright 2017, Texas Instruments Incorporated