(K歌音箱)各SDK音效配置相关说明
📎 原始文档:https://www.kdocs.cn/l/cdGqLhbgNF9V (K歌音箱)各SDK音效配置相关说明
SDK(在线调试)
701N:
701N系列PB1为ADKEY脚。
【金山文档】 jl701n_soundbox_release_v1.4.1_在线音效调试
jl701n_soundbox_release_v1.4.1_在线音效调试.zip
【金山文档】 jl701n_soundbox_release_v1.4.1_在线音效调试_广播_16bit
(双击0欧姆电阻按键触发广播)
jl701n_soundbox_release_v1.4.1_在线音效调试_广播_16bit.zip
【金山文档】 jl701n_soundbox_release_v1.4.1_在线音效调试_TWS_24bit
jl701n_soundbox_release_v1.4.1_在线音效调试_TWS_24bit.zip
【金山文档】 jl701n_soundbox_release_v1.4.2_在线音效调试_24bit
jl701n_soundbox_release_v1.4.2_在线音效调试_24bit.zip
695N:
【金山文档】 sdk版本:AC695N_soundbox_sdk_release_3.1.0在线音效调试
sdk版本:AC695N_soundbox_sdk_release_3.1.0在线音效调试.zip
696N:
【金山文档】 sdk版本:ac696n_soundbox_sdk_v1.7.0_在线音效调试
sdk版本:ac696n_soundbox_sdk_v1.7.0_在线音效调试.zip
EQ-BIN文件:
1、701
24bit:
16bit:
2、695
3、696
一、DSP部分:
1、jl701n_soundbox_release_v1.4.1
在线online调试:
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\board\br28\board_config.h
该文件查看最终的板级配置是哪个。
#define TCFG_EFFECT_TOOL_ENABLE 1//DISABLE //是否支持在线音效调试,使能该项还需使能EQ总使能TCFG_EQ_ENABL,
DAC输出配置:
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\board\br28\board_config.h
该文件查看最终的板级配置是哪个。
DAC硬件连接方式以及模式选择:
//定义连接方式
/*
DAC硬件上的连接方式,可选的配置:
DAC_OUTPUT_MONO_L 左声道
DAC_OUTPUT_MONO_R 右声道
DAC_OUTPUT_LR 立体声
DAC_OUTPUT_MONO_LR_DIFF 左右差分
TCFG_AUDIO_DAC_CONNECT_MODE 决定方案需要使用多少个DAC声道
TCFG_AUDIO_DAC_MODE 决定DAC是差分输出模式还是单端输出模式
TCFG_AUDIO_DAC_CONNECT_MODE和TCFG_AUDIO_DAC_MODE不同配置组合实际使用引脚见下表:
+--------------------+-------------------+-------------------+----------------------------+-------------------------+
| | DAC_OUTPUT_MONO_L | DAC_OUTPUT_MONO_R | DAC_OUTPUT_LR | DAC_OUTPUT_MONO_LR_DIFF |
+--------------------+-------------------+-------------------+----------------------------+-------------------------+
| DAC_MODE_L_DIFF | 单声道 LP-LN | 单声道 RP-RN | 立声道 L:LP-LN R:RP-RN | 不支持 |
| DAC_MODE_L_SINGLE | 单声道 LP-AGND | 单声道 RP-AGND | 立声道 L:LP-AGND R:RP-AGND | 单声道 LP-RP |
| DAC_MODE_H1_DIFF | 单声道 LP-LN | 单声道 RP-RN | 立声道 L:LP-LN R:RP-RN | 不支持 |
| DAC_MODE_H1_SINGLE | 单声道 LP-AGND | 单声道 RP-AGND | 立声道 L:LP-AGND R:RP-AGND | 单声道 LP-RP |
| DAC_MODE_H2_DIFF | 单声道 LP-LN | 单声道 RP-RN | 立声道 L:LP-LN R:RP-RN | 不支持 |
| DAC_MODE_H2_SINGLE | 单声道 LP-AGND | 单声道 RP-AGND | 立声道 L:LP-AGND R:RP-AGND | 单声道 LP-RP |
+--------------------+-------------------+-------------------+----------------------------+-------------------------+
*/
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_MONO_L
//定义DAC输出模式
/*
DAC模式选择
#define DAC_MODE_L_DIFF (0) // 低压差分模式 , 适用于低功率差分耳机 , 输出幅度 0~2Vpp
#define DAC_MODE_L_SINGLE (1) // 低压单端模式 , 主要用于左右差分模式 , 差分输出幅度 0~2Vpp
#define DAC_MODE_H1_DIFF (2) // 高压1档差分模式, 适用于高功率差分耳机 , 输出幅度 0~3Vpp , VDDIO >= 3.0V
#define DAC_MODE_H1_SINGLE (3) // 高压1档单端模式, 适用于高功率单端PA音箱, 输出幅度 0~1.5Vpp, VDDIO >= 3.0V
#define DAC_MODE_H2_DIFF (4) // 高压2档差分模式, 适用于高功率差分PA音箱, 输出幅度 0~5Vpp , VDDIO >= 3.3V
#define DAC_MODE_H2_SINGLE (5) // 高压2档单端模式, 适用于高功率单端PA音箱, 输出幅度 0~2.5Vpp, VDDIO >= 3.3V
*/
#define TCFG_AUDIO_DAC_MODE DAC_MODE_H2_SINGLE
//输出位宽选择
/*
*DAC 位宽(bit width)配置
*16bit:DAC_16BIT_MODE
*24bit:DAC_24BIT_MODE
* */
#define TCFG_AUDIO_DAC_BIT_WIDTH DAC_24BIT_MODE
音乐解码--音效模块开关
注:每个音效模块都附带一个ID号,该ID唯一,以下每个音效模块的括号数字表明是ID号
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\board\br28\board_config.h
,最后要看选择了什么板级配置。
musicEQ(0X2001):
根据不同的解码类型需要开启对应的EQ,例如开启BT EQ需要开启
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_BT_MUSIC_EQ_ENABLE 1 //支持蓝牙音乐EQ
开启linein EQ需要开启,以次类推
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
Gain(0x2035)、Virtual Bass(0x2034):
这两个音效绑定在一起
/*音效配置-虚拟低音(AudioEffects-VBass)*/
#define AUDIO_VBASS_CONFIG 1 //虚拟低音,虚拟低音不支持四声道
CrossOver(0x2014)、LowDRC(0x2002)、MidDRC(0x2011)、HightDRC(x02012)、wholeDRC(0X2013)
分为多带和全带DRC。
根据不同的解码类型需要开启对应的DRC,例如开启BT DRC需要开启。以此类推。
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效1:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 1 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效2:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效3:
配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
musicEQ2(0X2041)

