android - Android 上 Pocketsphinx 的输入

标签 android speech-recognition cmusphinx

我制作了一个语音识别文本的演示。我刚刚构建了演示 Building Pocketsphinx On Android 而且效果很好。但我的问题是如何从音频文件而不是实时讲话中进行输入。有什么想法可以解决吗?谢谢。

最佳答案

您可以使用Pocketsphinx API来处理任何二进制数据,包括从文件读取的二进制数据。您只需确保数据采用所需的格式即可。将二进制数据读入 Short[] 类型的缓冲区后,您可以使用 pocketsphinx API 调用来处理它:

导入edu.cmu.pocketsphinx.pocketsphinx;

Pocketsphinx ps = new Decoder(....)
ps.processRaw(buf, buf.length, false, false);

处理完所有数据后,您可以检索结果

Hypothesis hyp = pocketsphinx.getHyp();
System.out.println(hyp.getHypstr())

有关更多详细信息,请参阅Pocketsphinx part of the CMUSphinx tutorial

关于android - Android 上 Pocketsphinx 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15566701/

相关文章:

java - AudioTrack - 使用 jlayer(java mp3 解码器)的短数组到字节数组失真

android - 如何执行单击 TextInputLayout EndIcon 按钮

android - 如何在可扩展 ListView 中使 child 可点击

python - 如何使用 matplotlib 绘制 pyaudio 输入?

python - Whisper openai 大文件处理速度慢

cmusphinx - 如何关闭 pocketsphinx 中的 E_INFO?

Android 如何检测联系人列表已更改?

java - Sphinx4 Beta API 与 Eclipse 的问题

iphone - 如何在iPhone中进行中文语音识别

speech-recognition - 使用 Aquila 库通过 MFCC 和 DTW 比较两个口语单词