最近在处理语音检索相关的事。

其中用到语音识别,调用的是讯飞与百度的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相关推荐

  1. python基于百度接口的语音识别_Python基于百度接口的语音识别

    1. 主要模块介绍 1) 使用pyaudio 模块来调用麦克风录制音频 2) 使用百度提供的密钥获取access_token 3) 使用百度的语音识别接口,识别语音 2.pyaudio模块的安装 pi ...

  2. python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...

    python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...

  3. python语音识别_Python中的语音识别-完整的入门指南

    python语音识别 Welcome to The Complete Beginner's Guide to Speech Recognition in Python. 欢迎使用Python语音识别完 ...

  4. python实时语音识别_Python结合百度语音识别实现实时翻译软件的实现

    一.所需库安装 pip install PyAudio pip install SpeechRecognition pip install baidu-aip pip install Wave pip ...

  5. python识别英语语音翻译器_Python结合百度语音识别实现实时翻译软件的实现

    一.所需库安装 pip install PyAudio pip install SpeechRecognition pip install baidu-aip pip install Wave pip ...

  6. python调用opencv处理视频_Python调用OpenCV读写视频

    最近因为经常对视频进行操作,所以记录下Python用opencv来读写视频的方法. 一.opencv读视频 python调用opencv来读视频比较简单,可以直接调用cv2.VideoCapture来 ...

  7. python获取某地铁站经纬度_python通过百度地图API获取某地址的经纬度详解

    前言 这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的,本文将给大家详细的介绍关于python通过百度地图A ...

  8. python 调用 c 生成数组_python调用c++传递数组的实例

    如下所示: input = c_int * 4 # 实例化一个长度为2的整型数组 input = input() # 为数组赋值(input这个数组是不支持迭代的) input[0] = 11 inp ...

  9. python资源百度云_Python Selenium 百度云分享链接资源 批量保存

    [Python] 纯文本查看 复制代码# -*- coding: UTF-8 -*- from docx import Document #安装 pip install python-docx imp ...

最新文章

  1. 【数据库】关系型数据库优化操作
  2. Java程序员从笨鸟到菜鸟之(七十三)细谈Spring(五)spring之AOP底层大揭秘
  3. PyTorch1.0 教程 例子和书籍
  4. Teams App抽奖机器人 - 基础架构
  5. 苹果Macbook快捷键使用大全
  6. oracle刷同义词报错,oracle 同义词
  7. python自动化运维之路~DAY2
  8. Qt 之显示网络图片
  9. Nacos配置热更新两种方式。
  10. Linux中使用者身份的切换su和sudo的用法
  11. 如何与宜家IKEA建立EDI连接?
  12. 合理运用计算机技术学校,浅议在学校管理中计算机技术合理应用
  13. 启发式与元启发式算法
  14. 论文阅读:A Novel Graph based Trajectory Predictor with Pseudo Oracle
  15. Docker环境undertow线程数不足问题探究
  16. windows常用CMD命令大全总结
  17. 3gp文件格式研究 (转windcao的专栏)
  18. Vue实现简单音乐播放
  19. 2022年河北最新建筑八大员(材料员)模拟题库及答案
  20. 南京邮电大学matlab数学实验报告

热门文章

  1. 一篇漫画带你了解 Linux 内核长啥样!
  2. 把Vi改造成Vim的作者,现在又让Vim快了70倍
  3. Java随机数中的陷阱
  4. c语言不安全库_为什么 C 语言仍然占据统治地位?
  5. windows按照sqlite笔记
  6. cv2.circle函数
  7. CheXNet 肺炎
  8. python ffmpeg pyav
  9. concealing 706 DC, 706 AC, 706 MV errors in P frame
  10. 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte