Python语言实现百度语音识别API的使用实例


Posted in Python onDecember 13, 2017

未来的一段时间,人工智能在市场上占有很重的位置,Python语言则是研究人工智能的最佳编程语言,下面,就让我们来感受一下它的魅力吧!

百度给的样例程序,不论C还是Java版,都分为method1和method2两种

前者称为隐式(post的是json串,音频数据编码到json里),后者称为显式(post的就是音频数据)

一开始考虑到pythonwave包处理的都是“字符串”,担心跟C语言的数组不一致,所以选择低效但保险的method1,

即先将音频数据base64编码,再加上采样率、通道数等信息汇集成dict,最后总体编码成json串

结果老是报:

3300输入参数不正确

先后试过urllib2和pycurl包,都是上面情况

不得已换用method2,成功(看来wave包对音频的存储并不是“字符串”)

#encoding=utf-8 
import wave 
import urllib, urllib2, pycurl 
import base64 
import json 
## get access token by api key & secret key 
 
def get_token(): 
  apiKey = "xxxxxxxx" 
  secretKey = "xxxxxxxxx" 
  auth_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apiKey + "&client_secret=" + secretKey; 
  res = urllib2.urlopen(auth_url) 
  json_data = res.read() 
  return json.loads(json_data)['access_token'] 
 
def dump_res(buf): 
  print buf 
## post audio to server 
def use_cloud(token): 
  fp = wave.open('vad_0.wav', 'rb') 
  nf = fp.getnframes() 
  f_len = nf * 2 
  audio_data = fp.readframes(nf) 
 
  cuid = "xxxxxxxxxx" #my xiaomi phone MAC 
  srv_url = 'http://vop.baidu.com/server_api' + '?cuid=' + cuid + '&token=' + token 
  http_header = [ 
    'Content-Type: audio/pcm; rate=8000', 
    'Content-Length: %d' % f_len 
  ] 
  c = pycurl.Curl() 
  c.setopt(pycurl.URL, str(srv_url)) #curl doesn't support unicode 
  #c.setopt(c.RETURNTRANSFER, 1) 
  c.setopt(c.HTTPHEADER, http_header)  #must be list, not dict 
  c.setopt(c.POST, 1) 
  c.setopt(c.CONNECTTIMEOUT, 30) 
  c.setopt(c.TIMEOUT, 30) 
  c.setopt(c.WRITEFUNCTION, dump_res) 
  c.setopt(c.POSTFIELDS, audio_data) 
  c.setopt(c.POSTFIELDSIZE, f_len) 
  c.perform() #pycurl.perform() has no return val  
if __name__ == "__main__": 
  token = get_token() 
  use_cloud(token)

运行结果

{"corpus_no":"6150045491002357923","err_msg":"success.","err_no":0,"result":["播放小苹果,"],"sn":"243903724071431919050"}

总结

以上就是本文关于Python语言实现百度语音识别API的使用实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
Python Queue模块详解
Nov 30 Python
python监控网站运行异常并发送邮件的方法
Mar 13 Python
python中Flask框架简单入门实例
Mar 21 Python
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 Python
python写入并获取剪切板内容的实例
May 31 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
解决yum对python依赖版本问题
Jul 05 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
Python通过matplotlib绘制动画简单实例
Dec 13 #Python
Python数据结构与算法之字典树实现方法示例
Dec 13 #Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 #Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 #Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 #Python
python+pygame简单画板实现代码实例
Dec 13 #Python
Python实现简单的语音识别系统
Dec 13 #Python
You might like
Symfony2函数用法实例分析
2016/03/18 PHP
php无限级分类实现方法分析
2016/10/19 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
jQuery 学习入门篇附实例代码
2010/03/16 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
学习python (2)
2006/10/31 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python如何调用java类
2020/07/05 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
团日活动策划书
2014/02/01 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
建设投标担保书
2014/05/13 职场文书
法律专业自荐信
2014/06/03 职场文书
销售团队口号大全
2014/06/06 职场文书
球队口号
2014/06/18 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书