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中设计模式之Decorator装饰器模式的要点
Mar 02 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 Python
Python实现简单求解给定整数的质因数算法示例
Mar 25 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
python把数组中的数字每行打印3个并保存在文档中的方法
Jul 17 Python
Python实现的序列化和反序列化二叉树算法示例
Mar 02 Python
浅谈PySpark SQL 相关知识介绍
Jun 14 Python
如何用Python来搭建一个简单的推荐系统
Aug 07 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python/golang实现循环链表的示例代码
Sep 14 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
PHP编程网上资源导航
2006/10/09 PHP
php遍历目录viewDir函数
2009/12/15 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
Javascript实现字数统计
2015/07/03 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
Python 的描述符 descriptor详解
2016/02/27 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
python getpass模块用法及实例详解
2019/10/07 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
九州传奇上机题
2014/07/10 面试题
高中班长自我鉴定
2013/12/20 职场文书
建筑项目策划书
2014/01/13 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
公益广告标语
2014/06/19 职场文书
综合办公室岗位职责
2015/04/11 职场文书
实习证明模板
2015/06/16 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS