Google WebRTC 语音活动检测器 (VAD) 的 Python 接口
项目描述
py-webrtcvad
这是 WebRTC 语音活动检测器 (VAD) 的 python 接口。它与 Python 2 和 Python 3 兼容。
VAD将 一段音频数据分类为有声或无声。它可用于电话和语音识别。
据报道,谷歌为WebRTC 项目开发的 VAD 是最好的可用 VAD 之一,它快速、现代且免费。
如何使用它
安装 webrtcvad 模块:
pip install webrtcvad
创建一个Vad对象:
import webrtcvad vad = webrtcvad.Vad()
可选地,设置它的积极模式,它是一个介于 0 和 3 之间的整数。0 是最不积极的过滤非语音,3 是最积极的。(您也可以在创建 VAD 时设置模式,例如vad = webrtcvad.Vad(3)):
vad.set_mode(1)
给它一小段音频(“帧”)。WebRTC VAD 仅接受 16 位单声道 PCM 音频,采样频率为 8000、16000 或 32000 Hz。帧的持续时间必须为 10、20 或 30 毫秒:
# Run the VAD on 10 ms of silence. The result should be False. sample_rate = 16000 frame_duration = 10 # ms frame = b'\x00\x00' * (sample_rate * frame_duration / 1000) print 'Contains speech: %s' % (vad.is_speech(frame, sample_rate)
有关将处理 .wav 文件、查找浊音段并将每个段写入单独的 .wav 的更详细示例,请参见example.py 。
如何运行单元测试
运行单元测试:
pip install -e ".[dev]" python setup.py test