如何使用桌面java中的Android语音识别库

时间:2013-10-11 14:07:15

标签: java android voice-recognition speech

我可以从Android的java swing程序向Google Speech api发送请求吗?我的意思是如何在简单的java程序中使用android库。例如,只有一个JFrame,jpanel,两个按钮:“开始”,“停止”和文本字段。如果是,请告诉我必须开始.b

1 个答案:

答案 0 :(得分:4)

答案是否定的,您不能使用桌面Java Swing程序中的Android语音识别库。

相反,您可以使用Google语音识别网络服务,但请注意,这不受官方支持,可能会更改或删除,恕不另行通知(但不太可能,因为它是Chrome浏览器用来提供语音的内容)识别能力)。

要从Java使用它,您需要将带有FLAC编码音频的HTTP请求POST到“https://www.google.com/speech-api/v1/recognize”。

构建请求的相关数据(带样本值):

  • HTTP方法:POST
  • URL:“https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=en-US&maxresults=10&pfilter=0
  • xjerr告诉语音服务器将错误作为JSON的一部分返回,而不是作为HTTP错误代码。
  • client AFAIK并没有真正考虑到它,但如果你说“铬”,那么你是安全的,因为它似乎是从Chromium发出的请求
  • lang演讲语言
  • maxresults返回的最大假设数
  • pfilter打开/关闭“安全”过滤器
  • "Content-Type:audio/x-flac; rate=16000"以FLAC文件的频率(以Hz为单位)替换16000。

通过这种方式,您将收到一个JSON,其中包含语音引擎找到的不同假设(备选方案)。

要从Java编码FLAC格式的文件,您可以使用jFLAC(http://jflac.sourceforge.net/)等库。