最近在做毕设项目中,要用到一个语音识别的功能,主要目的是把用户说的话转换成文字,然后再做其他处理。找了多个语音识别的第三方sdk,比如百度语音识别、微信语音识别、科大讯飞语音识别,发现科大讯飞的比较好用。做了一个demo程序,有详细的注释,在这里整理一下。
(一)准备工作
0、创建一个空的android项目,比如项目名叫:speechrecognitiondemojyj。
1、首先要在科大讯飞开放平台(http://www.xfyun.cn/)上注册,或者用qq等第三方登录也行。
2、点击网站首页右上角的“控制台”,进入控制台。
3、按照说明创建一个应用,该应用名就叫speechrecognitiondemojyj,创建成功后会有一个appid,记下来,编程的时候要用到。
4、点击speechrecognitiondemojyj后面的“开通服务”按钮,开通服务—》语音听写,进入语音听写—》下载当前应用对应的sdk。
5、下载android版的sdk,将sdk包中libs目录下的msc.jar和armeabi复制到android工程的libs目录(如果工程无libs目录,请自行创建)中,并且因为还要用到语音听写dialog,所以还要把sdk包中assets目录下的iflytek文件夹复制到工程的assets目录下,如下图所示。还要注意,每个不同的应用都要申请不同的appid,并且要分别下载不同appid对应的sdk,否则会出错。
6、其他更详细的说明和资料可以参看讯飞开放平台的资料库(http://www.xfyun.cn/doccenter)。
(二)开发
demo实现的功能很简单,就是点击一个按钮,弹出语音识别dialog窗口,说话,说完了点击dialog窗口后会把自动识别的文字结果显示在下方的edittext中。服务器返回的语音听写的结果是json格式数据,最后还要对json数据进行解析(具体解析方法参看我的这篇文章:用gson解析json格式数据),解析出语音字符串。
1、xml代码:
界面中有一个按钮,一个textview和一个edittext,edittext用于显示语音识别的结果。
2、mainactivity
3、自定义的com.example.speechrecognition.dictationresult类的代码:
4、androidmanifest.xml中申请权限:
5、测试:模拟器无法打开录音机,是不能在上面测试的,要用真机测试。测试结果如下图:
科沃斯商用机器人“程犀”斩获2021红点设计大奖
苹果将发布全屏幕指纹识别技术新专利
什么是CRT显示器带宽
重庆试运行首台5G无人驾驶巴士
2020年Q3华为服务器发货量增长率全球第一
科大讯飞开放平台语音听写接口使用教程
阿里平头哥与国产MCU厂商爱普特达成深度战略合作 未来一年将推六大RISC-V芯片系列
解构英特尔FinFET元件:剖面更像三角形梯形
比亚迪获全国首张L3自动驾驶高快速路测试牌照加速智能化布局
如何抓住人工智能范式转变的机会窗口期?
数据链路层的功能
中国电信正在积极对5G+垂直行业等十大行业进行探索
超声波气象传感器厂家有哪些
解析工业相机如何进行视觉检测
AI智能识别助力城市交通智能化
开发应用程序中如何更好地利用人工智能
数字资产抵押系统开发的优势以及上手的交易特点
英特尔发布第九代酷睿处理器!
介绍环氧树脂灌胶加工所用胶水的九大特点
2019年8K电视缘何受热捧?(附预测数据)