#define MUSIC_EXT_EQ_AFTER_DRC 1 //drc后的eq
BT解码码率设置:
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\task_manager\bt\bt.c
注:SBC最高码率是53,AAC最高码率是320 K
修改接口
__set_sbc_cap_bitpool(53);
__set_aac_bitrate(320 * 1000);
音乐解码---音量类型选择
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\board\br28\board_config.h
,最后要看选择了什么板级配置。
/*
*系统音量类型选择
*软件数字音量是指纯软件对声音进行运算后得到的
*硬件数字音量是指dac内部数字模块对声音进行运算后输出
*选择软件数字音量或者软件数字音量会固定模拟音量,
*固定的模拟音量值由 MAX_ANA_VOL 决定
*/
#define VOL_TYPE_DIGITAL 0 //软件数字音量
#define VOL_TYPE_AD 2 //联合音量(模拟数字混合调节 暂不支持)
#define VOL_TYPE_DIGITAL_HW 3 //硬件数字音量
#define VOL_TYPE_DIGGROUP 4 //独立通道软件数字音量
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
//每个解码通道都开启数字音量管理,音量类型为VOL_TYPE_DIGGROUP时要使能
#define SYS_DIGVOL_GROUP_EN ENABLE
#if (SYS_VOL_TYPE == VOL_TYPE_DIGGROUP)
#undef SYS_DIGVOL_GROUP_EN
#define SYS_DIGVOL_GROUP_EN ENABLE
#endif
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
话筒解码--音效模块开关:
文件路径1:
jl701n_soundbox_release_v1.4.1\sdk\apps\soundbox\board\br28\board_config.h
,最后要看选择了什么板级配置。
//*********************************************************************************//
// 混响配置 //
//*********************************************************************************//
#define TCFG_MIC_EFFECT_ENABLE 1//DISABLE_THIS_MOUDLE
#define TCFG_MIC_EFFECT_START_DIR DISABLE//开机直接启动混响
//广播mic 音效选择
#define WIRELESS_MIC_EFFECT_ENABLE DISABLE_THIS_MOUDLE
#define WIRELESS_MASTER_MIC_EFFECT_ENABLE DISABLE //主机发送前做mic音效
#define WIRELESS_SLAVE_MIC_EFFECT_ENABLE DISABLE //从机收到数据做mic音效
//混响效果配置
#define MIC_EFFECT_REVERB 1 //混响
#define MIC_EFFECT_ECHO 2 //回声
#define MIC_EFFECT_REVERB_ECHO 3 //混响+回声
#define MIC_EFFECT_MEGAPHONE 4 //扩音器/大声公
#define MIC_EFFECT_REVERB_ECHO_ADVANCE 0xb//混响+回声+混响尾部多带drc处理
#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO_ADVANCE
//使用MIC_EFFECT_REVERB_ECHO时,是否使能尾部多带DRC
#define TCFG_MIC_EFFECT_MDRC 0
#if (TCFG_MIC_EFFECT_SEL != MIC_EFFECT_REVERB_ECHO)
#undef TCFG_MIC_EFFECT_MDRC
#define TCFG_MIC_EFFECT_MDRC 0
#endif
//混响降噪使能配置,目前的版本需要根据采样率更改中断点数
#define MIC_EFFECT_LLNS 0 //ENABLE
//MIC变声模块使能配置
#define TCFG_MIC_VOICE_CHANGER_ENABLE DISABLE
#define TCFG_MIC_AUTOTUNE_ENABLE DISABLE//电音模块使能
#define TCFG_MIC_BASS_AND_TREBLE_ENABLE DISABLE//混响高低音
#define TCFG_MIC_HARMONIC_EXCITER_ENABLE DISABLE//谐波激励器
选择#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO_ADVANCE
是最全的音效的配置
文件路径2:
jl701n_soundbox_release_v1.4.1\sdk\cpu\br28\audio_mic\effect_reg.c
NoiseGate16(0x1014):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_NOISEGATE) \
micEQ0(0x1001):

