文字转语音并进行播放

问题描述

请将一段文字或一篇文章转化为语音,并且能够自动播放或手动播放

解决方法

利用百度的语音合成API接口from aip import AipSpeech(当然你需要在百度智能云上面创建属于自己的语音应用接口),将文字转换为语音并将转换结果保存为mp3格式
【详细教程】

from aip import AipSpeech
# 该接口已停用
APP_ID = '19466508'
API_KEY = 'nGa68dQVWWzHVEAGGtDvOrXU'
SECRET_KEY = 'zvAKKiP7I2Fw2gGlGzz29QuZosS2lGSl'

ctp = 1
vol = 0
lang = 'zh'

text = 'hello word!'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
result = client.synthesis(text, lang, ctp, {
    'vol': vol,
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
# 将结果保存到 audio.mp3文件里面
if not isinstance(result, dict):
    with open('audio.mp3', 'wb') as f:
        f.write(result)

接下来使用from mutagen.mp3 import MP3获取mp3的时长,这样可以非常方便的进行语音的播放和停止

audio = MP3('audio.mp3')
print(audio.info.length)

最后使用from ctypes import windll进行播放语音

# mciSendString是用来播放多媒体文件的 API指令,可以播放MPEG,AVI,WAV,MP3等等
windll.winmm.mciSendStringA(b'play audio.mp3', 0, 0, 0)
time.sleep(audio.info.length)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hjhcos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值