bsp_vad.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef _BSP_VAD_H
  2. #define _BSP_VAD_H
  3. enum {
  4. VAD_128 = 0,
  5. VAD_256,
  6. VAD_512,
  7. VAD_1024,
  8. };
  9. bool vad_is_start(void);
  10. bool vad_is_wake(void);
  11. void vad_sleep_config(bool enter);
  12. void vad_start(void);
  13. void vad_stop(void);
  14. void vad_kws_process(void);
  15. void vad_sdadc_process(u8 *ptr, u32 samples, int ch_mode);
  16. u8 vad_mic_pwr_sel_io(void);
  17. #define VAD_MODE_1 1
  18. #define VAD_MODE_2 2
  19. #define VAD_MODE_SEL VAD_MODE_1
  20. #define KWS_SAMPLES 512 //KWS一帧的样点数,固定值
  21. #define VAD_NEG_CNT 0X0F //非人声阈值,范围0x0000到0X3FFF
  22. #define VAD_POS_CNT 0X20 //人声阈值,越小对声音越灵敏,范围0x0000到0X3FFF
  23. #define KWS_RUNTIME_LIMIT 5000 //语音识别算法运行时间限制,0为不限制,单位 ms
  24. #define VAD_NEG_FLAG_THRESHOLD 6 //voice_flag转为0的neg_flag_cnt阈值
  25. #define VAD_REBOOT_THRESOLD 200 //vad reboot的cnt阈值
  26. #define VAD_SAMPLES VAD_128 //VAD一帧的样点数,固定值
  27. #if VAD_MODE_SEL == VAD_MODE_1
  28. #define VAD_DMA_NUM_MAX 10 //VAD DMA 共保存VAD_DMA_NUM_MAX帧mic数据
  29. #define VAD_PREFETCH_NUM 5 //VAD内部往前取的帧数
  30. #define VAD_PRE_GET 2 //取VAD起来之前的数据帧数
  31. #define VAD_DMA_SIZE 512* VAD_DMA_NUM_MAX
  32. #else
  33. #define ASR_PCM_BUFF_NUM 20 //保存多少帧mic数据
  34. #define ASR_PRE_READ 18 //往前读取多少帧数据
  35. #define ASR_PCM_NUM 400
  36. #define VAD_DMA_SIZE 1280 //mic buff size
  37. #endif
  38. #endif