音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 7741|回复: 1

[转帖] 带有 SpeechSense (人声辨识)算法的 AGC 在音频系统中的应用

[复制链接]

38

帖子

2

听众

176

积分

音频应用新手发布

Rank: 1

积分
176
发表于 2017-1-10 17:00:58 | 显示全部楼层 |阅读模式
1) 什么是 AGC?

    AGC 是英文“Automatic Gain Control”(自动增益控制)的缩写。AGC 在各个行业中的应用非常广泛。在模拟电路时代, AGC 的控制精度和速率是由模拟电路的设计和电子元件的精度所决定的,我们称之为 AGC 的工作特性。

    大家都知道,现在的音频处理核心产品大都采用 DSP 芯片进行设计,因此我们将之统称为音频 DSP 处理器。实际上,与以往的模拟 AGC 电路不同,DSP 处理器的电路设计大同小异,所采用的芯片也大都雷同。而所有的 DSP 处理器所支持的功能,如:滤波器,分频器,路由器,混音器,AGC 等等都是由“算法”来实现的。因此,AGC 的工作特性完全能取决于 AGC 算法。

    2) 为什么音频系统需要 AGC?

    在实际的音频会议系统应用中,经常会出现以下这些情况:由于性别的原因或讲话者的各自习惯不同,有的人声音大些,有的人声音小些,有的人喜欢离话筒远些,有的人喜欢离话筒近些,这些情况会导致在音频系统的输出端的音量幅度产生巨大的差别。




    AGC 可以针对上述这些情况自动给与“增益补偿”。通俗一点的讲,当讲话者的声音太大的时候, AGC 会自动降低增益,从而使会议的扩声维持在一个恒定的音量上;反之,讲话者的声音太小,AGC 会自动提高增益,以确保系统仍然维持在恒定的音量。在音频系统中,AGC 可以根据“要求”对声音信号自动给与“增益补偿”。因此通常用于调节各种会议系统的不同讲话者的声音音量平衡。

    3) 传统 AGC 是如何解决这些问题的呢?

  首先,我们先来学习几个技术名词:Level 源信号电平:讲话者的声音经话筒拾音,进入音频处理器的原始电平;Min Threshold 最小电平阈值:启动 AGC 的最小电平值;Target Level 目标电平:我们所需要的,经过 AGC 自动调整的电平。 当输入电平大于所设定的 Min Threshold,AGC 会启动并自动根据所设定的 Target Level 对源信号进行增益补偿,并保持输入信号为恒定的 Target Level.

    如图一所示,当源信号电平大于最小电平阈值(Min Threshold)但小于目标电平(Target  Level)时, AGC 启动并对源信号自动提高增益至目标电平 (Target  Level)



    红色代表经 AGC 调整后的 电平曲线,蓝色代表未经 AGC 调整的源信号电平曲线

    见图二,当源信号电平小于最小电平阈值(Min Threshold), AGC 关闭,从而防止 AGC 将噪声电平放大输出。




    图三:当源信号电平大于最小电平阈值(Min Threshold),并大于目标电平(Target    Level)时,AGC 启动并自动衰减输入信号增益至目标电平(Target  Level)。从而实现对输入信号的自动增益控制,并且在输出端维持一个相对恒定的音量。




    4) 传统 AGC 在实际应用中的问题

    上文中我们提到,当源信号大于所设定的 Min Threshold, AGC 不工作。 其目的是避免AGC 电路错误地提升系统的噪声信号。只有在源信号大于某一设定值时,我们才认为此信号为有用信号并对此信号进行 AGC 平衡电平。这种设计方案看似非常合理,但在实际工作中却屡屡出错。比如:我们所用的所有的语音通信软件(如:QQ, Skype, Lync 等等)都支持 AGC, 但在实际使用中经常出现的问题是,当两端的人都不讲话的时候,可以非常明显地感觉到对方的噪声的提升。

    究其原因, 在实际工作环境中,噪声的值实际上很难预测,它与有用信号之间有很大的重叠区域,但我们给定一个 Min Threshold 的时候,不是当有用信号非常低时 AGC没有启动,就是噪声信号高于 Min Threshold, AGC 错误的启动。因此,在很长的一段时间,业内都没有一个彻底地解决方案。

    5) 带有 SpeechSense (人声辨识)算法的 AGC 的工作原理

    下面我们我们来看一下 BIAMP 的 AGC 是如何解决这个问题的。
