BES2500Y之多组EQ

本文介绍了一种通过按键操作实现不同预设等化器(EQ)设置切换的方法。具体展示了如何配置三组IIR滤波器参数来实现音频信号处理中的峰值滤波,并将这些配置应用于实际的代码中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景:通过按键操作实现多组EQ切换
一. \config\best2300a_ibrt_anc\tgt_hardware.c
#define EQ_SW_IIR_LIST_NUM 3
二. \config\best2300a_ibrt_anc\tgt_hardware.c
const IIR_CFG_T audio_eq_sw_iir_cfg0 = {
.gain0 = 0,
.gain1 = 0,
.num = 5,
.param = {
{IIR_TYPE_PEAK, .0, 200, 2},
{IIR_TYPE_PEAK, .0, 600, 2},
{IIR_TYPE_PEAK, .0, 2000.0, 2},
{IIR_TYPE_PEAK, .0, 6000.0, 2},
{IIR_TYPE_PEAK, .0, 12000.0, 2}
}
};
const IIR_CFG_T audio_eq_sw_iir_cfg1 = {
.gain0 = 0,
.gain1 = 0,
.num = 5,
.param = {
{IIR_TYPE_PEAK, .0, 200, 2},
{IIR_TYPE_PEAK, .0, 600, 2},
{IIR_TYPE_PEAK, .0, 2000.0, 2},
{IIR_TYPE_PEAK, .0, 6000.0, 2},
{IIR_TYPE_PEAK, .0, 12000.0, 2}
}
};
const IIR_CFG_T audio_eq_sw_iir_cfg2 = {
.gain0 = 0,
.gain1 = 0,
.num = 5,
.param = {
{IIR_TYPE_PEAK, .0, 200, 2},
{IIR_TYPE_PEAK, .0, 600, 2},
{IIR_TYPE_PEAK, .0, 2000.0, 2},
{IIR_TYPE_PEAK, .0, 6000.0, 2},
{IIR_TYPE_PEAK, .0, 12000.0, 2}
}
};

const IIR_CFG_T * const audio_eq_sw_iir_cfg_list[EQ_SW_IIR_LIST_NUM]={
&audio_eq_sw_iir_cfg0,
&audio_eq_sw_iir_cfg1,
&audio_eq_sw_iir_cfg2,
};

