端点检测是语音信号处理中的重要一环,是各种语音任务的基础。WebRTC是谷歌开发的VAD,是当前最有效、最先进和免费的产品之一。webrtcvad是WebRTC语音活动检测器(VAD)的python接口,能够有效支持python2和python3,它能够将区分一段语音分割中的静音帧和非静音帧。本文将使用webrtcvad将非静音帧识别出来,并将非静音帧存为新的wav文件。
安装webrtcvad
首先,你需要对你的机器安装pip:
# 下载文件
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
# 执行安装
python get-pip.py
安装好pip好,你可以使用pip安装webrtcvad:
pip install webrtcvad
检查是否安装成功
import webrtcvad
vad = webrtcvad.Vad()
执行webrtcvad
假设,在你的/usr/origin目录下有一个test.wav,里面包含静音帧和非静音帧,现在,你想通过webrtcvad切除test.wav里面的静音帧,将非静音帧写到一个新的目录/usr/clean下:
# -*- coding: utf-8 -*-
import collections
import contextlib
import sys
import os
import wave
import webrtcvad
AGGRESSIVENESS &#