Android上Pocketsphinx的输入

Android上Pocketsphinx的输入,android,speech-recognition,cmusphinx,Android,Speech Recognition,Cmusphinx,我做了一个语音识别到文本的演示。我刚刚制作了演示 而且效果很好。但我的问题是如何从音频文件中输入,而不是从实时讲话中输入。有办法解决吗?谢谢。您可以使用Pocketsphinx API处理任何二进制数据,包括从文件读取的二进制数据。您只需要确保数据的格式是必需的。将二进制数据读入short[]类型的缓冲区后,可以使用pocketsphinx API调用进行处理: 导入edu.cmu.pocketsphinx.pocketsphinx Pocketsphinx ps = new Decoder(.

我做了一个语音识别到文本的演示。我刚刚制作了演示
而且效果很好。但我的问题是如何从音频文件中输入,而不是从实时讲话中输入。有办法解决吗?谢谢。

您可以使用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())

有关更多详细信息,请参见

,虽然时间有点晚,但希望它能对其他寻求解决类似需求的人有所帮助。 请查看
语音识别器
课程中的以下代码,尤其是 录音机=新录音机( AudioSource.VOICE_识别、采样器、, 单声道中的AudioFormat.CHANNEL\u, AudioFormat.ENCODING_PCM_16位,缓冲区大小*2); 创建另一个类,如SpeechRecognizer,您可以选择MediaRecord支持的任何音频源