如何将音频数据直接传递给Sphinx4

时间:2013-08-09 17:49:07

标签: speech-recognition sphinx4

我想将Sphinx4用作我系统的一部分。而且,我已经尝试过直接使用麦克风的HelloWorld演示。另外,我看过有关使用音频文件的示例。

所以,我的问题是,是否还有其他方式来识别语音?例如,识别短类型数据(例如short[]缓冲区)。

除了使用麦克风或wav文件(音频文件)之外,我找不到其他方法。

例如,PocketSphinx具有此问题(Input for Pocketsphinx on Android)中描述的processRaw函数。

Sphinx4中没有相应的功能吗?

1 个答案:

答案 0 :(得分:1)

要从字节数组中提供数据,您需要执行以下操作:

  1. 配置前端使用StreamDataSource而不是Microphone或AudioFileDataSource。您可以看到LatticeDemo或TranscriberDemo,例如如何做到这一点。

  2. 使用数据

  3. 从byte []数组创建ByteArrayInputStream
  4. 将输入流设置为使用ByteArrayInputStream和StreamInputSource的setInputStream方法

  5. 运行recognize()以识别字节数组中的数据

  6. 您可以通过InputStream成功使用任何数据,例如来自Socket或文件的输入数据。