默认打开
micDRC0(0x1006):

默认打开
Frequency Shift(0x1015):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING) \
Howling Suppress(0x1016):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING_TRAP) \
VoiceChanger(0x1017):

//MIC变声模块使能配置
#define TCFG_MIC_VOICE_CHANGER_ENABLE ENABLE
PlateReverb(0x100c)、Echo(0x100e):


#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO_ADVANCE
micEQ1(0x1002)、DRC1(0x1007)、micEQ2(0x1003)、DRC2(0x1008)、micEQ3(0x1004)、DRC3(0x1009):
默认打开
CrossOver(0x3000)、LowDRC(0x3001)、midDRC(0x3002)、highDRC(0x3003)、wholeDRC(0x3004):
默认打开
micEQ4(0x1005):
默认打开
eq_cfg_hw.bin注意事项:
eq_cfg_hw.bin文件的拷贝流程
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\cpu\br28\tools\download.c
实际拷贝哪个音效文件下载到芯片,需要靠该C文件的判断。一般选择MIC_EFFECT_REVERB_ECHO_ADVANCE后选择 mic_effect_full_advance.bin文件
eq_cfg_hw.bin 话筒音效个数注意
默认的音效数量是5个,若发现话筒音效数量超过5个,则会出现死机问题。
修改方式如下:
文件路径:
jl701n_soundbox_release_v1.4.1\sdk\cpu\br28\audio_effect\audio_eff_default_parm.h
增加枚举的数量,使得EFFECT_REVERB_PARM_MAX 数值增大。需要大于等于话筒音效数量
话筒ADC模拟增益设置:
路径:
audio_mic\effect_reg.c
SDK版本在jl701n_soundbox_release_v1.4.1以上,MIC增益等级会被eq_cfg_hw.bin设置的增益等级覆盖。低于该SDK版本则不会。
2、AC695N_soundbox_sdk_release_3.1.0
默认音量等级配置:
文件路径:
cpu\br23\audio_config.h

