要做一个在android上离线语言识别功能。搜索了一下只有Sphinx比较适合,资料也有。Sphinx库的编译和使用方法在网上比较多的资料都是源自http://ucla.jamesyxu.com/?p=118这个老外写的,但是时间较早2011年的。这个编译是在linux下的,windows下的可以参考http://gaebolg.blog.163.com/blog/static/19826906820136232810723/。目前2015在官网http://cmusphinx.sourceforge.net/wiki/tutorialandroid上的的编译和使用方法已经太不一样。


最后,我并没有编译,而是在 Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率 这篇文章中找到了可以直接使用的APK源码,里边已经包含了Sphinx 编译出来的库文件,文章里也说了制作语言模型的方法。直接使用该源码和制作出适合自己的语言模型就达到目的了。


对于制作语言模型的方法,这里要说一下。按照博客里说的方法是不完全的。我在windows下制作语言模型并没有成功,查看到评论里Tinux的回复,原来是字符编码的问题。


原来语言模型里的test.lm和test.dic文件,他们的字符编码和换行符有要求,字符编码需要是UTF-8,换行符需要是\n(即0x0A)。Unix 系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车 >”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。根据Tinux的回复中方法,我的解决办法是在linux里编辑,里边换行是0x0A。中文通过在mandarin_notone.dic文件中搜索并拷贝生成command.txt和test.dic。

更多相关文章

  1. Android(安卓)Framework 框架系列之 Android.mk
  2. NDK编译Android字符界面的可执行程序
  3. Android的子线程能更新UI吗?
  4. Android(安卓)中.aar文件生成方法与用法
  5. android-RecycleView的导入之旅
  6. Gradle在Android中的简单使用
  7. Android初始化语言 (init.*.rc、init.conf文件格式)
  8. Android(安卓)安全模型
  9. 基于ffmpeg的Android播放器开源代码

随机推荐

  1. Android 珍藏(三)
  2. Android系统工具之Monkey自动化测试
  3. Android菜单实例
  4. [Android]Common Sreen Size of Android
  5. android widget的关系图
  6. AndTerm - Android super terminal- Andr
  7. Android(安卓)解决ListView 和 ScrollVie
  8. Android 点击父控件让子控件也可以响应点
  9. android之SQLite
  10. Android VideoView播放视频