TOOLS_DIR=$(cd $(dirname $0); pwd) USB_AUDIO_FRAME_MS=1 FS_MMC_USB_ENABLE='USB_MSD_ENABLE=1 AOS_FS_ENABLE=1' CUSTOM_BOARD='' USB_CFG="USB_AUDIO_SEND_ENABLE=1 USB_AUDIO_SEND_ENABLE=1 USB_AUDIO_VENDOR_ID=0xbe57 USB_AUDIO_PRODUCT_ID=0x0201 " USB_HID_CFG="USB_HID_COMMAND_ENABLE=1 USB_AUDIO_HID_ENABLE=1" TOTA_CFG="TOTA_v2=1 TOTA_CROSS_CHIP_OTA=1 TOTA_CROSS_CHIP_OTA_ROLE_IS_DONGLE=1 OTA_OVER_TOTA_ENABLED=1" OTA_CFG="BES_OTA=1 USB_OTA_ENABLE=1 NEW_IMAGE_FLASH_OFFSET=0x220000 FLASH_REMAP=0 OTA_REBOOT_FLASH_REMAP=0 FREEMAN_OTA_ENABLE=1" for arg in $* do if [ $arg == "master" ];then BUILD_MASTER_1502P=1 fi if [ $arg == "slave" ];then BUILD_SLAVE_1502P=1 fi if [ $arg == "clean" ];then BUILD_CLEAN=1 fi if [ $arg == "all" ];then BUILD_MASTER_1502P=1 BUILD_SLAVE_1502P=1 fi if [ $arg == 'gen_lst' ];then GEN_LST='all lst' fi if [ $arg == 'gpio_test' ];then GPIO_TEST='ULL_AUDIO_GPIO_TEST=1' fi if [ $arg == 'aud_dump' ];then AUD_DUMP='AUDIO_DEBUG=1 OFFLOAD_AUDIO_DUMP=1 VOWLAN_AUDIO_DUMP_DOWNLOAD=1' fi if [ $arg == '96k' ];then SAMPLE_RATE='LEA_OFFLOAD_96K=1 SPEECH_TX_1MIC_NS_96K=0' fi if [ $arg == "evb_fs_emmc_enable" ];then FS_MMC_USB_CFG=$FS_MMC_USB_ENABLE' EVB_1502P_SDMMC_SUPPORT=1' fi if [ $arg == "rel_sdk" ];then USE_LIB=GEN_LIB=1 RELEASE_SDK=1 BUILD_MASTER_1502P=1 BUILD_SLAVE_1502P=1 BUILD_BES_OTA=1 fi if [ $arg == "is_sdk" ];then USE_LIB=FORCE_TO_USE_LIB=1 IS_SDK=1 fi if [ $arg == "custom" ];then FS_MMC_USB_CFG=$FS_MMC_USB_ENABLE CUSTOM_BOARD='IS_CUSTOMER_BOARD_1502P=1 BT_EXT_LNA_PA=1 BT_EXT_LNA=1 BT_EXT_PA=1 RXON_IOMUX_INDEX=6 TXON_IOMUX_INDEX=7 BT_RF_TEST_MODULE=1' fi done build_1502p_master_cmd="\ make -j64 T=best1502p_ibrt $GEN_LST $GPIO_TEST BT_NATIVE_SUPPORT=1 BLE=1 WIRELESS_MIC_RX_BLE=1 BT_SERVICE_ENABLE=0 AOB_MOBILE_ENABLED=1 LC3PLUS_SUPPORT=1 AOB_CODEC_CP=1 APP_WIRELESS_MIC=1 \ UTILS_ESHELL_BT_TEST=1 WIRELESS_MIC_RX=1 UTILS_ESHELL_EN=1 BLE_AUDIO_ENABLED=1 $USE_LIB BT_NO_SLEEP=1 CP_FLASH_ACCESS=1 FIVE_MS_FRAME_MODE=1 AUDIO_RESAMPLE=0 \ CODEC_BUFF_FRAME_NUM=$USB_AUDIO_FRAME_MS USB_BUFF_FRAME_NUM=2*$USB_AUDIO_FRAME_MS USB_AUDIO_FRAME_MS=$USB_AUDIO_FRAME_MS WIRELESS_MIC_RX_USB=1 \ LEA_ULL_ENABLE=1 GAF_MUSIC_PLC_ON=1 $AUD_DUMP $SAMPLE_RATE BLE_CONNECTION_MAX=2 LC3_HR_MODE=1 BT_RF_TEST_MODULE=1 WIRELESS_MIC_RX_I2S=1 AF_DEVICE_I2S=1 \ $USB_CFG $USB_HID_CFG $OTA_CFG $TOTA_CFG $CUSTOM_BOARD" build_1502p_slave_cmd="\ make -j64 T=best1502p_ibrt $GEN_LST $GPIO_TEST BT_NATIVE_SUPPORT=1 BLE=1 WIRELESS_MIC_TX_BLE=1 BT_SERVICE_ENABLE=0 AOB_MOBILE_ENABLED=1 LC3PLUS_SUPPORT=1 AOB_CODEC_CP=1 APP_WIRELESS_MIC=1 \ WIRELESS_MIC_TX=1 UTILS_ESHELL_BT_TEST=1 UTILS_ESHELL_EN=1 BLE_AUDIO_ENABLED=1 $USE_LIB BT_NO_SLEEP=1 CP_FLASH_ACCESS=1 FIVE_MS_FRAME_MODE=1 AUDIO_RESAMPLE=0 \ LEA_ULL_ENABLE=1 $FS_MMC_USB_CFG TX_ALGO_PROCESS=1 $SAMPLE_RATE $AUD_DUMP BLE_CONNECTION_MAX=2 LC3_HR_MODE=1 SLAVE_LIB=1 SPEECH_TX_1MIC_NS_48K=0 MIC_EMMC_DUMP_SUPPORT=1 BT_RF_TEST_MODULE=1\ $USB_CFG $USB_HID_CFG $OTA_CFG $TOTA_CFG $CUSTOM_BOARD" build_bes_ota_cmd="\ make T=prod_test/ota_copy CHIP=best1502p GEN_LIB=1 -j" for arg in $* do if [ $arg == "BT_RF_TEST=1" ];then build_1502p_master_cmd+="BT_RF_TEST_MODULE=1 " build_1502p_slave_cmd+="BT_RF_TEST_MODULE=1 " fi done if [[ $BUILD_MASTER_1502P == 1 ]] then $build_1502p_master_cmd 2>build_log_1502p_mas.txt if [[ $? == 0 ]] then echo $build_1502p_master_cmd echo "#######################################" echo "######## master build success! ########" echo "#######################################" else echo $build_1502p_master_cmd echo "#######################################" echo "######## master build failed! #########" echo "#######################################" exit fi fi if [[ $BUILD_SLAVE_1502P == 1 ]] then $build_1502p_slave_cmd 2>build_log_1502p_sla.txt if [[ $? == 0 ]] then echo $build_1502p_slave_cmd echo "#######################################" echo "######## slave build success! ########" echo "#######################################" else echo $build_1502p_slave_cmd echo "#######################################" echo "######## slave build failed! #########" echo "#######################################" exit fi fi if [[ $BUILD_BES_OTA == 1 ]] then $build_bes_ota_cmd if [[ $? == 0 ]] then echo $build_bes_ota_cmd echo "#######################################" echo "######### ota build success! ##########" echo "#######################################" else echo $build_bes_ota_cmd echo "#######################################" echo "######### ota build failed! ###########" echo "#######################################" exit fi fi if [[ $RELEASE_SDK == 1 ]] then release_cmd="$TOOLS_DIR/relsw_wireless_mic_1502p.sh" echo $release_cmd $release_cmd fi
最新发布
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值