python调用百度语音识别api


Posted in Python onAugust 30, 2018

最近在处理语音检索相关的事。
其中用到语音识别,调用的是讯飞与百度的api,前者使用js是实现,后者用python3实现(因为自己使用python)

环境:

python3.5
centos 7

流程

整个百度语音识别rest api 使用分为三部分:

1 (申请操作)创建应用,获取应用的 API Key 以及 Secret Key。

2 (程序实现)通过已知的 应用的 API Key 以及 Secret Key, 发送post 请求到 https://openapi.baidu.com/oauth/2.0/token 获取 token

3 (程序实现) 通过上步骤获取的 token,通过post, 发送相关的 语音信息 到 http://vop.baidu.com/server_api ,获取识别结果.

以上过程参考百度语音开发文档,或者网上的资料。

python实现

程序整体如下:

import requests
import json
import uuid
import base64

def get_token():
 url = "https://openapi.baidu.com/oauth/2.0/token"
 grant_type = "client_credentials"
 api_key = "NzGBYD0jPFDqVT8VHRYa****"  # 自己申请的应用
 secret_key = "8439155b9db2040b4acd13b0c*****" # 自己申请的应用
 data = {'grant_type': 'client_credentials', 'client_id': api_key, 'client_secret': secret_key}
 r = requests.post(url, data=data)
 token = json.loads(r.text).get("access_token")
 return token


def recognize(sig, rate, token):
 url = "http://vop.baidu.com/server_api"
 speech_length = len(sig)
 speech = base64.b64encode(sig).decode("utf-8")
 mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:]
 rate = rate
 data = {
 "format": "wav",
 "lan": "zh",
 "token": token,
 "len": speech_length,
 "rate": rate,
 "speech": speech,
 "cuid": mac_address,
 "channel": 1,
 }
 data_length = len(json.dumps(data).encode("utf-8"))
 headers = {"Content-Type": "application/json",
 "Content-Length": data_length}
 r = requests.post(url, data=json.dumps(data), headers=headers)
 print(r.text)


filename = "two.wav"

signal = open(filename, "rb").read()
rate = 8000

token = get_token()
recognize(signal, rate, token)

同时,获取语音信息可以通过:

import scipy.io.wavfile
filename = "two.wav"
rate, signal = scipy.io.wavfile.read(filename=filename)

python调用百度语音识别api

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python封装对象实现时间效果
Apr 23 Python
python使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python挑选文件夹里宽大于300图片的方法
Mar 05 Python
PyQt5每天必学之事件与信号
Apr 20 Python
用python处理MS Word的实例讲解
May 08 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 Python
Python字符串函数strip()原理及用法详解
Jul 23 Python
python读取xml文件方法解析
Aug 04 Python
python实现ID3决策树算法
Aug 29 #Python
python实现C4.5决策树算法
Aug 29 #Python
python机器学习之KNN分类算法
Aug 29 #Python
深入理解python中sort()与sorted()的区别
Aug 29 #Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 #Python
Python读写zip压缩文件的方法
Aug 29 #Python
使用python生成杨辉三角形的示例代码
Aug 29 #Python
You might like
php array_merge下进行数组合并的代码
2008/07/22 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
javascript编写简易计算器
2017/05/06 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
Python可跨平台实现获取按键的方法
2015/03/05 Python
python中requests和https使用简单示例
2018/01/18 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
财务主管岗位职责
2014/02/28 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
学生鉴定评语大全
2014/05/05 职场文书