• 络达开发----如何开启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
    • 完成上述步骤后,删除之前编译生成的文件,然后重新编译即可。

  • 相关阅读:
    用起 Arduino IDE 2.0版本
    SAP - 事务码
    SOA、分布式、微服务
    从了解到掌握 Spark 计算框架(二)RDD
    面试--线程池的执行流程和拒绝策略有哪些?
    [部署网站02]下载安装 unix PHP7.4 Swoole Loader扩展文件
    关于Android 日历事件的实现
    item_search - 按关键字搜索dangdang商品
    3大生产基地7万口窖池同时开窖,2023洋河·双沟开窖节吸引百万人集体关注
    OSCP-Vulnhub靶机记录-GoldenEye-walkthrough
  • 原文地址:https://blog.csdn.net/cczy_/article/details/126617537