python语音合成需要的库_Python随身听-019-Python玩AI之百度的语音合成

Python随身听,程序任我行。嗨,你好,欢迎来到Python随身听。我是DE8UG。

很多朋友都听说了Python是AI时代非常受欢迎的编程语言,为啥这么说呢?因为用Python玩起AI技术来是非常方便的。

这里需要你有基本的Python编程基础,如果你还不会,欢迎到我的公众号Python随身听,搜索“基础”或“官方文档”,学习一下。

今天我们来一起看看怎么用Python玩一下百度的语音合成技术。

这里主要分两个阶段:1:成为百度AI开放平台的开发者,创建一个应用 2:写代码,把文本合成语音

第一阶段:

先看第一步,肯定先注册个百度账号。然后打开百度的AI开放平台,也就是在百度的网址前面加上AI点就可以了。接下来就是用账号登录,然后创建一个应用,我把图贴到公众号的文章里,你可以直接查看。

创建应用时候的名字你可以随意取一个,我们要得到的关键信息是APP id和两个KEY。

这些你创建完应用就看见了。

第二阶段:

我们可以直接使用百度给我们提供好的SDK进行快速的代码编写。当然,这个SDK是有些限制的,支持最多512字(1024 字节)的音频合成,合成的文件格式为mp3。

我们需要先安装,使用这个命令来安装:执行pip install baidu-aip。

接下来,你需要参照下面的代码创建你自己的语音合成客户端,这里主要是分三步:

第一步导入aip这个语音代码包, 第二步用上面创建应用时候生成的APP id和两个KEY进行配置, 第三步就是生成客户端对象

from aip import AipSpeech

""" 你的 APPID AK SK """

APP_ID = '你的 App ID'

API_KEY = '你的 Api Key'

SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

接下来就是调用客户端的synthesis方法,把要说的文字传给它,作为第一个参数,后面还有几个参数是是语速,音调,音量等,详情可以查看我贴的图片。

调用合成方法之后,会得到一个结果,判断一下格式正确的话,就直接写成mp3文件。

result  = client.synthesis('你好啊,欢迎收听Python随身听', 'zh', 1, {

'vol': 5,

})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码

if not isinstance(result, dict):

with open('auido.mp3', 'wb') as f:

f.write(result)

为了更方便的调用这个功能,我们可以把它写成一个函数:

第一个参数放文字,第二个参数放音频名称,后面的参数可以自定义,比如我把音量和发音人写到这里。当然,我这里的客户端对象是之前生成好的,你可以直接用,或者也作为函数参数,从外部传入使用。总之很灵活。

你可以直接查看我的代码:

def text_to_mp3(t, mp3='audio-de8ug.mp3', vol=5, per=106):

result = client.synthesis(t, 'zh', 1, {

'vol': vol,

'per': per

})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码

if not isinstance(result, dict):

with open(mp3, 'wb') as f:

f.write(result)

return AudioFileClip(mp3).duration

ok,这就是今天Python随身听的节目了,感谢你的聆听,欢迎到公众号「Python随身听」查看相应文本代码,测试一下语音合成的功能,还是非常好玩好用的。后面会陆续给大家带来更多Python与AI应用的相关知识。谢谢关注,点赞和转发,有任何问题请到公众号留言。

下期节目,再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值