CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
sdk_default_config.h
浏览该文件的文档.
1 
10 #ifndef _SDK_DEFAULT_CONFIG_H_
11 #define _SDK_DEFAULT_CONFIG_H_
12 
13 #if defined(CI_CONFIG_FILE)
14 #include CI_CONFIG_FILE
15 #endif
16 
17 
18 /******************************** sdk config *********************************/
19 // SDK VER
20 #define SDK_VERSION 2
21 #define SDK_SUBVERSION 2
22 #define SDK_REVISION 1
23 #define SDK_TYPE "Offline"
24 
25 /******************************** 开发板选择 **********************************/
26 //板级支持配置
27 #ifndef BOARD_PORT_FILE
28 #define BOARD_PORT_FILE "CI-D06GT01D.c"
29 #endif
30 
31 // //示例板级支持配置
32 // #ifndef BOARD_PORT_FILE
33 // #define BOARD_PORT_FILE "board_port_xxx.c"
34 // #endif
35 
36 /******************************** 灯控功能选择 **********************************/
37 // 使用VAD指示灯控
38 #ifndef USE_VAD_LIGHT
39 #define USE_VAD_LIGHT 0
40 #endif
41 
42 // 使用BLINK闪烁灯控
43 #ifndef USE_BLINK_LIGHT
44 #define USE_BLINK_LIGHT 0
45 #endif
46 
47 // 使用NIGHT小夜灯灯控
48 #ifndef USE_NIGHT_LIGHT
49 #define USE_NIGHT_LIGHT 0
50 #endif
51 
52 // 使用COLOR三色彩灯灯控
53 #ifndef USE_COLOR_LIGHT
54 #define USE_COLOR_LIGHT 0
55 #endif
56 
57 /******************************** 外设功能选择 **********************************/
58 // 使用IIC引脚配置
59 #ifndef USE_IIC_PAD
60 #define USE_IIC_PAD 0
61 #endif
62 
63 // 退出唤醒时间
64 #ifndef EXIT_WAKEUP_TIME
65 #define EXIT_WAKEUP_TIME 15000 //default exit wakeup time,unit ms
66 #endif
67 
68 // volume set
69 #ifndef VOLUME_MAX
70 #define VOLUME_MAX 7 //voice play max volume level
71 #endif
72 #ifndef VOLUME_MID
73 #define VOLUME_MID 5 //voice play middle volume level
74 #endif
75 #ifndef VOLUME_MIN
76 #define VOLUME_MIN 1 //voice play min volume level
77 #endif
78 
79 #ifndef VOLUME_DEFAULT
80 #define VOLUME_DEFAULT 5 //voice play default volume level
81 #endif
82 
83 // customer Ver (user define)
84 #ifndef USER_VERSION_MAIN_NO
85 #define USER_VERSION_MAIN_NO 1
86 #endif
87 #ifndef USER_VERSION_SUB_NO
88 #define USER_VERSION_SUB_NO 0
89 #endif
90 #ifndef USER_TYPE
91 #define USER_TYPE "CustomerAA"
92 #endif
93 
94 
95 // 使用COLOR三色彩灯灯控
96 #ifndef GS0XJ_BOARD_PA_AUTO
97 #define GS0XJ_BOARD_PA_AUTO 0 //GS0XJ系列板子PA是否开启自动检测功能。0、关闭(默认低电平有效)。1、开启。
98 #endif
99 
100 
101 /* 串口调试LOG输出 */
102 #ifndef CONFIG_CI_LOG_UART
103 #define CONFIG_CI_LOG_UART HAL_UART0_BASE
104 #endif
105 
106 /* 是否开启命令行控制台 */
107 #ifndef COMMAND_LINE_CONSOLE_EN
108 #define COMMAND_LINE_CONSOLE_EN 0
109 #endif
110 
111 /* 驱动中断采用事件标准组配置为1,采用全局变量配置为0 */
112 #ifndef DRIVER_OS_API
113 #define DRIVER_OS_API 0
114 #endif
115 
116 #ifndef CONFIG_DIRVER_BUF_USED_FREEHEAP_EN
117 #define CONFIG_DIRVER_BUF_USED_FREEHEAP_EN 1
118 #endif
119 
120 /* 在播放中是否暂停语音输入,一般来讲开启aec则不开启暂停语音输入否则开启 */
121 #ifndef PAUSE_VOICE_IN_WITH_PLAYING
122 #define PAUSE_VOICE_IN_WITH_PLAYING 1
123 #endif
124 
125 /*是否允许关闭提示播报音 */
126 #ifndef PROMPT_CLOSE_EN
127 #define PROMPT_CLOSE_EN 1
128 #endif
129 
130 /*异常复位跳过上电播报和协议通知 */
131 #ifndef EXCEPTION_RST_SKIP_BOOT_PROMPT
132 #define EXCEPTION_RST_SKIP_BOOT_PROMPT 1
133 #endif
134 
135 /*默认模型分组ID,开机后第一次运行的识别环境 */
136 #ifndef DEFAULT_MODEL_GROUP_ID
137 #define DEFAULT_MODEL_GROUP_ID 0
138 #endif
139 
140 /* 启用非唤醒状态切换模型 */
141 #ifndef USE_SEPARATE_WAKEUP_EN
142 #define USE_SEPARATE_WAKEUP_EN 1
143 #endif
144 
145 /* 启用降频模式 */
146 #ifndef USE_LOWPOWER_DOWN_FREQUENCY
147 #define USE_LOWPOWER_DOWN_FREQUENCY 0
148 #endif
149 
150 /* 启用低功耗模式 */
151 // #ifndef USE_LOWPOWER_OSC_FREQUENCY
152 // #define USE_LOWPOWER_OSC_FREQUENCY 0 //暂不能使用
153 // #endif
154 
155 /*************************** 解码参数配置 ************************************/
156 #ifndef DECODER_MIN_ACTIVE
157 #define DECODER_MIN_ACTIVE (400) //默认400,若节点小于8000,可尝试修改到300;最小值200,最大值800
158 #endif
159 
160 #ifndef DECODER_BEAM
161 #define DECODER_BEAM (9.5f) //最小值3.5 最大值15.5
162 #endif
163 
164 #ifndef DEFAULT_CONFIDENCE
165 #define DEFAULT_CONFIDENCE (60) // 配置默认置信度宏 :Excel未配置置信度的词条的默认值, 理论范围[1-255],建议范围[30-150]
166 #endif
167 
168 #ifndef DEFAULT_CNT
169 #define DEFAULT_CNT (6) // 配置默认cnt宏 :Excel未配置cnt的词条的默认值,理论范围[1-255],建议范围[4-20]
170 #endif
171 
172 //以下宏和响应速度相关
173 #ifndef ADAPTIVE_CNT_ENABLE
174 #define ADAPTIVE_CNT_ENABLE (1) //配置自适应cnt使能宏 ,1:打开自适应 cnt; 0:关闭,加快响应速度,但必须手动在excel配置短词的cnt;
175 #endif
176 
177 //以下宏和响应速度相关
178 #ifndef MAX_STOP_VAD_FRM
179 #define MAX_STOP_VAD_FRM (30) //配置VAD_END帧数宏 最大停顿静音间隔帧数 30=300ms 值越大识别响应时间会加长;过短导致出现截断,长词识别为短词 ,建议:英文/小语种 该值至少35,理论范围 [1-60],建议范围[20-50]
180 #endif
181 
182 //以下宏和响应速度相关
183 #ifndef MAX_STOP_CFD_ENABLE
184 #define MAX_STOP_CFD_ENABLE (0) // 打分超过阈值提前结束功能 0 关闭 1 开启(可提升响应速度)
185 #endif
186 
187 #ifndef MAX_STOP_CFD_NOCNT
188 #define MAX_STOP_CFD_NOCNT (50) // MAX_STOP_CFD_ENABLE为1有效 无cnt配置的词,最大结束阈值,理论范围 [5-200],建议范围[50-150];
189 #endif
190 
191 #ifndef MAX_STOP_CFD_CNT
192 #define MAX_STOP_CFD_CNT (60) // MAX_STOP_CFD_ENABLE为1有效 有cnt配置的词,最大结束阈值,至少要比 MAX_STOP_CFD_NOCNT 大,理论范围 [5-200],建议范围[50-150];
193 #endif
194 
195 #ifndef DEFAULT_STOP_SILPROB
196 #define DEFAULT_STOP_SILPROB (0.9f) // 识别结束停顿静音概率阈值,理论范围[0-1],值越大支持的停顿时间越长
197 #endif
198 
199 //以下宏和响应速度相关
200 #ifndef DEFAULT_STOP_SILCNT
201 #define DEFAULT_STOP_SILCNT (2) // 识别结束静音连续次数宏:识别结束停顿静音,值越大支持的停顿时间越长,理论范围 [1-200] 建议范围 [1-10]
202 #endif
203 
204 #ifndef RECOVER_RESULT_ENABLE
205 #define RECOVER_RESULT_ENABLE (1) //语音识别结果回收使能配置(整段语音结束,无有效结果,再回溯搜索打分满足阈值[CNT不满足]的结果), 开启人声噪音识别率会增加,但集外误识别会提升
206 #endif
207 
208 #ifndef RECOVER_RESULT_MODE
209 #define RECOVER_RESULT_MODE (0) // RECOVER_RESULT_ENABLE 为1 有效,语音识别结果回收使能作用模式,0 命令词和唤醒词; 1 唤醒词
210 #endif
211 
212 #ifndef RECOVER_RESULT_MAX_FRM
213 #define RECOVER_RESULT_MAX_FRM (0) // RECOVER_RESULT_ENABLE 为1 有效,回收使能 在CNT基础上再增加超时帧数 , 10=300 ms ,理论范围 [0-200],建议范围[0-20]
214 #endif
215 
216 /*************************** 语音前端算法 config *****************************/
217 /*回声消除 AEC*/
218 #ifndef USE_AEC_MODULE
219 #define USE_AEC_MODULE 0
220 #endif
221 
222 /*动态alc:ALC AUTO SWITCH*/
223 #ifndef USE_ALC_AUTO_SWITCH_MODULE
224 #define USE_ALC_AUTO_SWITCH_MODULE 0 //当噪音大于75db并且人声大于75db的情况,设置为1,可以提升一点识别;其他场景默认为0
225 #endif
226 
227 /*是否codec录音只支持单个声道,需根据算法选择配合使用*/
228 #ifndef AUDIO_CAPTURE_USE_SINGLE_CHANNEL
229 #define AUDIO_CAPTURE_USE_SINGLE_CHANNEL 1
230 #endif
231 
232 
233 /*是否使用重采样*/
234 #ifndef INNER_CODEC_AUDIO_IN_USE_RESAMPLE
235 #define INNER_CODEC_AUDIO_IN_USE_RESAMPLE 1 //默认打开 0:不开重采样 1:打开重采样
236 #endif
237 
238 
239 
240 /*根据codec使用的声道数来配置使用内存大小*/
241 #if !CONFIG_DIRVER_BUF_USED_FREEHEAP_EN
242 #if AUDIO_CAPTURE_USE_SINGLE_CHANNEL
243  #define AUDUI_CAPTURE_NO_USE_MALLOC_BLOCK_SIZE (512U)
244 #else
245  #define AUDUI_CAPTURE_NO_USE_MALLOC_BLOCK_SIZE (1024U)
246 #endif
247 #endif
248 
249 
250 /******************************** VP config **********************************/
251 
252 //1:开启VP计算;0:关闭VP计算
253 // #ifndef USE_VP
254 // #define USE_VP 0
255 // #endif
256 
257 // #ifndef VP_TEMPLATE_NUM
258 // #define VP_TEMPLATE_NUM 10
259 // #endif
260 
261 /******************************** command word self-learning config **********************************/
262 #ifndef USE_CWSL
263 #define USE_CWSL 0 //命令词自学习(command word self-learning)
264 #endif
265 
266 #ifndef CICWSL_TOTAL_TEMPLATE
267 #define CICWSL_TOTAL_TEMPLATE 32 //可存储模板数量
268 #endif
269 
270 
271 /**************************** audio player config ****************************/
272 /* 注册prompt解码器 */
273 #ifndef USE_PROMPT_DECODER
274 #define USE_PROMPT_DECODER 1
275 #endif
276 
277 /* 注册mp3解码器 */
278 #ifndef USE_MP3_DECODER
279 #define USE_MP3_DECODER 1
280 #endif
281 
282 /* 注册m4a(aac)解码器 */
283 #ifndef USE_AAC_DECODER
284 #define USE_AAC_DECODER 0
285 #endif
286 
287 /* 注册ms wav解码器 */
288 #ifndef USE_MS_WAV_DECODER
289 #define USE_MS_WAV_DECODER 0
290 #endif
291 
292 /* 注册flac解码器 */
293 #ifndef USE_FLAC_DECODER
294 #define USE_FLAC_DECODER 0
295 #endif
296 
297 /* 命令词支持MP3格式音频,注意目前仅支持具有CI特殊头格式的MP3文件 */
298 #ifndef AUDIO_PLAY_SUPPT_MP3_PROMPT
299 #define AUDIO_PLAY_SUPPT_MP3_PROMPT 0
300 #endif
301 #if AUDIO_PLAY_SUPPT_MP3_PROMPT
302 #if !USE_MP3_DECODER
303 #error "if AUDIO_PLAY_SUPPT_MP3_PROMPT enabled please config USE_MP3_DECODER enable in your user_config.h"
304 #endif
305 #endif
306 
307 /* 命令词支持FLAC格式音频,注意目前仅支持具有CI特殊头格式的FLAC文件 */
308 #ifndef AUDIO_PLAY_SUPPT_FLAC_PROMPT
309 #define AUDIO_PLAY_SUPPT_FLAC_PROMPT 0
310 #endif
311 #if AUDIO_PLAY_SUPPT_FLAC_PROMPT
312 #if !USE_FLAC_DECODER
313 #error "if AUDIO_PLAY_SUPPT_FLAC_PROMPT enabled please config USE_FLAC_DECODER enable in your user_config.h"
314 #endif
315 #endif
316 
317 /* 命令词支持标准IMA ADPCM格式音频 */
318 #ifndef AUDIO_PLAY_SUPPT_IMAADPCM_PROMPT
319 #define AUDIO_PLAY_SUPPT_IMAADPCM_PROMPT 1
320 #endif
321 
322 /* 解码器内存使用动态分配 */
323 #ifndef AUDIO_PLAY_USE_DYNAMIC_DECODER_MEM
324 #define AUDIO_PLAY_USE_DYNAMIC_DECODER_MEM 0
325 #endif
326 
327 /* 数据组合播报 */
328 #ifndef AUDIO_PLAY_USE_QSPI_FLASH_LIST
329 #define AUDIO_PLAY_USE_QSPI_FLASH_LIST 0
330 #endif
331 
332 /* 启用网络播放(需要lwip支持) */
333 #ifndef AUDIO_PLAY_USE_NET
334 #define AUDIO_PLAY_USE_NET 0
335 #endif
336 
337 /* 启用自定义外部数据源播放 */
338 #ifndef AUDIO_PLAY_USE_OUTSIDE
339 #define AUDIO_PLAY_USE_OUTSIDE 0
340 #endif
341 
342 /* 启用自定义外部数据源播放 */
343 #ifndef AUDIO_PLAY_USE_OUTSIDE_V2
344 #define AUDIO_PLAY_USE_OUTSIDE_V2 0
345 #endif
346 
347 /* 启用文件系统播放 */
348 #ifndef AUDIO_PLAY_USE_SD_CARD
349 #define AUDIO_PLAY_USE_SD_CARD 0
350 #endif
351 
353 #ifndef AUDIO_PLAY_USE_MIX_2_CHANS
354 #define AUDIO_PLAY_USE_MIX_2_CHANS 0
355 #endif
356 
358 #ifndef AUDIO_PLAYER_CONFIG_AUTO_PARSE_AUDIO_FILE
359 #define AUDIO_PLAYER_CONFIG_AUTO_PARSE_AUDIO_FILE 0
360 #endif
361 
363 #ifndef AUDIO_PLAY_USE_SPEEDING_SPEECH
364 #define AUDIO_PLAY_USE_SPEEDING_SPEECH 0
365 #endif
366 
367 
369 #ifndef AUDIO_PLAY_SUPPT_WAKEUP_VOICE_IN_RAM
370 #define AUDIO_PLAY_SUPPT_WAKEUP_VOICE_IN_RAM 0
371 #endif
372 
374 #ifndef AUDIO_PLAYER_FIX_OFFSET_ISSUE
375 #define AUDIO_PLAYER_FIX_OFFSET_ISSUE 0
376 #endif
377 
378 
379 /****************************** 功放控制 config *******************************/
380 
381 /*Whether the PA switch is controled by audio player*/
382 #ifndef PLAYER_CONTROL_PA
383 #define PLAYER_CONTROL_PA 0
384 #endif
385 
386 
387 /****************************** 串口协议 config *******************************/
388 #ifndef MSG_COM_USE_UART_EN
389 #define MSG_COM_USE_UART_EN 0
390 #endif
391 
392 
393 #ifndef UART_PROTOCOL_NUMBER
394 #define UART_PROTOCOL_NUMBER (HAL_UART1_BASE)// HAL_UART0_BASE ~ HAL_UART2_BASE
395 #endif
396 
397 #ifndef UART_PROTOCOL_BAUDRATE
398 #define UART_PROTOCOL_BAUDRATE (UART_BaudRate9600)
399 #endif
400 
401 #ifndef UART_PROTOCOL_VER
402 #define UART_PROTOCOL_VER 2 //串口协议版本号,1:一代协议,2:二代协议,255:平台生成协议(只有发送没有接收)
403 #endif
404 
405 #ifndef UART0_PAD_OPENDRAIN_MODE_EN
406 #define UART0_PAD_OPENDRAIN_MODE_EN 0 //UART引脚开启开漏模式,支持5V电平。0:关闭开漏模式;1:开启开漏模式。
407 #endif
408 
409 #ifndef UART1_PAD_OPENDRAIN_MODE_EN
410 #define UART1_PAD_OPENDRAIN_MODE_EN 0 //UART引脚开启开漏模式,支持5V电平。0:关闭开漏模式;1:开启开漏模式。
411 #endif
412 
413 #ifndef UART2_PAD_OPENDRAIN_MODE_EN
414 #define UART2_PAD_OPENDRAIN_MODE_EN 0 //UART引脚开启开漏模式,支持5V电平。0:关闭开漏模式;1:开启开漏模式。
415 #endif
416 
417 
418 
419 #ifndef UART_BAUDRATE_CALIBRATE
420 #define UART_BAUDRATE_CALIBRATE 0 //是否使能波特率校准功能
421 #endif
422 
423 #if UART_BAUDRATE_CALIBRATE
424 
425 #ifndef BAUDRATE_SYNC_PERIOD
426 #define BAUDRATE_SYNC_PERIOD 300000 // 波特率同步周期,单位毫秒
427 #endif
428 
429 #ifndef BAUDRATE_FAST_SYNC_PERIOD
430 #define BAUDRATE_FAST_SYNC_PERIOD 5000 // 一次波特率校准识别后,下一次同步周期,单位毫秒
431 #endif
432 
433 // #ifndef UART_CALIBRATE_FIX_BAUDRATE
434 // #define UART_CALIBRATE_FIX_BAUDRATE 9600 //通信波特率
435 // #endif
436 
437 // #ifndef UART_CALIBRATE_MAX_ERR_PROPORITION
438 // #define UART_CALIBRATE_MAX_ERR_PROPORITION 0.08 //允许的最大误差比8%
439 // #endif
440 
441 // #ifndef UART_CALIBRATE_ARRAY_SIZE
442 // #define UART_CALIBRATE_ARRAY_SIZE 16 //最大数据缓存
443 // #endif
444 
445 // #ifndef UART_CALIBRATE_IO_BASE
446 // #define UART_CALIBRATE_IO_BASE PA //校准波特率的IO口(RX引脚)
447 // #endif
448 
449 // #ifndef UART_CALIBRATE_IO_PIN
450 // #define UART_CALIBRATE_IO_PIN pin_2
451 // #endif
452 
453 // #ifndef UART_CALIBRATE_IO_PAD
454 // #define UART_CALIBRATE_IO_PAD PA2
455 // #endif
456 
457 // #ifndef UART_CALIBRATE_IRQ
458 // #define UART_CALIBRATE_IRQ PA_IRQn
459 // #endif
460 
461 // #ifndef UART_CALIBRATE_TIMER
462 // #define UART_CALIBRATE_TIMER TIMER2
463 // #endif
464 
465 // #ifndef UART_CALIBRATE_TIMER_BASE
466 // #define UART_CALIBRATE_TIMER_BASE HAL_TIMER2_BASE
467 // #endif
468 
469  #endif
470 
471 
472 /***************************** flash加密 config ******************************/
473 /*flash防拷贝加密 */
474 #ifndef COPYRIGHT_VERIFICATION
475 #define COPYRIGHT_VERIFICATION 0 //1:使能flash加密校验,用于防止flash拷贝。需要在lds文件增加ROM段大小。0:禁止flash加密校验
476 #endif
477 
478 #if (COPYRIGHT_VERIFICATION == 1)
479 #define ENCRYPT_DEFAULT 0 //默认加密算法
480 #define ENCRYPT_USER_DEFINE 1 //用户自定义加密算法
481 
482 #define ENCRYPT_ALGORITHM ENCRYPT_DEFAULT //设置加密方式
483 #endif
484 
485 
486 /****************************** i2c communicate config *******************************/
487 #ifndef MSG_USE_I2C_EN
488 #define MSG_USE_I2C_EN 0 /*使能IIC通信协议*/
489 #endif
490 
491 #ifndef I2C_PROTOCOL_SPEED
492 #define I2C_PROTOCOL_SPEED (100) /*IIC传输速度*/
493 #endif
494 
495 
496 // 播报音配置
497 #ifndef PLAY_WELCOME_EN
498 #define PLAY_WELCOME_EN 1 //欢迎词播报 =1是 =0否
499 #endif
500 #ifndef PLAY_ENTER_WAKEUP_EN
501 #define PLAY_ENTER_WAKEUP_EN 1 //唤醒词播报 =1是 =0否
502 #endif
503 #ifndef PLAY_EXIT_WAKEUP_EN
504 #define PLAY_EXIT_WAKEUP_EN 1 //退出唤醒播报 =1是 =0否
505 #endif
506 #ifndef PLAY_OTHER_CMD_EN
507 #define PLAY_OTHER_CMD_EN 1 //命令词播报 =1是 =0否
508 #endif
509 
510 /******************************ASR config************************************/
511 #ifndef ADAPTIVE_THRESHOLD
512 #define ADAPTIVE_THRESHOLD 0 //ASR 自适应阈值 =1 开启 =0 关闭
513 #endif
514 
515 #ifndef ASR_SKIP_FRAME_CONFIG
516 #define ASR_SKIP_FRAME_CONFIG 0 //跳帧模式 0:关闭跳帧,1:只有命令词网络跳帧,2:所有模型都跳帧
517 #endif
518 #endif /*_SDK_DEFAULT_CONFIG_H_*/
519 
520 
521 #define FLASH_CPU_READ_BASE_ADDR (0x50000000U)
522 
523 
524 
525 #define VAD_SENSITIVITY_HIGH 1 // VAD 高灵敏度,适用于低音量语音,安静,或者各种噪声环境,但功耗偏高。
526 #define VAD_SENSITIVITY_MID 3 // VAD 中灵敏度,适用于安静及轻度噪声环境,功耗适中。
527 #define VAD_SENSITIVITY_LOW 9 // VAD 低灵敏度,仅适用于安静环境,降低误触发,也可以降低功耗。
528 
529 
530 #ifndef VAD_SENSITIVITY
531 #define VAD_SENSITIVITY VAD_SENSITIVITY_HIGH //用于配置VAD灵敏度
532 #endif
533 
534 
535 
536 //语音相关的宏
537 /*********************** 使用外部IIS输入语音进行识别 *************************/
538 #ifndef AUDIO_IN_BUFFER_NUM
539 #define AUDIO_IN_BUFFER_NUM (4)
540 #endif
541 
542 
543 //使用IIS输出算法处理之后的语音
544 #ifndef USE_IIS1_OUT_PRE_RSLT_AUDIO
545 #define USE_IIS1_OUT_PRE_RSLT_AUDIO (0)
546 #endif
547 
548 
549 //根据 HOST_MIC_RECORD_CODEC_ID 确定
550 // #ifndef MIC_FROM_WHICH_IIS
551 // #define MIC_FROM_WHICH_IIS 1//0:MIC接外部CODEC 1:MIC接内部CODEC 2:MIC使用PDM
552 // #endif
553 
554 
555 //根据 PLAY_CODEC_ID 确定
556 // #ifndef USE_OUTSIDE_CODEC_PLAY
557 // #define USE_OUTSIDE_CODEC_PLAY 0//使用外部codec进行播放
558 // #endif
559 
560 #ifndef HOST_MIC_RECORD_CODEC_ID
561 #define HOST_MIC_RECORD_CODEC_ID 1 //主MIC录音codec id: 0:主MIC接外部CODEC 1:主MIC接内部CODEC 2:主MIC使用PDM
562 #endif
563 
564 #ifndef HOST_CODEC_CHA_NUM
565 #define HOST_CODEC_CHA_NUM 1 //主COEDC的通道数,使用双麦算法和单MIC AEC的时候都应是2
566 #endif
567 
568 
569 
570 #ifndef ASSIST_MIC_RECORD_CODEC_ID
571 #define ASSIST_MIC_RECORD_CODEC_ID 2 //副MIC录音codec id: 0:副MIC接外部CODEC 1:副MIC接内部CODEC 2:副MIC使用PDM
572 #endif
573 
574 
575 #ifndef REF_RECORD_CODEC_ID
576 #define REF_RECORD_CODEC_ID 0 //参考信号录音codec id: 0:参考信号接外部CODEC 1:参考信号接内部CODEC 2:参考信号使用PDM,
577 #endif //只在参考和MIC使用不一样的CODEC时使用
578 
579 #if ((HOST_MIC_RECORD_CODEC_ID + ASSIST_MIC_RECORD_CODEC_ID + REF_RECORD_CODEC_ID) != 3)
580 #error "error\n"
581 #endif
582 
583 #if (ASSIST_MIC_RECORD_CODEC_ID == HOST_MIC_RECORD_CODEC_ID)
584 #error "error\n"
585 #endif
586 
587 #ifndef PLAY_CODEC_ID
588 #define PLAY_CODEC_ID 1 //播音codec id 0:播报使用接外部CODEC 1:播报使用内部CODEC
589 #endif
590 
591 
592 #ifndef PLAY_PRE_AUDIO_CODEC_ID
593 #define PLAY_PRE_AUDIO_CODEC_ID 0 //播放预处理之后的语音的codec id 只能使用外部IIS,只能是0
594 #endif
595 
596 
597 #ifndef AUDIO_CAP_POINT_NUM_PER_FRM
598 #define AUDIO_CAP_POINT_NUM_PER_FRM (256)//采音每帧的点数 16K采样率下一帧的采样点数,160
599 #endif
600 
601 
602 #ifndef AUDIO_IN_FROM_DMIC
603 #define AUDIO_IN_FROM_DMIC 0 //是否使用数字MIC输入音频
604 #endif
605 
606 /**********I2S interface config**********/
607 #ifndef USE_I2S_INTERFACE_SCK_LRCK_32
608 #define USE_I2S_INTERFACE_SCK_LRCK_32 0//I2S 传输语音数据到WIFI时,SCK与LRCK的比值是否为32,否则为64
609 #endif
610 
611 
612 #ifndef IF_JUST_CLOSE_HPOUT_WHILE_NO_PLAY
613 #define IF_JUST_CLOSE_HPOUT_WHILE_NO_PLAY 0//没有播报的时候只关HP:0:没有播报的时候关DAC(省电,但是蓝牙播报的时候会干扰ADC)
614 #endif
615 
616 
617 /************* 时钟源配置选择 *************************/
618 #ifndef USE_EXTERNAL_CRYSTAL_OSC
619 #define USE_EXTERNAL_CRYSTAL_OSC 1 //是否使用外部晶振。0:不使用外部晶振时钟;1:使用外部晶振时钟;默认使用外部晶振。
620 #endif
621 
622 
623 /************* 电源配置选择 *************************/
624 #ifndef USE_INNER_LDO3
625 #define USE_INNER_LDO3 1
626 #endif
627 
628 
630 #ifndef ON_LINE_SUPPORT
631 #define ON_LINE_SUPPORT 0 // 0: 关闭在线应用相关支持;1: 开启在线应用相关支持。
632 #endif
633 
634 
635 #if USE_EXTERNAL_CRYSTAL_OSC
636 #undef UART_BAUDRATE_CALIBRATE
637 #define UART_BAUDRATE_CALIBRATE 0 //使用外部晶振时,不需要校准波特率。
638 #endif
639 
640 #ifndef MIC_DIFF_SINGLE
641 #define MIC_DIFF_SINGLE 0 //1,单端。0,差分(通用模块都是差分模式,省成本的模块为单端(MICN_L 接GND)时,需要配置为SINGLE)
642 #endif
643 
644 #if (USE_LOWPOWER_DOWN_FREQUENCY)
645 #undef INNER_CODEC_AUDIO_IN_USE_RESAMPLE
646 #define INNER_CODEC_AUDIO_IN_USE_RESAMPLE 0
647 #endif
648 
649 #ifndef ONE_SHOT_ENABLE
650 #define ONE_SHOT_ENABLE 0 //1:开启oneshot功能。0:关闭oneshot功能
651 #endif