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

  • 相关阅读:
    LeetCode 345. Reverse Vowels of a String 题解
    LeetCode 344. Reverse String 题解
    LeetCode 27. Remove Element 题解
    LeetCode 61. Rotate List 题解
    LeetCode 19.Remove Nth Node From End of List 题解
    Android耗电量
    Android 使用adb查看和修改电池信息
    Android AOP AspectJ 插桩
    Flask相关用法
    Monkey日志信息的11种Event percentage
  • 原文地址:https://www.cnblogs.com/keepthinking-go/p/15070834.html
Copyright © 2011-2022 走看看