当前位置: 首页 > news >正文

络达开发----如何开启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文件也可以得知该信息,其内容如下:

Compander module usage guide

Brief:          This module is the AGC implementation.

Usage:          GCC:  For AGC, make sure to include the following:
                      1) Add the following module.mk for libs and source file:
                         include $(SOURCE_DIR)/middleware/MTK/dspalg/agc/module.mk
                      2) Module.mk provides different options to enable or disable according to the profiles.
                         Please configure the related options on the specified XT-XCC/feature.mk.
                         MTK_VOICE_AGC_ENABLE
                      3) Add the header file path:
                         CFLAGS += -I$(SOURCE_DIR)/middleware/MTK/dspalg/agc/inc
                      4) Add FUNC_RX_WB_AGC (for hfp downlink) / FUNC_TX_AGC (for uplink) 
                         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[].

Dependency:     None

Notice:         1) MTK_VOICE_AGC_ENABLE and MTK_BT_AGC_USE_PIC must be set as "y" on the specified XT-XCC/feature.mk.

Relative doc:   None

Example project:None

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

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

   MTK_VOICE_AGC_ENABLE  = y

   MTK_BT_AGC_USE_PIC = y

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

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

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

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

相关文章:

  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • 阿里云服务器包年包月收费模式常见问题汇总(官方资料解答)
  • 常用LINUX配置及SHELL命令集锦-网络配置和系统管理操作
  • Zookeeper安装及使用
  • java基于springboot+vue的碳排放管理平台系统
  • 超详细的springBoot学习笔记
  • k8s 安装 ingress-nginx
  • 【卫朋】产品管理:如何管理项目进度?
  • 超强、超详细Redis入门教程
  • 你还不会写API文档吗
  • Mach-O详解(一) - 破题
  • 今天来说说Java开发中常用的框架有哪些?
  • Three.js对模型进行多区域染色
  • 超全面试汇总——Hadoop(二)
  • Android辅助功能(Accessibility)简介
  • 分享的文章《人生如棋》
  • 《剑指offer》分解让复杂问题更简单
  • js ES6 求数组的交集,并集,还有差集
  • js操作时间(持续更新)
  • leetcode46 Permutation 排列组合
  • mysql常用命令汇总
  • Solarized Scheme
  • use Google search engine
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 给新手的新浪微博 SDK 集成教程【一】
  • 使用 Docker 部署 Spring Boot项目
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 一个完整Java Web项目背后的密码
  • 由插件封装引出的一丢丢思考
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 湖北分布式智能数据采集方法有哪些?
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # 透过事物看本质的能力怎么培养?
  • (1)bark-ml
  • (1)常见O(n^2)排序算法解析
  • (26)4.7 字符函数和字符串函数
  • (arch)linux 转换文件编码格式
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (WSI分类)WSI分类文献小综述 2024
  • (二)学习JVM —— 垃圾回收机制
  • (九)信息融合方式简介
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十八)三元表达式和列表解析
  • (译) 函数式 JS #1:简介
  • (转)母版页和相对路径
  • ***详解账号泄露:全球约1亿用户已泄露
  • .cfg\.dat\.mak(持续补充)
  • .net core 6 集成和使用 mongodb
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Micro Framework 4.2 beta 源码探析
  • .net refrector
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件