【转载】Python实现小说朗读,百度AI文字转语音
2022-03-19 本文已影响0人
7b7d23d16ab5
原文链接:https://blog.csdn.net/Python_sn/article/details/108470277
Python实现小说朗读,百度AI文字转语音
最近发现连续长时间盯着屏幕,眼睛实在是有点遭不住。对于我这种又想保护视力,又不想放下小说的人来说,简直就是遇到了像 “ 鱼与熊掌不可兼得” 一般的世纪难题。
正当我思考如何两害取其轻的时候,有人私信我帮忙做一个文字转语音的接口,我突然灵机一动,这简直就是送上门来的满分答案啊
当然,对于我这种社畜来说,是万万不可能自己实现文字转语音功能的,我没有那个精力,更没有那个 money
不过,咱不会煮饭,咱还不会点外卖么?O(∩_∩)O哈哈~
打开快被我点裂开了的 google chrome 搜了搜,果然很多公司都提供现成的免费接口,比如百度、讯飞…最后我选择了百度AI接口(这种东西啊,就和点外卖是一样的,同样都是芋儿鸡,店家不一样,做出来的味道就有好有坏。当你都没吃过时,牌子大一点的店或许是个不坏的选择)
言归正传,首先你得去百度控制台登录一下,没有百度账号的需要注册:
https://ai.baidu.com/tech/speech
然后需要创建一个应用,创建好了之后,就能拿到我们想要的三个东西
然后,python需要安装两个库(百度接口库和语音播放库),如果不需要python播放音频的话,只需要安装第一个库就行:
pip install baidu-aip
pip install playsound
根据百度提供的接口文档https://ai.baidu.com/ai-doc/SPEECH/Gk4nlz8tc,我们可以很容易的将一段文本翻译成音频文件,如:
from aip import AipSpeech # 导入api接口
from playsound import playsound # 音频模块
#对应填入百度控制台获取的三个参数
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
data = '你是最棒的,hello world'
result = client.synthesis(data, 'zh', 1, {
'per': 4,
'spd': 3, # 速度
'vol': 7 # 音量
})
if not isinstance(result, dict):
with open('hello.mp3', 'wb') as f:
f.write(result)