在没有NDK的Android上使用CMUSphinx

时间:2013-10-11 11:15:19

标签: java android speech-recognition cmusphinx

我正在尝试为Android编写语音识别程序,最流行的Windows程序似乎就在这里:https://sites.google.com/site/opiatefuchs/home/pocketsphinxandroiddemo

PocketsphinxAndroidDemo的链接似乎已被破坏,因此从here下载,我发现here。如果我使用这个版本的PocketSphinxAndroid,它需要在Eclipse项目设置中进行大量修改,但是,在一天结束时,我能够让它工作

但是现在我意识到PocketSphinxAndroid只是手机的用户界面,而pocketphinx和sphinxbase实际上是在进行语音识别。与Sphinx 4(用Java编写)不同,它们是用C语言编写的,因此必须使用NDK编译,这是我不熟悉的东西。我本来希望使用像用Java编写的Sphinx 4,但用于Android DVM。

所以问题是,是一个可用的pocketphinx版本,完全是用Android Java编写的,或者是否可以修改Sphinx 4在android下工作(例如,使用Android 'AudioRecord而不是Microphone类来获取音频输入样本)

1 个答案:

答案 0 :(得分:3)

  

是否有一个版本的pocketsphinx可用,完全用Android Java编写,

不,没有这样的东西,pocketphinx是用C语言编写的,而不是用java编写的。

  

是否可以修改Sphinx 4在android下工作(例如,使用Android的AudioRecord而不是Microphone类来获取音频输入样本)?

是的,有可能。详见:

https://sourceforge.net/p/cmusphinx/mailman/message/31316830/

有附件java文件可以实现所需的一切。

然而,这个系统对于有限的移动设备资源来说太慢了,最好使用pocketsphinx for android,它实际上很容易设置,你不需要任何特定的NDK知识。如果你在android上有关于pocketsphinx设置的问题,欢迎你提问,参见

Why does PocketSphinx Android demo require cygwin