我制作了一个语音识别文本的演示。我刚刚 在 Android 上构建了演示 Building Pocketsphinx ,它运行良好。但我的问题是如何从音频文件中进行输入,而不是实时发言。有什么办法解决吗?谢谢。
问问题
1652 次
2 回答
2
您可以使用 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())
有关更多详细信息,请参阅CMUSphinx 教程的 Pocketsphinx 部分
于 2013-03-22T16:00:00.790 回答
0
虽然今天有点晚了,但希望它可能对寻求解决类似要求的其他人有所帮助。在课堂上查看以下代码,SpeechRecognizer
特别是在声明 AudioRecord object
AudioRecord recorder = new AudioRecord(AudioSource.VOICE_RECOGNITION, sampleRate, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize * 2); 创建另一个类,如 SpeechRecognizer,您可以选择任何支持的音频源MediaRecord
于 2014-11-07T11:39:46.867 回答