Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率
来源:互联网 发布:精通qt4编程 高清版 编辑:程序博客网 时间:2024/05/17 01:27
原文地址:http://zuoshu.iteye.com/blog/1463867?page=2#comments
最近语音识别很火,但是都是用的在线语音识别,研究了一下离线语音识别,小范围内的语音识别率还不错,在此记录一下
首先本文要说的两个前提1.android平台离线语音识别 2.小范围语音
小范围语音指的是相对固定的命令。本文的例子大概实现了20条语音命令,超出范围的无法识别。因此本文中离线语音的使用范围也有限,对于一些固定的输入可能有用,比如用语音命令代替打开,播放,重启这些简单的固定的命令。
先上个例子
1.按照 http://leiwuluan.iteye.com/blog/1287305 的方法,先跑一个PocketSphinxDemo的例子起来。跑起来之后会发现语音识别率很低,大概20%不到。下面来优化一下
2.编写自己的命令集
<s>百度</s>
<s>谷歌</s>
<s>音乐</s>
<s>抬头</s>
<s>低头</s>
保存为command.txt
在http://www.speech.cs.cmu.edu/tools/lmtool.html上点Browse,提交command.txt,在线生成语言模型文件。这里只要生成的lm文件,命名为test.lm。从这里下载pocketsphinx-win32,解压后在/model/lm/zh_cn有个mandarin_notone.dic的文件,打开后,搜索command.txt里面的词,然后替换相应的内容,替换后的内容如下
存为test.dic
3.替换语言模型文件。下载附件中的data.zip,解压后文件如下(之前附件中的data不可用,已更新)
分别放到一下目录
/sdcard/Android/data/test/hmm/tdt_sc_8k
/sdcard/Android/data/test/lm/test.dic
/sdcard/Android/data/test/lm/test.lm
如果要换目录的话,对应修改RecognizerTask.RecognizerTask()里的如下代码
c.setString("-hmm", "/sdcard/Android/data/test/hmm/tdt_sc_8k");
c.setString("-dict", "/sdcard/Android/data/test/lm/test.dic");
c.setString("-lm", "/sdcard/Android/data/test/lm/test.lm");
lm和dic文件即3中生成的文件,tdt_sc_8k也可以从这里下载。
4.文件准备完毕,重新跑1中的demo。语音输入2中的命令,识别率99%以上,但是输入命令集以外的无法识别。
6.附件为工程文件,将data解压,按照3里面写的位置放到sd卡里面即可。以下字典内的词可以识别
- Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率
- Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率
- 关于Windows 环境下,Android 平台使用PocketSphinx做离线语音识别
- 安卓平台使用pocketSphinx离线语音识别
- 安卓平台使用pocketSphinx离线语音识别
- Android下PocketSphinx的离线语音识别
- Android下PocketSphinx的离线语音识别
- Android下PocketSphinx的离线语音识别
- Android离线语音识别(PocketSphinx)
- PocketSphinx For Android离线语音识别
- Android离线语音识别-中英文,小范围,高准确率
- 利用pocketsphinx实现Android离线语音识别(中文)
- PocketSphinx语音识别系统
- PocketSphinx语音识别用法
- pocketsphinx 语音识别
- Android离线语音识别
- Pocketsphinx语音识别--使用流程, 安装,使用
- pocketsphinx语音识别库使用及移植
- 单例模式的两种方式:懒汉式、饿汉式
- android 1080P Launcher操作一段时间后占用300M以上RAM
- Android ServiceManager 如何注册和查找service
- 百度统计
- 亚马逊EC2的Micro2 instance上MySQL崩溃并且启动失败的解决(使用swap)
- Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率
- android 预置桌面上的应用程序图标、快捷方式图标或者窗口小部件
- swift 时间操作类
- yii2.0 安装问题:Unknown Method – yii\base\UnknownMethodException
- android 添加或者取消对于某种媒体文件格式的支持
- redistribute,access-list,distribute-list,router-map,pbr
- Android Manifest浅析
- cocos2dx-3.3 lua实现一个单选按钮
- android 用MyTV等第三方应用播放直播视频,只有声音没有画面