这篇文字是基于前辈分享的基础上写出来的。
前辈在这里:
http://blog.sina.com.cn/s/blog_7cedb56d0102vb5p.html
http://blog.csdn.net/wolfblood_zzx/article/details/46418635
http://blog.csdn.net/happen23/article/details/45821697
我这里只使用了requests库,相对来说简单点:
#-*- coding: utf-8 -*-
import base64, requests
d = open('testxf.pcm', 'rb').read()
data = {
"format": "pcm",
# "format": "wav",
"rate": 16000,
"channel": 1,
"token": "your token",
"cuid": "your mac",
"len": len(d),
"speech": base64.encodestring(d).replace('\n', '')
}
result = requests.post('http://vop.baidu.com/server_api', json=data, headers={'Content-Type': 'application/json'})
data_result = result.json()
print data_result['err_msg']
if data_result['err_msg']=='success.':
print "语音结果:" + data_result['result'][0].encode('utf-8')
else:
print data_result
这里获取TOKEN的代码,就没贴出来了,可以参考前辈的代码。
特别注意:”speech”: base64.encodestring(d).replace(‘\n’, ”),这也是参考一位前辈的指导,需要去掉最后的回车(不好意思没记住前辈的地址)。
另外,我测试了2个自己的WAV文件,清晰的可以识别,噪音比较大的识别不了。后面研究下降噪,看能不能识别出来。