python调用离线百度语音识别_python调用百度语音识别api
最近在处理语音检索相关的事。
其中用到语音识别,调用的是讯飞与百度的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调用离线百度语音识别_python调用百度语音识别api相关推荐
- python基于百度接口的语音识别_Python基于百度接口的语音识别
1. 主要模块介绍 1) 使用pyaudio 模块来调用麦克风录制音频 2) 使用百度提供的密钥获取access_token 3) 使用百度的语音识别接口,识别语音 2.pyaudio模块的安装 pi ...
- python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...
python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...
- python语音识别_Python中的语音识别-完整的入门指南
python语音识别 Welcome to The Complete Beginner's Guide to Speech Recognition in Python. 欢迎使用Python语音识别完 ...
- python实时语音识别_Python结合百度语音识别实现实时翻译软件的实现
一.所需库安装 pip install PyAudio pip install SpeechRecognition pip install baidu-aip pip install Wave pip ...
- python识别英语语音翻译器_Python结合百度语音识别实现实时翻译软件的实现
一.所需库安装 pip install PyAudio pip install SpeechRecognition pip install baidu-aip pip install Wave pip ...
- python调用opencv处理视频_Python调用OpenCV读写视频
最近因为经常对视频进行操作,所以记录下Python用opencv来读写视频的方法. 一.opencv读视频 python调用opencv来读视频比较简单,可以直接调用cv2.VideoCapture来 ...
- python获取某地铁站经纬度_python通过百度地图API获取某地址的经纬度详解
前言 这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的,本文将给大家详细的介绍关于python通过百度地图A ...
- python 调用 c 生成数组_python调用c++传递数组的实例
如下所示: input = c_int * 4 # 实例化一个长度为2的整型数组 input = input() # 为数组赋值(input这个数组是不支持迭代的) input[0] = 11 inp ...
- python资源百度云_Python Selenium 百度云分享链接资源 批量保存
[Python] 纯文本查看 复制代码# -*- coding: UTF-8 -*- from docx import Document #安装 pip install python-docx imp ...
最新文章
- 【数据库】关系型数据库优化操作
- Java程序员从笨鸟到菜鸟之(七十三)细谈Spring(五)spring之AOP底层大揭秘
- PyTorch1.0 教程 例子和书籍
- Teams App抽奖机器人 - 基础架构
- 苹果Macbook快捷键使用大全
- oracle刷同义词报错,oracle 同义词
- python自动化运维之路~DAY2
- Qt 之显示网络图片
- Nacos配置热更新两种方式。
- Linux中使用者身份的切换su和sudo的用法
- 如何与宜家IKEA建立EDI连接?
- 合理运用计算机技术学校,浅议在学校管理中计算机技术合理应用
- 启发式与元启发式算法
- 论文阅读:A Novel Graph based Trajectory Predictor with Pseudo Oracle
- Docker环境undertow线程数不足问题探究
- windows常用CMD命令大全总结
- 3gp文件格式研究 (转windcao的专栏)
- Vue实现简单音乐播放
- 2022年河北最新建筑八大员(材料员)模拟题库及答案
- 南京邮电大学matlab数学实验报告
热门文章
- 一篇漫画带你了解 Linux 内核长啥样!
- 把Vi改造成Vim的作者,现在又让Vim快了70倍
- Java随机数中的陷阱
- c语言不安全库_为什么 C 语言仍然占据统治地位?
- windows按照sqlite笔记
- cv2.circle函数
- CheXNet 肺炎
- python ffmpeg pyav
- concealing 706 DC, 706 AC, 706 MV errors in P frame
- 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte