本文,介绍一下用python调用baidu-aip,来实现语音合成和语音识别的完整方法。
工具/原料
电脑
anaconda(python3)
baidu-aip模块
ffmpeg(这是音视频转换的软件)
ffmpeg的安装
1、通过百度网盘下载ffmpeg,当然也可以去官网下载最新版。pan.baidu.com/s/1UlqR246U9tLTqO6b82S_pw密码:53dh
2、解压之后,可以看到文件夹里面有一个bin文件夹。把这个文件夹的绝对路径复制下来。
3、计算机右键找到属性——高级系统设置——环境变量——系统变量——Pat丝群闻栝h——编辑,在变量值最后面加一个英文分号,再把bin文件夹的绝对路径粘贴上去,点确定退出。这样,ffmpeg就安装完成了。
语音合成
1、调用baidu-aip的语音合成功能,把一段文字合成成为一段wav格式的猕智烈寓音频。这段音频是可以播放的,读者可以下载试听。pan.baidu缕计瓤账.com/s/1hjV3gbCVOTxY9hALPk8bkQ密码:753j
2、可是,baidu-aip的语音识别功能却不能识别这段音频。报错3301,理由是音频质量差。呵呵。原因嘛,很可能是语音合成的时候,经过了压缩处理。
ffmpeg——音频重采样
1、这里,我们使用pyt丝群闻栝hon来调用cmd命令:b=os.popen(r"ffmpeg-y-iE:/m锾攒揉敫athebook/python/BaiduAI/a0.wav-acodecpcm_s16le-fs16le-ac1-ar16000E:/mathebook/python/BaiduAI/c0.wav")作用是,用ffmpeg把a0.wav转化为采样率为16000的c0.wav,不压缩。
2、然后用baidu-aip识别c0.wav,就可以识别出大部分内容。下面分别是识别之后的文字,与合成之前的文字,对比一下,发现少了很多东西。