#define SYS_DEFAULT_VOL SYS_MAX_VOL//(SYS_MAX_VOL/2)
在线online调试:
文件路径:
apps\soundbox\board\br23\board_config.h
该文件查看最终的板级配置是哪个。
#define TCFG_EFFECT_TOOL_ENABLE 1//DISABLE //是否支持在线音效调试,使能该项还需使能EQ总使能TCFG_EQ_ENABL,
DAC输出配置:
文件路径:
apps\soundbox\board\br23\board_ac695x_demo\board_ac695x_demo_cfg.h
DAC硬件连接方式以及模式选择:
//定义连接方式
/*
DAC硬件上的连接方式,可选的配置:
DAC_OUTPUT_MONO_L 左声道
DAC_OUTPUT_MONO_R 右声道
DAC_OUTPUT_LR 立体声
DAC_OUTPUT_MONO_LR_DIFF 单声道差分输出
DAC_OUTPUT_FRONT_LR_REAR_LR 四声道输出
*/
//#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_FRONT_LR_REAR_LR
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_LR
// #define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_MONO_LR_DIFF
//定义DAC输出峰峰值电压
#define TCFG_AUDIO_DAC_LDO_VOLT DACVDD_LDO_2_90V
音乐解码--音效模块开关
注:每个音效模块都附带一个ID号,该ID唯一,以下每个音效模块的括号数字表明是ID号
文件路径:
apps\soundbox\board\br23\board_ac695x_demo\board_ac695x_demo_cfg.h
musicEQ(0X2001):
根据不同的解码类型需要开启对应的EQ,例如开启BT EQ需要开启
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_BT_MUSIC_EQ_ENABLE 1 //支持蓝牙音乐EQ
开启linein EQ需要开启,以次类推
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
Gain(0x2035)、Virtual Bass(0x2034):
这两个音效绑定在一起
/*音效配置-虚拟低音(AudioEffects-VBass)*/
#define AUDIO_VBASS_CONFIG 1 //虚拟低音,虚拟低音不支持四声道
注:
默认SDK没有相对应的可以调节虚拟低音的eq_cfg_hw.bin文件,如需要在线调试虚拟低音模块可以下载以下链接文件,替换到对应的bin文件中,需要注意download.c的copy动作。
【金山文档】 mic_effect_full_advance
mic_effect_full_advance.rar
CrossOver(0x2014)、LowDRC(0x2002)、MidDRC(0x2011)、HightDRC(x02012)、wholeDRC(0X2013)
分为多带和全带DRC。
根据不同的解码类型需要开启对应的DRC,例如开启BT DRC需要开启。以此类推。
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效1:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 1 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效2:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效3:
配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
musicEQ2(0X2041)
695N没有该音效。
BT解码码率设置:
文件路径:
sdk\apps\soundbox\task_manager\bt\bt.c
注:SBC最高码率是53,AAC最高码率是320 K
修改接口
__set_sbc_cap_bitpool(53);
__set_aac_bitrate(320 * 1000);
注:默认SDK,SBC码率最高,AAC码率最高。
如需要修改,在void bt_function_select_init()调用以上接口。
音乐解码---音量类型选择
文件路径:
apps\soundbox\board\br23\board_ac695x_demo\board_ac695x_demo_cfg.h
/*
*系统音量类型选择
*软件数字音量是指纯软件对声音进行运算后得到的
*硬件数字音量是指dac内部数字模块对声音进行运算后输出
*选择软件数字音量或者软件数字音量会固定模拟音量,
*固定的模拟音量值由 MAX_ANA_VOL 决定
*/
#define VOL_TYPE_DIGITAL 0 //软件数字音量
#define VOL_TYPE_AD 2 //联合音量(模拟数字混合调节 暂不支持)
#define VOL_TYPE_DIGITAL_HW 3 //硬件数字音量
#define VOL_TYPE_DIGGROUP 4 //独立通道软件数字音量
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
//每个解码通道都开启数字音量管理,音量类型为VOL_TYPE_DIGGROUP时要使能
#define SYS_DIGVOL_GROUP_EN ENABLE
#if (SYS_VOL_TYPE == VOL_TYPE_DIGGROUP)
#undef SYS_DIGVOL_GROUP_EN
#define SYS_DIGVOL_GROUP_EN ENABLE
#endif
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
话筒解码--音效模块开关:
文件路径1:
AC695N_soundbox_sdk_release_3.1.0\SDK\apps\soundbox\board\br23\board_config.h
,最后要看选择了什么板级配置。
//*********************************************************************************//
// 混响配置 //
//*********************************************************************************//
#define TCFG_MIC_EFFECT_ENABLE 0//DISABLE
#define TCFG_MIC_EFFECT_START_DIR 0//开机直接启动混响
#define MIC_EFFECT_REVERB 1//BIT(0)
#define MIC_EFFECT_ECHO 2//BIT(1)
#define MIC_EFFECT_REVERB_ECHO 3//(BIT(1)|BIT(0))
#define MIC_EFFECT_MEGAPHONE 4//BIT(2)
// #define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB
#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_ECHO
#define TCFG_MIC_VOICE_CHANGER_ENABLE DISABLE //变声模块使能
选择#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO
是最全的音效的配置
文件路径2:
AC695N_soundbox_sdk_release_3.1.0\SDK\cpu\br23\audio_mic\effect_reg.c
NoiseGate16(0x1014):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_NOISEGATE) \
micEQ0(0x1001):

