我想将Sphinx4用作我系统的一部分。而且,我已经尝试过直接使用麦克风的HelloWorld演示。另外,我看过有关使用音频文件的示例。
所以,我的问题是,是否还有其他方式来识别语音?例如,识别短类型数据(例如short[]
缓冲区)。
除了使用麦克风或wav文件(音频文件)之外,我找不到其他方法。
例如,PocketSphinx具有此问题(Input for Pocketsphinx on Android)中描述的processRaw
函数。
Sphinx4中没有相应的功能吗?
答案 0 :(得分:1)
要从字节数组中提供数据,您需要执行以下操作:
配置前端使用StreamDataSource而不是Microphone或AudioFileDataSource。您可以看到LatticeDemo或TranscriberDemo,例如如何做到这一点。
使用数据
将输入流设置为使用ByteArrayInputStream和StreamInputSource的setInputStream方法
运行recognize()以识别字节数组中的数据
您可以通过InputStream成功使用任何数据,例如来自Socket或文件的输入数据。