我是一名2016级电子信息工程的学生,这是第一次发博客,因为经常在这里查资料 ,自己也应该贡献一点经验吧,也可以当是记录自己学习的过程吧。

最近在自学python,然后18年9月份正好python加入计算机二级,再然后我趁这个机会就混过了。

百度了一下语音识别,有很许多厂商提供语音识别服务,比如:阿里云、百度AI平台、腾讯云、讯飞AI…

大家可以尝试一下其他的免费平台,我这里选择的是百度语音识别,当然需要注册一个百度云平台的账号,附上网址点击直达

支持的语音格式

原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。
我这里采用的是采样率为16KHz、单声道、wav格式的录音参数。

附上录音的源代码
这里需要pyaudio和wave库
LuYin(5, ‘test.wav’)表示录音5秒,文件名为test.wav

import pyaudio
import wave
def LuYin(Time,filename):CHUNK = 1024              #wav文件是由若干个CHUNK组成的,CHUNK我们就理解成数据包或者数据片段。FORMAT = pyaudio.paInt16  #这个参数后面写的pyaudio.paInt16表示我们使用量化位数 16位来进行录音。CHANNELS = 1              #代表的是声道,这里使用的单声道。RATE = 16000              # 采样率16kRECORD_SECONDS = Time     #采样时间WAVE_OUTPUT_FILENAME = filename   #输出文件名p = pyaudio.PyAudio()stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK)print("* 录音开始")frames = []for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):data = stream.read(CHUNK)frames.append(data)print("* 录音结束")stream.stop_stream()stream.close()p.terminate()wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')wf.setnchannels(CHANNELS)wf.setsampwidth(p.get_sample_size(FORMAT))wf.setframerate(RATE)wf.writeframes(b''.join(frames))wf.close()

注意事项

如果需要使用实时识别、长语音、唤醒词、语义解析等其它语音功能,请使用Android或者iOS SDK 或 Linux C++ SDK 等。

请严格按照文档里描述的参数进行开发,特别请关注原始录音参数以及语音压缩格式的建议,否则会影响识别率,进而影响到产品的用户体验。

目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。(摘自官方文档)

获取tokent

tokent(鉴权认证机制)相当于是自己的身份,有个这个合格的身份平台才会给你提供服务。
可以把tokent获取出来直接使用,不用每一次都获取,但是这个tokent隔一段时间会失效,我感觉是一个月左右/笑哭

import requests
import json
def Gettokent():baidu_server = "https://openapi.baidu.com/oauth/2.0/token?"grant_type = "client_credentials"#API Keyclient_id = "你的API Key"#Secret Keyclient_secret = "你的Secret Key"#拼urlurl = 'https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(client_id, client_secret)#print(url)#获取tokenres = requests.post(url)#print(res.text)token = json.loads(res.text)["access_token"]print(token)

上传识别

后两项参数为非必须(摘自官方文档)

dev_pid 参数列表(摘自官方文档)

语音识别 返回数据参数详情(摘自官方文档)

返回样例(摘自官方文档)

错误码解释(摘自官方文档)

直接附上程序
参数为本地文件的地址
附一个示例音频文件16k.wav

import pyaudio
import wave
import requests
import json
import base64
import os
def BaiduYuYin(fileurl):try:RATE = "16000"                  #采样率16KHzFORMAT = "wav"                  #wav格式CUID = "wate_play"DEV_PID = "1536"                #无标点普通话token = '你的token'# 以字节格式读取文件之后进行编码with open(fileurl, "rb") as f:speech = base64.b64encode(f.read()).decode('utf8')size = os.path.getsize(fileurl)headers = {'Content-Type': 'application/json'}url = "https://vop.baidu.com/server_api"data = {"format": FORMAT,"rate": RATE,"dev_pid": DEV_PID,"speech": speech,"cuid": CUID,"len": size,"channel": 1,"token": token,}req = requests.post(url, json.dumps(data), headers)result = json.loads(req.text)return result["result"][0][:-1]except:return '识别不清'

第一次写博客,希望大家多多指正,有什么问题请留言,一定及时回复。

