语音识别之自我总结


1.进入语音识别领域
因为各种原因,之前单位不想继续了,打算换工作,正好在加入的技术群里面有招聘相关职位,看了下,比较符合(主要是用ARM汇编写过程序,做过代码优化等),顺利进到新公司,开始接触语音识别领域。

2.工作和学习过程
       工作吗,首先看公司安排,公司打算做一款嵌入式语音识别引擎,经过评估,确定用 CMU Sphinx,之前同事已经做几个月,经过评估,项目需要优化,需要经核心代码汇编化,以满足速度要求,这也是本人进入这家公司的主要原因。

        虽然之前同事已经做过,但是经了解,其并不是完全自己移植到手机端,是利用了网上的一些东西,所以导致版本很老,而且好多JNI和JAVA层代码不相符的情况,所以在一周之后决定全部从头开始做。结合网上的资料,搭建环境,生成代码,然后建立android平台工程(在这块上完全不能按网上的资料做,还好自己以前弄过相关的东西),提取自带模型,测试,确实,实时率,识别率都不甚理想。

首先解决速度的问题,经过近两个多月的测试,汇编化,浮点计算转定点等工作,实时率基本上在0.12以内,性能基本满足。

        其次是识别率的问题,查资料,找方法,经过N多弯路,最后确定自己做模型,包括语言模型,语音模型,又是三个多月,终于识别率到了90%以上。

最后是商品化工作,将模型从内存加载,并作加密保护(毕竟是公司,公司要靠这个赚钱的。。。),两个月,测试后终于出了第一版DEMO,呵呵,没错,就是DEMO,毕竟只有一个人做,速度确实不够快。这还是在WINDOWS上建立的同步代码的工程,好多问题比较好定位,查找,不然就在ANDROID平台,估计还需两个月。。。,苦逼啊

3.成果
  就是对语音识别整个过程有了全方位的了解,包括识别引擎,模型训练,性能提升,当然,有些细节的东西还是不太明白,没关系,用华云大哥的话说,我已经站在了一个很高的平台之上了,总算是没有白熬那么长时间啊

  好了,说了这么多,给大家展示一下我成果,DEMO.APK,直接安装到手机上即可,

下面是测试数据,可以按下按钮说话,抬起之后会出最后的结果,中间结果忽略

打开空调
车内循环
车外循环
关闭空调
打开天窗
关闭天窗
接听
挂断
打电话
打开导航
关闭导航
打开本地音乐
关闭音乐
播放
暂停
收藏
随机播放
单曲循环
全部循环
播放收藏音乐
上一台
下一台
打开新闻
打开电台
关闭收音机
自动搜台
内循环
外循环
通讯录
导航
本地音乐
关闭广播
电台
播放收藏列表
广播
上一曲
下一曲
有声读物
上一个
下一个
上一条
下一条
新闻
上一首
下一首
打开收音机
打开广播
关闭电台
收音机

稍后会详细记录,总结在这个项目中碰到的问题

发不了附件,奇怪,有对语音识别有兴趣的朋友可以加我QQ,275453043,我们一起学习,讨论问题。。。

DEMO.apk 链接
http://download.csdn.net/detail/liufuliang163/8347299

源码 github 地址
https://github.com/liufuliang/AndroidCMUSphinx
欢迎有兴趣的朋友一起学习
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