我为演讲演示识别为文本。 我刚刚建立了示范大厦Pocketsphinx在Android和它工作得很好。 但我的问题是如何使输入从音频文件,而不是从实时讲话。 任何想法去解决呢? 谢谢。
Answer 1:
您可以使用Pocketsphinx API来处理任何二进制数据,包括从文件中读取二进制数据。 你只需要确保数据在需要的格式。 一旦读出的二进制数据转换成类型的缓冲器短[]您使用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一部分
Answer 2:
虽然有点当天晚些时候,希望这会有所帮助别人寻找解决类似的要求。 有一个在下面的代码SpeechRecognizer
在特定类在声明AudioRecord对象 AudioRecord录音机=新AudioRecord(AudioSource.VOICE_RECOGNITION,采样率,AudioFormat.CHANNEL_IN_MONO,AudioFormat.ENCODING_PCM_16BIT,BUFFERSIZE * 2); 创建像SpeechRecognizer另一个类,你可以选择任何所支持的音频源MediaRecord
文章来源: Input for Pocketsphinx on Android