Python实现语音识别(基于百度语音识别)相关推荐

  1. 基于百度语音识别API的Python语音识别小程序

    一.功能概述 实现语音为文字,可以扩展到多种场景进行工作,这里只实现其基本的语言接收及转换功能. 在语言录入时,根据语言内容的多少与停顿时间,自动截取音频进行转换. 工作示例: 二.软件环境 操作系统 ...

  2. 语音控制小车运动APP(基于百度语音识别)

    语音控制小车运动APP(基于百度语音识别) 项目背景 由于暑期优秀本科生项目需求,开发了一款控制机器人行走的APP,具体要求如下: 在第一个界面(连接界面)实现Socket连接,连接成功则跳转到下一个 ...

  3. micropython 离线语音识别_百度语音识别.pdf

    语音识别1(百度语音识别) 简介 推荐国内用户使用!识别普通话效果可以,识别英文效果不好.尽量识别长点,有现实意义的长短语. 这样识别率比较高 语音识别,是CC喵最喜欢的一个人工智能功能.近年来智能音 ...

  4. python 实现录音加百度语音识别

    一.在python中使用pyaudio进行录音 环境准备 1.首先在相关的项目下使用如下命令安装pyaudio. pip install pyaudio 2.使用pip install pyaudio ...

  5. 语音识别—实现百度语音识别

    采用前端录音,基于Node搭建Websocket服务器,音频对象Blob使用Websocket传给后端服务器后写入本地音频文件,然后调用百度AI语音识别本地音频文件,最后将识别结果传给前端显示. 源码 ...

  6. Android语音识别——谷歌语音识别与百度语音识别

    Android语音识别,简单的理解就是把语音转化为文字. 在日常中,语音识别,车载导航.语音输入等,虽然不一定准确,但用途广泛. 这里就介绍下谷歌原生的语音识别与百度的语音识别 谷歌语音识别 谷歌语音 ...

  7. 百度语音识别下载|百度语音识别demo_绿盟市场_绿色软件联盟

    + 展开全部- 收起部分百度语音识别demo介绍 百度语音识别demo是支持 node 版本 4.0+.直接使用Node.js开发包步骤如下:1.下载Node.js SDK压缩包.2.将下载的`aip ...

  8. google 语音识别 VS 百度语音识别

    google [优点] ).很牛逼,实时解析这么精准,了不起 ).有歧义的语句,复杂的语句,自动纠正能力很强,哪怕发音差(普通话差)也能识别 ).语音识别能力:丧心病狂 ).完全免费的: speech ...

  9. 树莓派百度语音识别+图灵机器人对话聊天机器人

    硬件 树莓派3B.USB声卡.麦克.USB音响 软件 python.百度语音识别API.图灵机器人.espeak 树莓派官方系统自带python环境.注册百度语音识别开发者账号,获取api key. ...

最新文章

  1. html5决战沙城源码,决战沙城h5符文玩法介绍 怎么获得完美首通
  2. cocos2d学习路线
  3. 信用卡逾期不还是否要坐牢?看法律是怎么规定的
  4. linux指令与数据库,Linux指令每日背诵(第一天)
  5. 苹果调整App Store政策;国内首个5G+8K超高清国产化白皮书发布;Windows计算器移植到到 Linux|极客头条
  6. WinAPI: waveInGetPosition - 获取当前输入设备的输入位置
  7. php视频格式转换mp4教程,PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
  8. [Unity3D] DOTween和Curvy插件,以及UI-Extension
  9. 计算机网络Mac地质实验eNSP,eNSP实验(二)MAC帧分析 广播风暴
  10. Python数据可视化之散点图和折线图
  11. win2008服务器系统升级,Windows Server 安装和升级
  12. c语言打铃器单片机程序,基于单片机的自动打铃器的设计
  13. oauth2-怎么使用
  14. antdvue upload组件的customRequest自定义上传事件一直uploading处理方法
  15. 2022第七届少儿模特明星盛典全国总决赛 圆满落幕
  16. 第六章 网上银行与电子支付-2
  17. 牛仔裤是如何传到中国的,有着怎样的背后故事?
  18. bilibili有电脑版吗_《和平精英》电脑版?火爆东南亚的轻量版吃鸡《PUBG LITE》好玩吗?...
  19. 2018年全国各省市区编号大全(2)
  20. 移动互联网的当下短网址用途越来越广

热门文章

  1. Ubuntu20.04安装ROS2(Foxy)极简教程
  2. dell服务器重装win10,DELL服务器通过F10-Lifecycle-Controller安装Windows-server系统步骤
  3. 魔兽世界怀旧服务器维护,魔兽世界怀旧服紧急维护再次新增服务器
  4. 为什么在电力电子装置中,一般采集电压电流用来控制的采用霍尔传感器而不用互感器?
  5. 亚马逊、西门子、默沙东、艾默生、快手、魅族等公司高管变动 | 2021年2月1日-7日...
  6. 数字图像处理学习笔记(六)——数字图像处理中用到的数学操作
  7. 发那科主轴服务器显示24,FANUC正常加工中主轴为什么突然不转了?
  8. Android抽奖小程序
  9. 中国石油大学《CAD制图》第二阶段在线作业
  10. Fusilli.js简单的弹出JavaScript插件