默认打开
micDRC0(0x1006):

默认打开
Frequency Shift(0x1015):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING) \
Howling Suppress(0x1016):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING_TRAP) \
VoiceChanger(0x1017):

//MIC变声模块使能配置
#define TCFG_MIC_VOICE_CHANGER_ENABLE ENABLE
PlateReverb(0x100c)、Echo(0x100e):


#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO
eq_cfg_hw.bin注意事项:
eq_cfg_hw.bin文件的拷贝流程
文件路径:
AC695N_soundbox_sdk_release_3.1.0\SDK\cpu\br23\tools\download.c
实际拷贝哪个音效文件下载到芯片,需要靠该C文件的判断。一般选择MIC_EFFECT_REVERB_ECHO后选择 mic_effect_full.bin文件
eq_cfg_hw.bin 话筒音效个数注意
默认的音效数量是5个,若发现话筒音效数量超过5个,则会出现死机问题。
修改方式如下:
文件路径:
AC695N_soundbox_sdk_release_3.1.0\SDK\cpu\br23\audio_effect\audio_eff_default_parm.h
增加枚举的数量,使得EFFECT_REVERB_PARM_MAX 数值增大。需要大于等于话筒音效数量
话筒ADC模拟增益设置:
路径:
audio_mic\effect_reg.c
3、AC696n_soundbox_sdk_v1.7.0
默认音量等级配置:
文件路径:
cpu\br25\audio_config.h

#define SYS_DEFAULT_VOL SYS_MAX_VOL//(SYS_MAX_VOL/2)
在线online调试:
文件路径:
apps\soundbox\board\br25\board_config.h
该文件查看最终的板级配置是哪个。
#define TCFG_EFFECT_TOOL_ENABLE 1//DISABLE //是否支持在线音效调试,使能该项还需使能EQ总使能TCFG_EQ_ENABL,
DAC输出配置:
文件路径:
apps\soundbox\board\br25\board_ac696x_demo\board_ac696x_demo_cfg.h
DAC硬件连接方式以及模式选择:
//定义连接方式
/*
DAC硬件上的连接方式,可选的配置:
DAC_OUTPUT_MONO_L 左声道
DAC_OUTPUT_MONO_R 右声道
DAC_OUTPUT_LR 立体声
DAC_OUTPUT_MONO_LR_DIFF 单声道差分输出
*/
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_LR
//定义DAC输出峰峰值电压
#define TCFG_AUDIO_DAC_LDO_VOLT DACVDD_LDO_2_90V
音乐解码--音效模块开关
注:每个音效模块都附带一个ID号,该ID唯一,以下每个音效模块的括号数字表明是ID号
文件路径:
apps\soundbox\board\br25\board_ac696x_demo\board_ac696x_demo_cfg.h
musicEQ(0X2001):
根据不同的解码类型需要开启对应的EQ,例如开启BT EQ需要开启
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_BT_MUSIC_EQ_ENABLE 1 //支持蓝牙音乐EQ
开启linein EQ需要开启,以次类推
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
#define TCFG_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
Gain(0x2035)、Virtual Bass(0x2034):
这两个音效绑定在一起
/*音效配置-虚拟低音(AudioEffects-VBass)*/
#define AUDIO_VBASS_CONFIG 1 //虚拟低音,虚拟低音不支持四声道
注:
默认SDK没有相对应的可以调节虚拟低音的eq_cfg_hw.bin文件,如需要在线调试虚拟低音模块可以下载以下链接文件,替换到对应的bin文件中,需要注意download.c的copy动作。
【金山文档】 mic_effect_full_advance
mic_effect_full_advance.rar
CrossOver(0x2014)、LowDRC(0x2002)、MidDRC(0x2011)、HightDRC(x02012)、wholeDRC(0X2013)
分为多带和全带DRC。
根据不同的解码类型需要开启对应的DRC,例如开启BT DRC需要开启。以此类推。
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效1:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 1 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效2:

配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
音效3:
配置如下:
#define TCFG_DRC_ENABLE 1 //DRC 总使能
#define TCFG_AUDIO_MDRC_ENABLE 2 //多带DRC使能 0:关闭多带DRC, 1:使能多带DRC 2:使能多带DRC 并且 多带DRC后再做一次全带的drc
#define TCFG_BT_MUSIC_DRC_ENABLE 1 //支持蓝牙音乐DRC
musicEQ2(0X2041)
695N没有该音效。
BT解码码率设置:
文件路径:
sdk\apps\soundbox\task_manager\bt\bt.c
注:SBC最高码率是53,AAC最高码率是320 K
修改接口
__set_sbc_cap_bitpool(53);
__set_aac_bitrate(320 * 1000);
注:默认SDK,SBC码率最高,AAC码率最高。
如需要修改,在void bt_function_select_init()调用以上接口。
音乐解码---音量类型选择
文件路径:
apps\soundbox\board\br25\board_ac696x_demo\board_ac696x_demo_cfg.h
/*
*系统音量类型选择
*软件数字音量是指纯软件对声音进行运算后得到的
*硬件数字音量是指dac内部数字模块对声音进行运算后输出
*选择软件数字音量或者软件数字音量会固定模拟音量,
*固定的模拟音量值由 MAX_ANA_VOL 决定
*/
#define VOL_TYPE_DIGITAL 0 //软件数字音量
#define VOL_TYPE_AD 2 //联合音量(模拟数字混合调节 暂不支持)
#define VOL_TYPE_DIGITAL_HW 3 //硬件数字音量
#define VOL_TYPE_DIGGROUP 4 //独立通道软件数字音量
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
//每个解码通道都开启数字音量管理,音量类型为VOL_TYPE_DIGGROUP时要使能
#define SYS_DIGVOL_GROUP_EN ENABLE
#if (SYS_VOL_TYPE == VOL_TYPE_DIGGROUP)
#undef SYS_DIGVOL_GROUP_EN
#define SYS_DIGVOL_GROUP_EN ENABLE
#endif
#define SYS_VOL_TYPE VOL_TYPE_DIGGROUP // VOL_TYPE_DIGITAL_HW
话筒解码--音效模块开关:
文件路径1:
apps\soundbox\board\br25\board_ac696x_demo\board_ac696x_demo_cfg.h
//*********************************************************************************//
// 混响配置 //
//*********************************************************************************//
#define TCFG_MIC_EFFECT_ENABLE 1//DISABLE
#define TCFG_MIC_EFFECT_START_DIR 1//开机直接启动混响
#define MIC_EFFECT_REVERB 1//混响
#define MIC_EFFECT_ECHO 2//回声
#define MIC_EFFECT_REVERB_ECHO 3//混响+回声
#define MIC_EFFECT_MEGAPHONE 4//大声公
// #define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB
#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_ECHO
#define CALLING_MIC_EFFECT_DISABLE DISABLE //通话过程中是否关闭混响 1关闭 0不关闭;//置1后会使用默认TCFG_AEC_ENABLE设置
#define TCFG_MIC_VOICE_CHANGER_ENABLE 1//DISABLE //变声模块使能
#define TCFG_MIC_AUTOTUNE_ENABLE DISABLE//电音模块使能
#define TCFG_MIC_TUNNING_EQ_ENABLE DISABLE//混响高低音使能
选择#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_ECHO
696N系列RAM空间不足,不支持ECHO+REVERB叠加。
文件路径2:
cpu\br25\audio_mic\effect_reg.c
NoiseGate16(0x1014):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_NOISEGATE) \
micEQ0(0x1001):

