我正在寻找如何在Ruby(Rails)应用程序中使用CMU Sphinx。我需要非常简单的任务 - 我有一个mp3文件,我想把它转录成文本。
我该如何实现这种最简单的方法?我不知道C / C ++,我的任务对于学习C / C ++并不是那么大:)
感谢您的帮助!
答案 0 :(得分:10)
CMUSphinx提供了几种可用于利用语音识别功能的界面。其中一些可能更适合你,一些更少:
使用命令行工具并将其作为Rails应用程序的外部二进制文件执行,以获取所需的结果。要执行的工具是 pocketsphinx_continuous 。有关如何从Rails调用二进制文件的更多信息,请参阅以下问题: how to execute binary on heroku?
您可以使用JVM从JRuby调用Sphinx4框架,例如,请参阅JRuby中如何使用Sphinx4:http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4#writing_scripts
您可以使用SWIG实现pocketsphinx绑定。简单的部分是Python的swig包装器已经作为pocketsphinx的一部分存在,你只需要使用SWIG生成Ruby包装器:https://sourceforge.net/p/cmusphinx/code/11643/tree/trunk/pocketsphinx/swig/
最后,您可以使用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服务: