当前位置: 代码迷 >> 多媒体/流媒体开发 >> 静音检测,该怎么处理
  详细解决方案

静音检测,该怎么处理

热度:4723   发布时间:2013-02-26 00:00:00.0
静音检测
    vad(voice activity dectection)是针对一段音频中,检测出有语音出现的时间段。
    现在的要求是,针对一段音频,检测出有正常音频信号(非噪声),例如音乐、语音、机器声等,出现的时间段。
    现有的vad很多都是基于语音信号的特征,因此我觉得不太符合上面的要求,例如音乐声可能就被判断为噪声,那么就不和要求了。

    最简单的想法是基于信号的幅度,有效的信号幅度高,噪声的幅度小,但是从网上看了一些自适应的基于能量(信号幅度)的方法,测试了一下不够理想,主要是自适应并不能真正做到自适应。

    请各位高手指点一下思路。
    多谢了!

------解决方案--------------------------------------------------------
没搞过,帮顶一个,建议搜索一下国内外的相关论文看一下。
------解决方案--------------------------------------------------------
speex里面有 vad 静音检查这项,但是我一直没有用起来,不知道怎么用,
NS (噪音),AGC(自动音量控制) ,AEC(回音消除) 经过测试是OK的。
可以讨论一下 里面的vad 
------解决方案--------------------------------------------------------
你试试看下每隔某人时间段比如 20ms的数据 的平均值是不是在相同,或者相差不大,如果是相同的话,应该可以当做静音了,因为我试过播放一组相同的声音数据,,但听不到声音,

不清楚原理
------解决方案--------------------------------------------------------
计算帧的能量值,然后和阈值比较即可
------解决方案--------------------------------------------------------
做个记号,以后有可能用到。
------解决方案--------------------------------------------------------
引用:
引用:计算帧的能量值,然后和阈值比较即可

? ? 噪声的能量是变化的,即有些噪声帧的能量高一些,有些低一些。因此,这个能量门限应该能自适应变化。但是这个如何做到恰到好处的变化?另外语音中的清音的能量很低的,如果把这个当成噪声,听起来声音就出现失真了。所以单纯的能量方法是不好的,必须和其它方法结合。就是要分析信号本身的性质:相关性,谱熵等。我也不清楚,刚开始看。
? ? 谢谢。

在判断是否为静音之前,肯定要降噪的。。。
  相关解决方案