默认打开
micDRC0(0x1006):

默认打开
Frequency Shift(0x1015):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING) \
Howling Suppress(0x1016):

#define MIC_EFFECT_CONFIG 0 \
| BIT(MIC_EFFECT_CONFIG_HOWLING_TRAP) \
VoiceChanger(0x1017):

//MIC变声模块使能配置
#define TCFG_MIC_VOICE_CHANGER_ENABLE ENABLE
PlateReverb(0x100c)、Echo(0x100e):


#define TCFG_MIC_EFFECT_SEL MIC_EFFECT_REVERB_ECHO
eq_cfg_hw.bin注意事项:
eq_cfg_hw.bin文件的拷贝流程
文件路径:
cpu\br25\tools\download.c
实际拷贝哪个音效文件下载到芯片,需要靠该C文件的判断。一般选择MIC_EFFECT_REVERB_ECHO后选择 mic_effect_full.bin文件
eq_cfg_hw.bin 话筒音效个数注意
默认的音效数量是5个,若发现话筒音效数量超过5个,则会出现死机问题。
修改方式如下:
文件路径:
cpu\br25\audio_effect\audio_eff_default_parm.h
增加枚举的数量,使得EFFECT_REVERB_PARM_MAX 数值增大。需要大于等于话筒音效数量
话筒ADC模拟增益设置:
路径:
audio_mic\effect_reg.c
二、无线麦部分:(以常用的几个最新版的SDK包做说明)
1、697N系列
(1T1)wireless_mic_sdk-v1.3.1_1t1_patch1
TX端:
(1)MIC单端和差分配置
单端:
差分:
(2)MIC的增益

(3)MIC做加减音量调节数字音量
参考以下方式实现:
参考以下方式实现:
参考链接:无线麦相关应用.otl
(4)点亮LED连接指示灯
点灯的IO口按需更换IO口
默认连接上和断开连接的灯效配置在配置工具里面配置:
(5)MIC数据清零
以下接口位置增加清零代码:
RX端:
(1)DAC单端和差分配置
差分输出:
单端输出:
注意要是配置左声道/右声道输出,则需要增加以下注意修改,不然声音不正常。

#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_LR_DIFF)
.dec_output_type = AUDIO_CH_DIFF,
#elif (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_L)
.dec_output_type = AUDIO_CH_L,
#elif (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_R)
.dec_output_type = AUDIO_CH_R,
#else
.dec_output_type = AUDIO_CH_LR,
#endif
(2)DAC的输出最大
默认就是最大的输出:
需要确定客户是否有修改音量配置:
默认最大就是15级
(2T1)wireless_mic_sdk-v1.4.4_2t1
TX端:
(1)MIC单端和差分配置
单端:
差分:
(2)MIC的增益(0-19级)

(3)MIC做加减音量调节数字音量
参考以下方式实现:
参考链接:无线麦相关应用.otl
(4)点亮LED连接指示灯
点灯的IO口按需更换IO口
默认连接上和断开连接的灯效配置在配置工具里面配置:
(5)MIC数据清零
以下接口位置增加清零代码:
RX端:
(1)DAC单端和差分配置
差分输出:
单端输出:
注意要是配置左声道/右声道输出,则需要增加以下注意修改,不然声音不正常。

