This commit is contained in:
huxi
2025-12-03 11:12:34 +08:00
parent c23ae4f24c
commit bc195654bf
8163 changed files with 3799544 additions and 92 deletions
+212
View File
@@ -0,0 +1,212 @@
#ifndef _AUDIO_CONFIG_DEF_H_
#define _AUDIO_CONFIG_DEF_H_
/*
*******************************************************************
* Audio CPU Definitions
*
*Note(s):
* Only macro definitions can be defined here.
*******************************************************************
*/
// #include "app_config.h"
//**************************************
// ASS通用配置
//**************************************
#define MEDIA_24BIT_ENABLE 0//TCFG_AUDIO_BIT_WIDTH
#define AUD_DAC_TRIM_ENABLE 0
// ADC性能测试模式说明:
// 1.使能 AUD_ADC_TEST_DEMO
// 2.使能 audio_adc_demo.c中的ADC_DEBUG_BUF
// 3.将sdk_config.h中的TCFG_ADC0_BIAS_SEL配置为0
// 4.关闭lib_system_config.c中的config_printf_time
// 5.防止pcm数据打印出错,降低串口波特率为1000000
// 打开测试模式后会等ADC数据稳定并将ADC中数据通过打印出来用作分析
#define AUD_ADC_TEST_DEMO 0
#define AUD_MEDIA_EFx_SCENE_SWITCH_ENABLE 0 //媒体音效场景切换使能
#define AUD_MIC_EFx_SCENE_SWITCH_ENABLE 0 //麦克风音效场景切换使能
//**************************************
// 音频模块链接配置
//**************************************
/*通话语音处理算法*/
#define AUDIO_CVP_TEXT_AT_RAM 0 //COMMON TEXT
#define AUDIO_CVP_AEC_AT_RAM 0 //AEC
#define AUDIO_CVP_NLP_AT_RAM 0 //NLP
#define AUDIO_CVP_NS_AT_RAM 0 //ANS/下行降噪
#define AUDIO_CVP_COMMON_AT_RAM 0 //COMMON
#define AUDIO_CVP_DNS_AT_RAM 0 //DNS
#define AUDIO_CVP_AGC_AT_RAM 0 //AGC
#define AUDIO_CVP_DMS_AT_RAM 0 //双MIC DMS
#define AUDIO_CVP_SMS_AT_RAM 0 //单MIC SMS_TDE
#define AUDIO_CVP_PREP_AT_RAM 0 //COMMON 预处理
#define AUDIO_CVP_WN_AT_RAM 0 //抗风噪
#define AUDIO_CVP_THIRD_AT_RAM 0 //3MIC
#define AUDIO_ENCODER_AT_RAM 0 //MSBC/CVSD 解码
#define AUD_AAC_DEC_AT_RAM 0 //AAC解码
#define AUD_SBC_DEC_AT_RAM 0
#define AUD_MSBC_CODEC_AT_RAM 0
//**************************************
// 模块使能控制
//**************************************
#define AUD_PDM_LINK_ENABLE 0
//***************End********************
#define AUDIO_ADC_IRQ_POINTS 256
#if TCFG_BT_VOL_SYNC_ENABLE
#define TCFG_MAX_VOL_PROMPT 0
#else
#define TCFG_MAX_VOL_PROMPT 1
#endif
/*
*br36 支持24bit位宽输出
* */
#define TCFG_AUDIO_DAC_24BIT_MODE 0
#define AUDIO_DAC_MAX_SAMPLE_RATE 48000
/*
*该配置适用于没有音量按键的产品,防止打开音量同步之后
*连接支持音量同步的设备,将音量调小过后,连接不支持音
*量同步的设备,音量没有恢复,导致音量小的问题
*默认是没有音量同步的,将音量设置到最大值,可以在vol_sync.c
*该宏里面修改相应的设置。
*/
#define TCFG_VOL_RESET_WHEN_NO_SUPPORT_VOL_SYNC 0 //不支持音量同步的设备默认最大音量
#define TCFG_1T2_VOL_RESUME_WHEN_NO_SUPPORT_VOL_SYNC 0 //1T2不支持音量同步的设备则恢复上次设置的音量值
/*省电容mic模块使能*//*省电容mic模块使能*/
#if (TCFG_ADC0_ENABLE && (TCFG_ADC0_MODE == 2))
#define TCFG_SUPPORT_MIC_CAPLESS 1
#else
#define TCFG_SUPPORT_MIC_CAPLESS 0
#endif
/*省电容mic校准方式选择*/
#define MC_BIAS_ADJUST_DISABLE 0 //省电容mic偏置校准关闭
#define MC_BIAS_ADJUST_ONE 1 //省电容mic偏置只校准一次(跟dac trim一样)
#define MC_BIAS_ADJUST_POWER_ON 2 //省电容mic偏置每次上电复位都校准(Power_On_Reset)
#define MC_BIAS_ADJUST_ALWAYS 3 //省电容mic偏置每次开机都校准(包括上电复位和其他复位)
/*
*省电容mic偏置电压自动调整(因为校准需要时间,所以有不同的方式)
*1、烧完程序(完全更新,包括配置区)开机校准一次
*2、上电复位的时候都校准,即断电重新上电就会校准是否有偏差(默认)
*3、每次开机都校准,不管有没有断过电,即校准流程每次都跑
*/
#if TCFG_SUPPORT_MIC_CAPLESS
#define TCFG_MC_BIAS_AUTO_ADJUST MC_BIAS_ADJUST_ONE
#else
#define TCFG_MC_BIAS_AUTO_ADJUST MC_BIAS_ADJUST_DISABLE
#endif/*TCFG_SUPPORT_MIC_CAPLESS*/
#define TCFG_MC_CONVERGE_PRE 0 //省电容mic预收敛
#define TCFG_MC_CONVERGE_TRACE 0 //省电容mic收敛值跟踪
/*
*省电容mic收敛步进限制
*0:自适应步进调整, >0:收敛步进最大值
*注:当mic的模拟增益或者数字增益很大的时候,mic_capless模式收敛过程,
*变化的电压放大后,可能会听到哒哒声,这个时候就可以限制住这个收敛步进
*让收敛平缓进行(前提是预收敛成功的情况下)
*/
#define TCFG_MC_DTB_STEP_LIMIT 3 //最大收敛步进值
/*
*省电容mic使用固定收敛值
*可以用来测试默认偏置是否合理:设置固定收敛值7000左右,让mic的偏置维持在1.5v左右即为合理
*正常使用应该设置为0,让程序动态收敛
*/
#define TCFG_MC_DTB_FIXED 0
#define TCFG_ESCO_PLC 1 //通话丢包修复(1T2已修改为节点)
#define TCFG_AEC_ENABLE 1 //通话回音消除使能
#define MAX_ANA_VOL (3) // 系统最大模拟音量,范围: 0 ~ 3
//#define MAX_COM_VOL (16) // 数值应该大于等于16,具体数值应小于联合音量等级的数组大小 (combined_vol_list)
//#define MAX_DIG_VOL (16) // 数值应该大于等于16,因为手机是16级,如果小于16会导致某些情况手机改了音量等级但是小机音量没有变化
/*#if (SYS_VOL_TYPE == VOL_TYPE_DIGITAL)
#define SYS_MAX_VOL 16
#define SYS_DEFAULT_VOL 16
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_DIGITAL_HW)
#define SYS_MAX_VOL MAX_DIG_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_ANALOG)
#define SYS_MAX_VOL MAX_ANA_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_AD)
#define SYS_MAX_VOL MAX_COM_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 14
#define SYS_DEFAULT_SIN_VOL 8
#else
#error "SYS_VOL_TYPE define error"
#endif*/
/*数字音量最大值定义*/
#define DEFAULT_DIGITAL_VOLUME 16384
#define IDLE_DEFAULT_MAX_VOLUME 16 //音量调节IDLE 状态的最大音量
#if TCFG_AUDIO_ANC_ENABLE
#define ANC_MODE_DIG_VOL_LIMIT (0.0f)
#endif/*TCFG_AUDIO_ANC_ENABLE*/
#define BT_MUSIC_VOL_LEAVE_MAX 16 /*高级音频音量等级*/
#define BT_CALL_VOL_LEAVE_MAX 15 /*通话音量等级*/
// #define BT_CALL_VOL_STEP (-2.0f) [>通话音量等级衰减步进<]
/*
*audio state define
*/
#define APP_AUDIO_STATE_IDLE 0
#define APP_AUDIO_STATE_MUSIC 1
#define APP_AUDIO_STATE_CALL 2
#define APP_AUDIO_STATE_WTONE 3
#define APP_AUDIO_CURRENT_STATE 4
#define TONE_BGM_FADEOUT 0 //播叠加提示音时是否将背景音淡出
#define VOL_TAB_CUSTOM_EN 1 //使能音量表功能
#define TCFG_AUDIO_MIC_DUT_ENABLE 0 //麦克风测试和传递函数测试
//**************************************
// EFFECT配置
//**************************************
#define AUDIO_EFFECTS_REVERB_AT_RAM 0
#define AUDIO_EFFECTS_ECHO_AT_RAM 0
#define AUDIO_EFFECTS_EQ_AT_RAM 0
#define AUDIO_EFFECTS_DRC_AT_RAM 0
#define AUDIO_EFFECTS_AFC_AT_RAM 0
#define AUDIO_EFFECTS_NOISEGATE_AT_RAM 0
#define AUDIO_EFFECTS_GAIN_AT_RAM 0
#define AUDIO_EFFECTS_DYNAMIC_EQ_AT_RAM 0
#define AUDIO_EFFECTS_MIC_EFFECT_AT_RAM 0
#define AUDIO_EFFECTS_MIC_STREAM_AT_RAM 0
#define AUDIO_EFFECTS_DEBUG_AT_RAM 0
#define AUDIO_EFFECTS_VBASS_AT_RAM 0
#define AUDIO_EFFECTS_SURROUND_AT_RAM 0
#define TCFG_CODE_RUN_RAM_FM_MODE 0
//**************************************
// 音效模块使能配置
//**************************************
//limiter运行模式使能控制,支持多种位宽时使用或配置
#define AUDIO_LIMITER_RUN_MODE (EFx_BW_32t16 | LIMITER_PRECISION_MAX)
#endif/*_AUDIO_CONFIG_DEF_H_*/