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中apply函数的用法实例教程
Jul 31 Python
python实现给字典添加条目的方法
Sep 25 Python
python实现查询苹果手机维修进度
Mar 16 Python
Django框架中方法的访问和查找
Jul 15 Python
python 容器总结整理
Apr 04 Python
Django添加sitemap的方法示例
Aug 06 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
python datetime处理时间小结
Apr 16 Python
Django DRF路由与扩展功能的实现
Jun 03 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生成PDF方法详解
2015/01/23 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
Python 在函数上添加包装器
2020/07/28 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
学校就业推荐信范文
2014/05/19 职场文书
诚信贷款承诺书
2014/05/30 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
家长会主持词开场白
2015/05/29 职场文书
可可西里观后感
2015/06/08 职场文书
python 中的@运算符使用
2021/05/26 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL