【发布时间】:2018-12-29 23:34:12
【问题描述】:
我需要将语音活动检测作为音频文件分类的一个步骤。
基本上,我需要确定给定音频是否具有口语。
我正在使用 py-webrtcvad,这是我在 git-hub 中找到的,几乎没有文档记录:
https://github.com/wiseman/py-webrtcvad
问题是,当我在自己的音频文件上尝试它时,它适用于那些有语音的文件,但当我用其他类型的音频(如音乐或鸟声)输入它时,它会不断产生误报,即使我将攻击性设置为 3。
音频为 8000 采样/hz
我对源代码的唯一更改是我将参数传递给主函数的方式(不包括 sys.args)。
def main(file, agresividad):
audio, sample_rate = read_wave(file)
vad = webrtcvad.Vad(int(agresividad))
frames = frame_generator(30, audio, sample_rate)
frames = list(frames)
segments = vad_collector(sample_rate, 30, 300, vad, frames)
for i, segment in enumerate(segments):
path = 'chunk-%002d.wav' % (i,)
print(' Writing %s' % (path,))
write_wave(path, segment, sample_rate)
if __name__ == '__main__':
file = 'myfilename.wav'
agresividad = 3 #aggressiveness
main(file, agresividad)
【问题讨论】:
-
运气好吗?我有同样的问题。它可以检测音乐甚至是语音输入。
-
只是想知道您是否对此有任何回顾性见解。这可能只是 webrtc 训练针对哪些类型的非语音噪声所固有的,不是吗?
标签: python audio webrtc speech-recognition voice-recognition