4期
番外篇
问题识别
导读:问题识别其实很简单!
LEARN MORE
正文
1
上期我们介绍了UI的设计、问题采集。这期我们讲讲问题识别部分。
2
实现思路
问题识别的本质在于语音识别。语音识别该怎么做呢?
目前国内使用较多的语音识别SDK,一般是讯飞的语音识别和百度的语音识别。这里我选择百度的语音识别,为什么呢?
因为讯飞语音识别的SDK中Window版本的实现语言是C++,虽然我们可以通过Python ctypes模块进行调用,但是由于涉及到C++,改造起来对于初学者来说还是比较麻烦。而百度语音识别中有现成的Python调用范例,实现非常简单,所以推荐。
要实现上述功能的有一个前提:必须联网使用,不能离线识别。
注册API
首先我们来到百度AI开发平台中的语音识别页面:http://ai.baidu.com/tech/speech
点击立即使用。
2. 我们登录百度AI开发平台后,选择创建应用。
3. 然后我们根据具体的需求填写相应的信息。
4. 我们返回列表,可以看到应用名称、AppID、API Key、Secret Key这些关键的参数。
如何使用API一些简单的说明
详细的文档说明在这里:http://ai.baidu.com/docs/#/ASR-Online-Python-SDK/top
这里我们使用百度语音识别的REST API方式,这是给开发者提供一个通用的HTTP接口。上传需要完整的录音文件,录音文件时长不超过60s。
语音格式支持:原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。
注意事项
目前本SDK的功能同REST API,需要联网调用http接口 。REST API 仅支持整段语音识别的模式,即需要上传完整语音文件进行识别,时长不超过60s,并且没有其他额外功能。如果需要使用实时识别、长语音、唤醒词、自定义词库设置、语义解析等其它语音功能,请使用Android或者iOS SDK。
请严格按照文档里描述的参数进行开发,特别请关注原始录音参数以及语音压缩格式的建议,否则会影响识别率,进而影响到产品的用户体验。
目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。
快速入门
安装使用Python SDK有如下方式:
如果已安装pip,执行pip install baidu-aip即可(推荐)。
如果已安装setuptools,执行python setup.py install即可(需要下载 Python SDK)。
新建AipSpeech
AipSpeech是语音识别的Python SDK客户端,为使用语音识别的开发人员提供了一系列的交互方法。
参考如下代码新建一个AipSpeech:
在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
语音识别
向远程服务上传整段语音进行识别
举例,要对段保存有一段语音的语音文件进行识别:
返回样例:
返回数据参数详情错误信息
若请求错误,服务器将返回的JSON文本包含以下参数:
error_code:错误码。
error_msg:错误描述信息,帮助理解和解决发生的错误。
3
最后
本章主要是介绍Python SDK的使用,涉及到的知识点也不多。主要会调用就行了。虽然本次没有相应的资源提供下载,还是希望各位能关注:学点编程吧,谢谢!
哦,对了,讯飞语音识别的Python调用我也会写的,这个比百度语音复杂多了,单独成章,敬请关注!
请动动小手在微信公众号号中间的菜单,完成我们的满意度调查问卷,提升我们的服务质量,谢谢!
加入我们的学习交流QQ群,一起学习吧!
苹果用户也能打赏了,扫一扫下面的二维码吧!
看完本文有收获?请转发分享给更多人
猜你喜欢:
更多的PyQt5文章请在微信公众号/在线课程/图文教程中查找。
领取专属 10元无门槛券
私享最新 技术干货