安卓离线语音识别:使用简单命令/词汇

4
我正在寻找一些库,可以让我在我的Android应用程序中创建离线语音识别。 我的应用程序将有一个简单的词汇表,包含最多15个短命令(一个单词)。 在我的情况下,响应时间至关重要。
是否有任何可行的离线选项(免费和付费)? 我知道Sphinx的离线版本,但它是否是响应最快的选项(再次强调,我只需要我的应用程序识别几个命令,而不是整个语音转文本功能)?
2个回答

5
我曾经成功地使用 PocketSphinx 来实现这种应用。我建议您构建 PocketSphinx Demo 应用程序,使用在线 Sphinx lmtool 构建您的短命令语言模型,并查看它是否满足您的响应时间需求。如果 onResults 回调不够快,您可以使用 onPartialResults 回调,它几乎立即返回--这就是我所做的,我对性能很满意。演示应用程序还在 UI 中内置了一个小计时器。
如果您使用在线 lmtool,您只需从其生成的文件中取出 lm 文件和 dict 文件,使用它们替换演示设置说明中指向的语言模型中相应的 lmdict 文件即可。

这个东西构建起来有点麻烦,但这是我第一次使用NDK,它有些棘手。


2
建议使用JSGF格式构建语法,而不是lmtool。有关详细信息,请参见http://cmusphinx.sourceforge.net/wiki/tutoriallm。 - Nikolay Shmyrev
我喜欢PocketSphinx,但感觉它还没有完全开发好。 - Vlad

0
你正在寻找关键词识别软件吗?sensoryinc.com已经做了多年,并且最近推出了一些Android应用程序。这里有一个例子,我正在开车,想使用语音触发器记录音频笔记。只有在我说“hello blue genie”之后,它才开始记录我的音频笔记。 http://vimeo.com/64658273 (不,我不在Sensory工作,但我认为他们的技术受到了极大的低估)

似乎是一个在线解决方案。 - Vlad
1
不,它一直处于飞行模式(您可以在绿色电池左上方看到小飞机图标)。 - Ben
@Ben似乎找不到下载他们的SDK的方法。网站上只有视频! - Dheeraj Bhaskar
对的,你在视频中看到的是在一次会议上分发给我们的应用程序,而不是 SDK。我确定他们有一个 SDK,因为几年前我用过它,但它并不是免费提供的。 - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接