语音api"/>
python调用百度语音api
最近在学习python,做一些python练习题
github上几年前的练习题
有一题是这样的:
使用 Python 实现:对着电脑吼一声,自动打开浏览器中的默认网站。
例如,对着笔记本电脑吼一声“百度”,浏览器自动打开百度首页。
然后开始search相应的功能需要的模块(windows10),理一下思路:
本地录音
上传录音,获得返回结果
组一个map,根据结果打开相应的网页
所需模块:
PyAudio:录音接口
wave:打开录音文件并设置音频参数
requests:GET/POST
为什么要用百度语音识别api呢?因为免费试用。。
不多说,登录百度云,创建应用
查看文档REST API文档
文档写的蛮详细的,简单概括就是
可以下载使用SDK
不需要下载使用SDK
选择2.
根据文档组装url获取token
处理本地音频以JSON格式POST到百度语音识别服务器,获得返回结果
语音格式
格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。推荐pcm 采样率 :16000 固定值。 编码:16bit 位深的单声道。
百度服务端会将非pcm格式,转为pcm格式,因此使用wav、amr会有额外的转换耗时。
保存为pcm格式可以识别,只是windows自带播放器识别不了pcm格式的,所以改用wav格式,毕竟用的模块是wave?
首先是本地录音
import wave
from pyaudio import PyAudio, paInt16
framerate = 16000 # 采样率
num_samples = 2000 # 采样点
channels = 1 # 声道
sampwidth = 2 # 采样宽度2bytes
FILEPATH = 'speech.wav'
def save_wave_file(filepath, data):
wf = wave.open(filepath, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(sampwidth)
wf.setframerate(framerate)
wf.writeframes(b&#
更多推荐
python调用百度语音api
发布评论