音频自动增益算法

        语音自动增益(AGC)算法,指的是数字层面的,语音波形都是0101数字组成,指的是把这个波形统一扩大或压缩一个权值,以提高或降低声音响度

        最简单的硬性增益处理是对所有音频采样乘上一个增益因子,它也等同于在频域每个频率都同时乘上这个增益因子,但由于人的听觉对所有频率的感知不是线性的,是遵循等响度曲线的,导致这样处理后,听起来感觉有的频率加强了,有的频率削弱了,导致语言失真的放大。

简单说下音量和增益的区别:

1、音量是数字波形转模拟波形之后,对喇叭的功率的提高或降低,跟增益功能是串行的;

2、增益是控制数字信号波形的, 音量是控制模拟信号的;

agc目标值参数:

一般电平值范围0--无穷小,最大的是0,一般函数参数设置范围为0--10,其实10是-10,调试的时候我们的参数设置一般是3---10之间,设置的值越小则当麦克采集的声音小的时候调整后的就越大越响亮。

        理想情况下,设置agc后的结果:说话的时候,人离麦克的远近和声音采集的大小并无大关系,因为在agc后,波形会趋于我们设置的目标值参数,  也就是说,当采集的声音高于目标值了, agc就会降低声音波形,如果采集的声音低于目标值了,agc就会调高声音波形,大体上是这么个原理,下面是我写的一个测试例子,实际测试效果还是挺不错的,可以看下测试对比图片:

音频自动增益算法_第1张图片

 上面一行是未处理的原始音频数据,下面一行是自动增益处理后的音频数据,还是有一个明显的放大效果。

目前这个算法可以应用到多种平台,像windows、linux、android、ios、arm平台都可以支持,我都做过测试,效果基本差别不大。

项目地址:

https://download.csdn.net/download/unique_no1/82758247

里面包含测试程序和可执行文件,windows平台和linux平台的我都已经编译好了,大家可以测试看下效果,如果需要商用的话可以跟我联系,或者有技术问题想要沟通、交流的也非常欢迎。

tel&&微信:13354328150

--------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(算法,音视频,算法,音视频,语音识别)