• 络达开发----如何开启AGC功能


    芯片型号:AB1565

    功能模块:音频动态增益

    功能描述:AGC是一个动态增益自动调节的功能,它可以依据设定好的规则,对外部或者输入音源进行动态增益的调整,然后再把结果输出到speaker上。SDK v2.11.0默认是不开启AGC功能的。

    SDK中已经包含了支持AGC的库文件及部分源代码,其位置在:

    bta_sdk\dsp\middleware\MTK\dspalg\agc

    及相关库文件:

    bta_sdk\dsp\prebuilt\middleware\MTK\dspalg\agc

    其中源代码部分,包含了一些初始化等相关的接口函数,库文件则是实现AGC算法的相关控制。

    开户AGC,需要把agc源码目录下的module.mk添加到工程中。

    通过代码分析可以知道,AGC的开关是通过宏定义:MTK_VOICE_AGC_ENABLEMTK_BT_AGC_USE_PIC来实现的,通过其相关的readme.txt文件也可以得知该信息,其内容如下:

    1. Compander module usage guide
    2. Brief: This module is the AGC implementation.
    3. Usage: GCC: For AGC, make sure to include the following:
    4. 1) Add the following module.mk for libs and source file:
    5. include $(SOURCE_DIR)/middleware/MTK/dspalg/agc/module.mk
    6. 2) Module.mk provides different options to enable or disable according to the profiles.
    7. Please configure the related options on the specified XT-XCC/feature.mk.
    8. MTK_VOICE_AGC_ENABLE
    9. 3) Add the header file path:
    10. CFLAGS += -I$(SOURCE_DIR)/middleware/MTK/dspalg/agc/inc
    11. 4) Add FUNC_RX_WB_AGC (for hfp downlink) / FUNC_TX_AGC (for uplink)
    12. into the feature table in dsp_sdk.c to apply agc in the specified scenario, like stream_feature_list_hfp_downlink[], stream_feature_list_hfp_uplink[].
    13. Dependency: None
    14. Notice: 1) MTK_VOICE_AGC_ENABLE and MTK_BT_AGC_USE_PIC must be set as "y" on the specified XT-XCC/feature.mk.
    15. Relative doc: None
    16. Example project:None

    因此,把AGC功能添加到工程中并开户,需要如下几个步骤:

    • 在如下的路径中的文件feature_65_evb.mk里添加 宏定义:

    1. MTK_VOICE_AGC_ENABLE = y
    2. MTK_BT_AGC_USE_PIC = y

    当然,如果你使用的是1568的芯片,则需要在feature_68_evb.mk中添加上面内容。

    1. 文件路径:
    2. bta_sdk\dsp\project\ab1565_ab1568_evk\apps\dsp0_headset_ref_design\XT-XCC
    • 在上步骤路径中的Makefile中添加如下内容

            其目的是把agc目录中的module.mk添加到工程中。该mk文件会中会自动添加agc預编译好的库文件到工程中,即文件:pisplit_agc.o

    1. ifeq ($(MTK_VOICE_AGC_ENABLE),y)
    2. include $(ROOTDIR)/middleware/MTK/dspalg/agc/module.mk
    3. Endif
    • 完成上述步骤后,删除之前编译生成的文件,然后重新编译即可。

  • 相关阅读:
    springboot集成netty实现websocket
    全国见!飞桨星河社区五周年,邀你共赴大模型盛宴!
    网络运维的挑战与解决方案:塑造无缝、高效的IT环境
    web前端期末大作业 基于HTML+CSS+JavaScript程序员个人博客模板(web学生作业源码)
    华为率先商用卫星通信技术,有助中国在6G技术上取得领先优势
    etcd实现大规模服务治理应用实战
    5-Nacos环境搭建
    三大O(nlogn)算法分析
    ROS 学习应用篇(九)ROS中launch文件的实现
    web server apache tomcat11-16-mbean
  • 原文地址:https://blog.csdn.net/cczy_/article/details/126617537