公司有个需求,要用类似淘宝上语音输入搜索的信息。我的思路是将语音转换为文字,然后用UISearchBar或者UISearchBarDisplayController 来做,因此,重中之重就是语音转文字了,上网查了一下,语音这方面,国内做的最好的就讯飞了(据说百度也可以,但是我们安卓说还是不太行,我也就没看百度的,直接讯飞了),在网上查了一下,这方面的文章并不多,很大一部分都是几年前的,没有比较新的那种,因此就将自己集成语音听写的过程记录下来,以备参考。
首先去讯飞的官网注册一下,成为开发者
因为是做语言听写的,直接进去
![](https://img.haomeiwen.com/i1377427/4b0463a9c72c8680.png)
-
进去之后,详情部分随便看看有个了解就好,这里说的是其他的,这个垂直听写模型;
2016083123474QQ20160831-1.png
这个垂直听写模型大致的意思就是一个行业的专业术语识别率会比较高。不过可惜的是目前只有商旅,视频和音乐三个模块,相信以后会有更多的(不过半年前就是这几个了0.0...)
这部分使用的话识别率高,我也没有研究过这个玩意,有需求的可以自己去看看。
-
接下来是个性化听写,这一部分是 用得到的了。
2016083164816QQ20160831-2.png
如果没有的话就先穿件个应用。
右边能够下载SDK 最好是先下载出来看看官方的demo,但是不要纠结,切记 一定不要纠结,官方的demo看看参考下就好,一定不要对着刚,会受伤的(小白请切记,大神请无视。。。)
![](https://img.haomeiwen.com/i1377427/f247e9ff6bf1c89b.png)
个性化听写里面的热词 还是非常有用的。
![](https://img.haomeiwen.com/i1377427/5a61f0220f8e8210.png)
它就是让你自己上传一个文本文件,txt格式的,里面记录一些你应用中经常会搜索到的一些词汇,专业性词汇,能够极大地提高识别率(据说的,个人感觉还是会偏差一点,不过很小)。
热词的格式就是这样的:
![](https://img.haomeiwen.com/i1377427/593699aaed4f7a40.png)
要注意的是:
- 每一行是一个热词
- 每一行结尾不要有标点
- 最多两千行(要是热词从数据库导出的话,就要控制下长度了)
开放平台看完了马上就是集成的时间了。。。
不管集成什么SDK,不管官方的文档写的多垃圾,都是必须要到开放平台看看官方的文档的,毕竟是人家写的嘛。看看对理解流程还是非常有帮助的。因为现在做的是语音听写的功能,所以语音听写部分要认真的看。
![](https://img.haomeiwen.com/i1377427/7042d812a5e78d06.png)
-
首先按照文档的指示,在Linked Frameworks and Libraries导入依赖库;
20160831147261873562653.jpg
注意如果是离线识别的话还要加上libc++.a这个库才行
确认sdk 路径这一步很重要,文档也谢的很清楚,在这就不写了,路径不对用不了的! -
在需要用到语音识别的地方导入头文件,我这里做的一个小demo,用了两个按钮来监听录音的开始和结束,一个textFiled显示识别结果,(这里用的是讯飞无UI那个)。
- 注意:
- 头文件导入有可能没有提示,直接复制下面的。
- 代理方法不要忘了写,不写的话是不会提识别的
- 注意:
具体的demo就不在这贴了,文章最后面有demo,看下应该就名白了的。。。。
详细的请自己下载个看下吧,github
网友评论