接上一篇内容,这次利用百度AI提供的语音合成api,将爬取到的小说文字数据转化为音频数据。需要有一个百度账号,然后再创建一个语音合成的应用,参照官方python调用百度语音合成api接口详细文档(可参照我另一篇博客:Python实现简单截图识别获取文字信息 这里不再详细说明)
创建一个百度AI语音识别应用(免费的)
官方网址:https://ai.baidu.com/tech/speech
点击立即使用
创建应用
应用信息任意填就行了
把APP_ID、API_KEY、SECRET_KEY分别复制到编译器中,待会需要用到
Python调用
先在Terminal中安装两个库 baidu-aip,playsound,playsound:音频播放模块
pip install baidu-aip # 百度的接口
pip install playsound
参照官方的Python接口文档可自己设置发声人、音量、速度等。需要注意的是: 毕竟我们用的是免费的,百度ai是有每天读取数量限制的,具体可在官方文档查看,调用超额会转换失败,需要大量转换的只能等到第二天或者自己付费购买了
下面拿一章数据来演示转换,没办法演示语音效果了
from aip import AipSpeech # 导入api接口
from playsound import playsound # 音频模块
""" 你自己的 APPID AK SK """
APP_ID = '你自己的 APPID '
API_KEY = '你自己的 AK'
SECRET_KEY = '你自己的 SK'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
with open(r'第五十九章 北海有墓碑.txt', 'r', encoding='utf-8') as f:
data = f.read()
'''
'per': 4 发声人选择,0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
'''
result = client.synthesis(data, 'zh', 1, {
'per': 4,
'spd': 3, # 速度
'vol': 7 # 音量
})
if not isinstance(result, dict):
with open('test.mp3', 'wb') as f:
f.write(result)
# 播放
playsound("test.mp3")
转换成功
这还只是一个写死的程序,为了方便操作可以加入UI界面,引用tkinter插件来读取本地的文件,最后将程序导出为可执行文件就可以随时转换本地的数据文件了
关于博主
300 x 1000 这个圈真的很大 。不可能做到全能,但一定要有自己精通的,我…现在还没有!