在Android上输入Pocketsphinx

时间:2013-03-22 09:21:27

标签: android speech-recognition cmusphinx

我为语音识别文本做了一个演示。我刚刚构建了演示Building Pocketsphinx On Android 它运作良好。但我的问题是如何从音频文件输入,而不是从实时说话。有什么想法解决它吗?感谢。

2 个答案:

答案 0 :(得分: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())

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

答案 1 :(得分:0)

虽然当天晚些时候,希望它可能对其他寻求解决类似要求的人有所帮助。 请查看SpeechRecognizer课程中的以下代码,尤其是Declaring AudioRecord object     AudioRecord录音机=新的AudioRecord(                     AudioSource.VOICE_RECOGNITION,sampleRate,                     AudioFormat.CHANNEL_IN_MONO,                     AudioFormat.ENCODING_PCM_16BIT,bufferSize * 2); 创建另一个类,如SpeechRecognizer,您可以选择MediaRecord

支持的任何音频源