如何在Ruby应用程序中使用CMU Sphinx语音识别?

时间:2012-11-08 17:18:51

标签: ruby-on-rails ruby cmusphinx

我正在寻找如何在Ruby(Rails)应用程序中使用CMU Sphinx。我需要非常简单的任务 - 我有一个mp3文件,我想把它转录成文本。

我该如何实现这种最简单的方法?我不知道C / C ++,我的任务对于学习C / C ++并不是那么大:)

感谢您的帮助!

3 个答案:

答案 0 :(得分:10)

CMUSphinx提供了几种可用于利用语音识别功能的界面。其中一些可能更适合你,一些更少:

  1. 使用命令行工具并将其作为Rails应用程序的外部二进制文件执行,以获取所需的结果。要执行的工具是 pocketsphinx_continuous 。有关如何从Rails调用二进制文件的更多信息,请参阅以下问题: how to execute binary on heroku?

  2. 您可以使用JVM从JRuby调用Sphinx4框架,例如,请参阅JRuby中如何使用Sphinx4:http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4#writing_scripts

  3. 您可以使用SWIG实现pocketsphinx绑定。简单的部分是Python的swig包装器已经作为pocketsphinx的一部分存在,你只需要使用SWIG生成Ruby包装器:https://sourceforge.net/p/cmusphinx/code/11643/tree/trunk/pocketsphinx/swig/

  4. 最后,您可以使用Java REST框架实现REST Web,以使用CMUSphinx工具将音频转换为文本,并从Ruby代码调用服务。有关详细信息,请参阅有关如何使用REST from Rails的信息 通过这种方式,您可以使系统真正具有可扩展性。

答案 1 :(得分:3)

我最近为这样做创建了一个宝石:

https://github.com/watsonbox/pocketsphinx-ruby

它使用Ruby外部函数接口(FFI)直接与libpocketsphinx进行交互。

答案 2 :(得分:1)

也许看看这个使用PocketSphinx的基于Ruby的语音识别Web服务:

https://github.com/alumae/ruby-pocketsphinx-server