一种基于自动增益的恒定音量输出方法技术

技术编号:24414317 阅读:199 留言:0更新日期:2020-06-06 10:43
本发明专利技术公开了一种基于自动增益的恒定音量输出方法,包括以下步骤:S1.麦克风接收声音信号;S2.vad人声判断,丢弃非人声数据,并保留人声数据;S3.agc人声增益;S4.ns噪声降噪;S5.输出设备将处理后的声音信号输出。本方法所实现功能为在自由选择输入设备和输出设备的情况下,将输入设备输入的音频,进行噪声降噪,以及人声检测。在有人声的情况下,将输入的人声增益到设定的音量大小,当输入的人声音量小时,进行增大。当输入的人声音量大时,进行减小,将人声输出的音量始终增益到同一大小,以提升通话质量。

A constant volume output method based on automatic gain

【技术实现步骤摘要】
一种基于自动增益的恒定音量输出方法
本专利技术涉及一种基于自动增益的恒定音量输出方法。
技术介绍
使用手机、电脑等数码设备进行远距离语音聊天时,如果设备不具有自动增益的功能,使用者听到的人声会发生忽大忽小的情况,大大降低了通话质量,并极大的影响了使用体验,。但现有的绝大多数扩音或麦克风设备均不具有自动增益的功能,如果将其全部进行硬件更换,其需要较大的成本,且会造成社会公用资源的极大浪费。而基于软件层次的自动增益方法,可以在不更换硬件的情况下进行对声音的自动增益,以节约升级成本。
技术实现思路
本专利技术的目的是为了解决以上现有技术的不足,提出了一种基于自动增益的恒定音量输出方法。一种基于自动增益的恒定音量输出方法,包括以下步骤:S1.麦克风接收声音信号;S2.vad人声判断,丢弃非人声数据,并保留人声数据;S3.agc人声增益;S4.ns噪声降噪;S5.输出设备将处理后的声音信号输出。具体流程如下:alsaaudio获取linux设备中的PCM数据(设置采样率为44100通道数为1,表示单声道,宽度为2处理语音帧长度为320字节数据,也就是20ms声音长度,设定输入输出设备以及输出声音的长度模式等等)使用webrtc_audio_processing库,对获取的声音进行处理(设定声音处理的模式,类型等先后进行vad人声检测,agc自动增益处理,agc通过VAD判断语音,对传入每段语音进项幅值的改变)。其中agc处理过程如下:1、根据输入的音频数据得到频率fs和样本数samples计算子帧长度,1ms长度以及毫米数M;2、根据帧长和采样率继续分帧。将20ms的数据分成了低频16k的20ms数据和高频16k的20ms数据。使用这些子帧计算能量信息;3、当麦克风的最大值大于模拟值就计算缓慢增益的序号对应的值;4、获取了目标放大序号后,缓慢调整放大表序号,每次调整1单位,并且取出增益系数。5、使用这个增益倍数对输入的声音数据进行使用,对输入信号计算长度为L的M个子帧的最大M个能量,作为信号包络,以及M个低频8K的能量。6、最后对每一个subFrames计算VAD。对音量进行增益,先通过零率和能量大小判断是否是低能信号。这里的能量大小判断主要是做VAD判决,保证处理的信号是语音而不是噪音。之后是根据输入麦克风等级计算出增益倍数,对声音数据进行线性的增益。有益效果:本方法所实现功能为在自由选择输入设备和输出设备的情况下,将输入设备输入的音频,进行噪声降噪,以及人声检测。在有人声的情况下,将输入的人声增益到设定的音量大小,当输入的人声音量小时,进行增大。当输入的人声音量大时,进行减小,将人声输出的音量始终增益到同一大小,以提升通话质量。附图说明图1是一种基于自动增益的恒定音量输出方法的流程图;图2是一种基于自动增益的恒定音量输出方法的功能图。具体实施方式为了加深对本专利技术的理解,下面将结合实施例和附图对本专利技术作进一步详述,该实施例仅用于解释本专利技术,并不构成对本专利技术保护范围的限定。如图1-2所示,一种基于自动增益的恒定音量输出方法,包括以下步骤:S1.麦克风接收声音信号;S2.vad人声判断,丢弃非人声数据,并保留人声数据;S3.agc人声增益;S4.ns噪声降噪;S5.输出设备将处理后的声音信号输出。具体流程如下:alsaaudio获取linux设备中的PCM数据(设置采样率为44100通道数为1,表示单声道,宽度为2处理语音帧长度为320字节数据,也就是20ms声音长度,设定输入输出设备以及输出声音的长度模式等等)使用webrtc_audio_processing库,对获取的声音进行处理(设定声音处理的模式,类型等先后进行vad人声检测,agc自动增益处理,agc通过VAD判断语音,对传入每段语音进项幅值的改变)。其中agc处理过程如下:1、根据输入的音频数据得到频率fs和样本数samples计算子帧长度,1ms长度以及毫米数M;2、根据帧长和采样率继续分帧。将20ms的数据分成了低频16k的20ms数据和高频16k的20ms数据。使用这些子帧计算能量信息;3、当麦克风的最大值大于模拟值就计算缓慢增益的序号对应的值;4、获取了目标放大序号后,缓慢调整放大表序号,每次调整1单位,并且取出增益系数。5、使用这个增益倍数对输入的声音数据进行使用,对输入信号计算长度为L的M个子帧的最大M个能量,作为信号包络,以及M个低频8K的能量。6、最后对每一个subFrames计算VAD。对音量进行增益,先通过零率和能量大小判断是否是低能信号。这里的能量大小判断主要是做VAD判决,保证处理的信号是语音而不是噪音。之后是根据输入麦克风等级计算出增益倍数,对声音数据进行线性的增益。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于自动增益的恒定音量输出方法,其特征在于,包括以下步骤:/nS1.麦克风接收声音信号;/nS2.vad人声判断,丢弃非人声数据,并保留人声数据;/nS3.agc人声增益;/nS4.ns噪声降噪;/nS5.输出设备将处理后的声音信号输出。/n

【技术特征摘要】
1.一种基于自动增益的恒定音量输出方法,其特征在于,包括以下步骤:
S1.麦克风接收声音信号;
S2.vad人声判断,丢弃非人声数据,并保留人声数据;
S3.agc人声增益;
S4.ns噪声降噪;
S5.输出设备将处理后的声音信号输出。


2.根据权利要求1所述的一种基于自动增益的恒定音量输出方法,其特征在于,其中S3中agc人声增益具体包括以下步骤:
①、根据输入的音频数据得到频率fs和样本数samples计算子帧长度,1ms长度以及毫米数M;
②、根据帧长和采样率继...

【专利技术属性】
技术研发人员:宣士斌张浩宣彦庄刘金宁蒋荣萍潘满英王杰秦续阳
申请(专利权)人:广西民族大学
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1