Python百度AI语音识别——文字转语音

接上一篇内容,这次利用百度AI提供的语音合成api,将爬取到的小说文字数据转化为音频数据。需要有一个百度账号,然后再创建一个语音合成的应用,参照官方python调用百度语音合成api接口详细文档(可参照我另一篇博客:Python实现简单截图识别获取文字信息 这里不再详细说明)

创建一个百度AI语音识别应用(免费的)

官方网址:https://ai.baidu.com/tech/speech

点击立即使用
在这里插入图片描述
创建应用
在这里插入图片描述
应用信息任意填就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把APP_ID、API_KEY、SECRET_KEY分别复制到编译器中,待会需要用到
在这里插入图片描述

Python调用

先在Terminal中安装两个库 baidu-aipplaysound,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 这个圈真的很大 。不可能做到全能,但一定要有自己精通的,我…现在还没有!
在这里插入图片描述

发布了22 篇原创文章 · 获赞 28 · 访问量 5256

猜你喜欢

转载自blog.csdn.net/weixin_42365530/article/details/103915056