#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_LR_DIFF)
.dec_output_type = AUDIO_CH_DIFF,
#elif (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_L)
.dec_output_type = AUDIO_CH_L,
#elif (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_MONO_R)
.dec_output_type = AUDIO_CH_R,
#else
.dec_output_type = AUDIO_CH_LR,
#endif
(2)DAC的输出最大
默认就是最大的输出:
需要确定客户是否有修改音量配置:
2、706N系列
(1T1)AC706N_wireless_mic_release_V1.0.1
TX端:
(1)MIC单端和差分配置
单端:
差分:
(2)MIC的增益 设置等级范围为(0 ~ 4 级, 超过4级后,全部都是4级增益效果)

- MIC的 供电方式选择配置

(4)MIC做加减音量调节数字音量
参考以下方式实现:
8.1 采用自行改变mic数据音量大小的办法
需要注意单双通道有差别,双通道时需要在单变双处理后,再增加数字音量处理
#define USER_DIGITAL_VOL_MAX 10
u8 user_dig_vol_step = USER_DIGITAL_VOL_MAX;
const u16 user_dig_vol_table[USER_DIGITAL_VOL_MAX + 1] = {
0 , //0
1347, //1
2751, //2
3930, //3
5616, //4
6713, //5
8025, //6
9592, //7
11466,//8
15200,//9
16384 //10
};
//单/双声道数字音量处理
// vol:0~16384(大于16384会把数据放大,有可能出现失真)
int user_audio_digital_vol_run(void *data, u32 len, u32 l_vol,u32 r_vol)
{
s32 valuetemp;
s16 *buf;
buf = data; //数据
len >>= 1; //byte to point //
for (u32 i = 0; i < len; i += 2) {
///left channel
valuetemp = buf[i];
if (valuetemp < 0) {
valuetemp = -valuetemp;
valuetemp = (valuetemp * l_vol) >> 14 ; //除以16384
valuetemp = -valuetemp;
} else {
valuetemp = (valuetemp * l_vol) >> 14 ;
}
if (valuetemp < -32768) {
valuetemp = -32768;
} else if (valuetemp > 32767) {
valuetemp = 32767;
}
buf[i] = (s16)valuetemp;
///right channel
valuetemp = buf[i + 1];
if (valuetemp < 0) {
valuetemp = -valuetemp;
valuetemp = (valuetemp * r_vol) >> 14 ;
valuetemp = -valuetemp;
} else {
valuetemp = (valuetemp * r_vol) >> 14 ;
}
if (valuetemp < -32768) {
valuetemp = -32768;
} else if (valuetemp > 32767) {
valuetemp = 32767;
}
buf[i + 1] = (s16)valuetemp;
}
return 0;
}
增加按键切换音量表:
case KEY_USER_SET_DIG_VOL_UP:
printf("KEY_USER_SET_DIG_VOL_UP\n");
user_dig_vol_step++;
if(user_dig_vol_step>=USER_DIGITAL_VOL_MAX){
user_dig_vol_step = USER_DIGITAL_VOL_MAX;
}
break;
case KEY_USER_SET_DIG_VOL_DOWN:
printf("KEY_USER_SET_DIG_VOL_UP\n");
if(user_dig_vol_step==0){
break;
}
user_dig_vol_step--;
break;
(4)点亮LED连接指示灯
点灯的IO口按需更换IO口
默认连接上和断开连接的灯效是没有配置好的,
可自行根据打印信息,使用 ui_update_status 接口在适当的位置增加相关UI ,详细自行查看接口的相关内容。

- MIC数据清零 ,主要是实现mute mic的功能 ,可以直接调用如下现成接口(接口实现也是将mic数据清零)


RX端:
- DAC单端和差分配置 (根据SDK自带DAC文件夹下的Wireless_mic_SDK_介绍.pdf相关内容配置 )

差分输出:
单端输出:
单声道输出:(左声道输出)
(2)DAC的输出最大
默认就是最大的输出:
需要确定客户是否有修改音量配置:
默认最大就是16级
设置音量的接口: