Python文字转换语音,让你的文字会「说话」,抠脚大汉秒变撒娇萌妹

做者 | pk 哥
来源公众号 | Python知识圈(ID:PythonCircle)
html

APP 也有文字转换为语音的功能,虽然听起来很别扭,可是基本能解决长辈们看不清文字或者眼睛疲劳,经过文字转换为语音来获取信息。python

咱们用 Python 可否实现文字转语音呢,能够的,百度有个语音接口,能够在 Python 中直接调用,甚至提供了多种声音选择,固然能够选择萌妹子的声音。编程

安装百度接口

经过 pip 命令直接安装( -i 后面是豆瓣的镜像,这样下载安装速度更快)json

pip3 install baidu-aip -i https://pypi.douban.com/simple/

建立应用

百度语音合成地址以下:api

https://ai.baidu.com/tech/speech/tts

点击当即使用,没有登陆的会要求先登陆,用本身的百度的帐号登陆就能够,没有百度帐号的新注册一个。微信

登陆后进入应用页面,语音识别包括:输入法、搜索、英语、粤语、四川话、远扬,还有语音合成等库。咱们能够看到,大部分 API 的调用次数免费且无限制的。url

咱们建立一个应用,勾选须要的接口权限,个人要求比较简单,只是简单的文字转语音,因此勾选的接口也比较少。固然,这个接口还能够作人脸识别、图像识别、天然语言处理等,你们按需选择。翻译

建立完成后,咱们在应用列表能够看到应用的三个重要的值:AppID、API Key、Secret Key,这三个值等下调用接口时会用到。调试

在文档中心,咱们来看看基本的上传参数。code

代码调试

根据接口文档,咱们写个简单的代码,可以调通接口就行。

咱们须要填入你建立应用的 APP_ID、API_KEY 和 SECRET_KEY 的值。

其中,per 的值表示男女声的,0 和 1 是普通的女声和男声,听起来有点别扭,3 和 4 是带有感情的,明显比 0 和 1 有感情,你们能够试试。

from aip import AipSpeech

APP_ID = '17657240'
API_KEY = 'YRG9NQ6lVQYOXeazzK9rAovG'
SECRET_KEY = 'TlG8tchxR3YFGg0hFuC3ODy2QvRafc2v'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 中文:zh 粤语:ct 英文:en

result = client.synthesis('哈哈哈哈', 'zh', 1, {
    'vol': 5, 'per': 4
})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
    with open('audio.mp3', 'wb') as f:
        f.write(result)

执行代码后,同级目录下就会生成一个 audio.mp3 的文件。

秒变撒娇萌妹

咱们加入金山词霸的接口,天天返回优美的英文和中文翻译语句,咱们让度丫丫把她读出来,让声音秒变撒娇萌妹。

金山词霸的接口很简单,直接 requests 调用,返回的 json 格式语句,咱们返回英语语句和中文语句。

def get_msg():
    url = 'http://open.iciba.com/dsapi/'   # 金山词霸每日一句 api 连接
    html = requests.get(url)
    content = html.json()['content']   # 获取每日一句英文语句
    note = html.json()['note']   # 获取每日一句英文的翻译语句
    return content, note

给出 APP_ID、API_KEY 和 SECRET_KEY 的值。

下面的步骤和上面同样,只是把上面固定的文本换成接口返回的金山词霸的语句而已。

咱们打开文件,还能听出一些撒娇声,不信?你打开听听!

我发文章的时候,金山词霸返回的中文语录是:事情不多是不可能的;人们之因此不成功,与其说是条件不够,不如说是决心不够。

接下来,就能够把这个撒娇萌妹的音频 发微信给朋友 或者免费发短信给朋友 均可以,以前讲过,这里就再也不啰嗦了。

公众号「Pythpn知识圈」回复「说话」获取本文源码。

欢迎关注公众号「Python知识圈」,公众号后台回复关键字,获取更多干货。

回复「英语」:送你英语 7000 单词速记法,亲测很是有效。 回复「编程」:免费获赠2019最新编程资料,认真学完BAT offer 拿到手软。 回复「赚钱」:领取简单可实操的 36 个赚钱的小项目,天天多赚100块零花钱。 回复「电子书」:免费送你10本Python电子书。

相关文章
相关标签/搜索