养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

python用百度AI实现语音合成和语音识别(完美)

时间:2024-11-07 09:35:50

本文,介绍一下用python调用baidu-aip,来实现语音合成和语音识别的完整方法。

工具/原料

电脑

anaconda(python3)

baidu-aip模块

ffmpeg(这是音视频转换的软件)

ffmpeg的安装

1、通过百度网盘下载ffmpeg,当然也可以去官网下载最新版。pan.baidu.com/s/1UlqR246U9tLTqO6b82S_pw密码:53dh

python用百度AI实现语音合成和语音识别(完美)

2、解压之后,可以看到文件夹里面有一个bin文件夹。把这个文件夹的绝对路径复制下来。

python用百度AI实现语音合成和语音识别(完美)

python用百度AI实现语音合成和语音识别(完美)

3、计算机右键找到属性——高级系统设置——环境变量——系统变量——Pat丝群闻栝h——编辑,在变量值最后面加一个英文分号,再把bin文件夹的绝对路径粘贴上去,点确定退出。这样,ffmpeg就安装完成了。

python用百度AI实现语音合成和语音识别(完美)

语音合成

1、调用baidu-aip的语音合成功能,把一段文字合成成为一段wav格式的猕智烈寓音频。这段音频是可以播放的,读者可以下载试听。pan.baidu缕计瓤账.com/s/1hjV3gbCVOTxY9hALPk8bkQ密码:753j

python用百度AI实现语音合成和语音识别(完美)

2、可是,baidu-aip的语音识别功能却不能识别这段音频。报错3301,理由是音频质量差。呵呵。原因嘛,很可能是语音合成的时候,经过了压缩处理。

python用百度AI实现语音合成和语音识别(完美)

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,不压缩。

python用百度AI实现语音合成和语音识别(完美)

2、然后用baidu-aip识别c0.wav,就可以识别出大部分内容。下面分别是识别之后的文字,与合成之前的文字,对比一下,发现少了很多东西。

python用百度AI实现语音合成和语音识别(完美)

© 一点知识