综上所述,其实只有一种办法能够彻底地解决 AGC 不能正确启动的难题。那就是,真正判断源信号是否为有用信号。通常在绝大多数情况下,AGC 是用在传声话筒的链路里,因此,只要我们能够判断源信号是否为人声就可以了。  
其实,人声辨识已经不是一个新课题了。经研究,人们发现所有人类的语言有两种元素是与动物和环境声截然不同的。即 Plosive 爆破音和 Fricative 摩擦音。比如:中文的“破”和“刺”, 或英文中的“Bob”和“Fish”。因此,只要我们对源信号进行采样并辨识是否有爆破音和摩擦音的存在,就可以判定此信号是否为人声。

    从原理上讲,似乎并不困难。但如前文所提到的,AGC 的性能完全取决于算法。在极短的时间内(通常只有十几毫秒),SpeechSense    AGC 算法要完成对源信号的采样、分析、 运算,因此对算法的效率要求极高,并且对信号的人声片断分析的准确性要求极为严格,要在最大限度内保证 AGC 启动的准确性。BIAMP 的 AGC 不仅可以快速准确的完成增益自动补偿,更重要的是它可以非常准确地辨识出源信号是否为人声,从而确保 AGC 只有在讲话者使用时启动,有效的避免了 AGC 误启动所造成的噪声过大的问题。

    6) SpeechSense (人声辨识)算法的 AGC 的参数设定

    下面我们来具体看一下有关 SpeechSense AGC 的一些参数是如何配置的。




    输入源电平:通常,我们调试话筒的时候, 要确保讲话者与话筒的距离比较合理,且用正常的声调对着话筒讲话,此时在输入源电平的读数应在“0dB”左右。

    由于传声话筒的灵敏度和指向性以及所在环境的空间噪声不同,在无人讲话的时候,输入源的最低电平应该在‐40dB 到‐20dB 之间(如电平显示过高,则表明现场环境噪声过大)。此时,最小电平阈值(Min Threshold)应该调整为略高于无人讲话时的输入源的最低电平。
    输出增益调节指示:是指在 AGC 自动增益调节之后的音频输出补偿的数值。补偿是根据目标电平和输入电平之差所决定的。例如:当源信号的电平为-10dB, 目标电平为 0dB,那么输出补偿为+10dB。

    AGC 增益保持时间:当 AGC 不满足启动条件时(比如:源信号电平低于 Min Threshold 或源信号为非语音信号), 输出增益调节所保持的时间。例如:如图当系统检测到 AGC 在60 秒后仍然没有启动,输出增益调节会自动归零。

    最大 AGC 提升增益:可以设定 AGC 自动增益的提升范围。最大值为 30dB。在实际使用中,我们建议的范围是 0~12dB。因为,如以正常情况来调试系统,一般会议系统的本地扩声的净空为 6~14dB。也就是说,如果 AGC 将话筒的音量提升高过净空值时,系统会产生啸叫。因此,最大 AGC 提升增益永远略低于系统的净空值。

    最大 AGC 衰减增益:可以设定 AGC 自动增益的衰减范围。最大值为 30dB.

    增益变化速率:设定 AGC 的增益变化速率。例如:如图 Max  Adjustment  Rate 为 5.0,当AGC 启动时,会以每秒 5dB 的速率进行提升或衰减从而最终达到输出补偿的要求。在实际应用中,如果我们不希望与会者觉察到明显的声音增益变化,可以保持默认设置或适当降低速率。如在演示环节,可以适当提升速率,从而使受众明显感觉到 AGC 的工作。

    SpeechSense 声音辨识:当此按钮关闭时,AGC 恢复传统 AGC 的工作模式。当此按钮开其实, AGC 只在检测到人声时才会启动,而任何其它噪声不会误触发 AGC。

    Limiter On 压限器:当此功能激活时, 系统会自动监测 AGC 之后的电平值并在电平值高于+24dBu 时进行压限,从而确保电平在峰值范围之内。同时压限器指示会点亮。

    AGC Active:当 AGC 启动时,此指示灯会点亮。

    Advanced:高级设定。点击进入,可以看到输入电平,噪声电平以及 SNR 信噪比电平。因为无法识别人声与噪声,所以所有的传统的 AGC 都没有这一选项。而 BIAMP AGC 的SpeechSense 的算法不仅能够准确的识别出人声,还可以进而精确的计算出人声与环境噪声之间的比值,即信噪比。因此,在这里可以对声音的信噪比进行设定。当源信号的信噪比高于设定值时,SNR 为绿色。当源信号的信噪比低于设定值时,SNR 为红色。AGC 只有在 SNR 为绿色时,即:源信号的信噪比高于设定值时才能启动。




    那么 SNR 的调整在实际项目中如何应用呢? 我们下面来看一个例子。




    第一种情况是,在实际应用中往往存在多只话筒,且话筒间距离较近。实际上我们只希望当演讲者有目的的对着话筒讲话时,AGC 才根据电平自动调节,并且不希望讲话者的声音影响到邻近的话筒;另一种情况是,当讲话者远离话筒与其他的与会者细声交流的时候,他们当然不希望系统对这些“交流”也进行 AGC 自动增益补偿。由于传统的 AGC 不具备信噪比调节的功能,所以上图示例中,传统 AGC 就无法使用了,或者很难调试。而带有SpeechSense (人声辨识)算法的 AGC,通过合理调节信噪比,就可以让每一只话筒处于需要的 AGC 工作状态。

  以上是对 AGC 在音频系统中应用的一些总结,如何更好的发挥 AGC 在具体应用中的作用还需要进一步的探索与思考。


相互学习,资源共享,合作共赢
      中国演艺设备QQ交流群:429517658
      新浪微博: 兰格电子有限公司

关注音频应用官网公众号资讯合作

403

帖子

5

听众

3625

积分

音频应用注册会员

Rank: 2Rank: 2

积分
3625
发表于 2017-1-11 08:06:40 | 显示全部楼层
分享,谢谢楼主啊
关注音频应用官网公众号资讯合作
回复 支持 反对

使用道具 举报

高级模式 自动排版
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

小黑屋|手机版|Archiver|音频应用 ( 鄂ICP备16002437号-6)

Powered by Audio app

快速回复 返回顶部 返回列表