语音识别预处理---语音转文字

平台:百度语音识别

环境:win7+python3

    利用百度语音识别,由于百度限制了语音文件格式(pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式))和 8k/16k 采样率、16bit 位深、单声道,所以一遍需要先对语音文件做格式转换语音文件分段处理。

一:格式转换

工具:ffmpeg

地址:http://ffmpeg.org/ffmpeg.html

    本人安装静态版本,安装后,将文件先进行格式转换,代码如下:

def change_voiceformat(self,filepath):

#语音文件路径

    file_name = filepath

# 调用系统命令,将文件转换成pcm格式

#  self.pcm_path存放文件路径

    change_voiceformat_command =f".\\ffmpeg\\bin\\ffmpeg -i {file_name} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {self.pcm_path}"

    os.system(change_voiceformat_command)

二:语音文件分割

工具:speech-vad-demo

地址: https://github.com/Baidu-AIP/speech-vad-demo

集成 webrtc 开源项目,vad模块,具体算法GMM(Gaussian Mixture Model)。

由于百度rest api接口有60s的音频时长限制,使用此demo可以粗略地按照静音切分音频。

先下载后进行安装,在下载的文件夹里可以看到exe执行文件。

def devide_voice(self):

# 先将工作目录切换到.\speech-vad-demo才能执行vad-demo.exe

    os.chdir(".\\speech-vad-demo\\")

# 直接执行.\vad-demo.exe,默认会将.\pcm\16k_1.pcm文件分段 切割并输出到.\output_pcm目录下

    devide_voice_com =f".\\vad-demo.exe"

    os.system(devide_voice_com)

# 切换回工作目录

    os.chdir("..\\")

你可能感兴趣的:(语音识别预处理---语音转文字)