运用百度语音识别来读文字

该博客介绍如何利用百度语音识别接口将本地文字转换为语音mp3。通过将文字传入接口,保存返回的语音文件,并使用pyglet库进行播放。在实际操作中,遇到的问题是文件保存不完整导致播放时出错。
摘要由CSDN通过智能技术生成
运用百度语音识别来读取你的本地内容
1.把本地文字传递给百度语音接口,返回语音mp3
2.将mp3保存到本地
3.用pyglet播放此语音

#-*- coding: UTF-8 -*-
import pyglet
import hashlib
import time
import urllib.request
from urllib.request import quote
import os.path

tok='24.6a0ecfcf511a91e5fb6c9f9ef980b0d6.2592000.1462188570.282335-7953574'#你的token,一个月一授权
def downmp3(txt):
h5 = hashlib.md5()
h5.update(txt.encode('utf-8'))
m5=h5.hexdigest()

if os.path.exists(m5+'.mp3'):
return m5+'.mp3'
else:
url='http://tsn.baidu.com/text2audio?tex='+quote(txt)+'&lan=zh&cuid=1qazxsw23edcvfr4&ctp=1&tok='+tok

request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
savePath=m5+'.mp3'#此文件保存最新下载的
f = open(savePath,'wb')
f.write(response.read())
f.close()
return savePath

def exit_callback(dt):
pyglet.app.exit()

def answer(atxt):

mp3file=downmp3(atxt)
time.sleep(5)
music = pyglet.media.load(mp3file)
#music = pyglet.resource.media(mp3file)
#music = pyglet.resource.media(mp3file)
music.play()
pyglet.clock.schedule_once(exit_callback, music.duration)
pyglet.app.run()


answer('你好')

answer('你好啊')

answer('你好吗')



pyglet需要avbin.dll,附件已经包含
经测试有一个问题,文件还没完成保存,读取的时候,就会报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值