2

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

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

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

例如,PocketSphinx 具有processRaw此问题(Android 上的 Pocketsphinx 输入)中描述的功能。

Sphinx4中没有对应的功能吗?

4

1 回答 1

1

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

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

  2. 使用数据从 byte[] 数组创建ByteArrayInputStream

  3. 使用 StreamDataSource 的 setInputStream 方法设置输入流以使用 ByteArrayInputStream

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

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

于 2013-08-09T19:33:27.343 回答