zoukankan      html  css  js  c++  java
  • 【AGC/DRC 资料】Webrtc中的agc-VirtualMic-自用备忘

    https://blog.csdn.net/ssdzdk/article/details/52848161?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EsearchFromBaidu%7Edefault-1.pc_relevant_baidujshouduan&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EsearchFromBaidu%7Edefault-1.pc_relevant_baidujshouduan

    VirtualMic(在只能控制数字增益时作为虚拟模拟增益)

    1.根据能量和过零率判断是否为低能量信号(能量和过零率都比较低判断为低能量信号,其实相当于一个简单的VAD判决,令处理的信号是语音而不是噪音)

    2.获取麦克风等级

    3.检查麦克风增益与参考值是否一致

    4.不一致则重新确定增益

    5.设定初始增益,根据加上增益后的信号大小对增益进行调节

    6.将加上增益后的信号输入Agc_AddMic,若micVol过大,Agc_AddMic将增加一个数字增益继续补偿。

    ProcessAnalog函数调用

    kAgcModeAdaptiveAnalog一定进入WebRtcAgc_ProcessAnalog流程;kAgcModeAdaptiveDigital在信号大能量(lowLevelSignal==0)的时候进入WebRtcAgc_ProcessAnalog流程,而kAgcModeFixedDigital不会调用该流程

    WebRtcAgc_ProcessAnalog函数的作用是把输入的信号根据能量的大小饱和标志(WebRtcAgc_StaturationCtrl),零状态(WebRtcAgc_ZeroCtrl),以及近端语音活度(WebRtcAgc_SpeakerInactiveCtrl)的结果,来初步控制语音的大小。
    ————————————————
    版权声明:本文为CSDN博主「灯等等凳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ssdzdk/article/details/54691463

  • 相关阅读:
    webpack配置之代码优化
    react组件生命周期
    javascript记住用户名和登录密码
    ajax异步请求原理和过程
    深入理解ajax系列第五篇——进度事件
    ajax多次请求,只执行最后一次的方法
    CentOS6.8下MySQL MHA架构搭建笔记
    HTTP状态码
    什么是 Redis 事务?原理是什么?
    Redis 通讯协议是什么?有什么特点?
  • 原文地址:https://www.cnblogs.com/keepthinking-go/p/15070834.html
Copyright © 2011-2022 走看看