我可以从Android的java swing程序向Google Speech api发送请求吗?我的意思是如何在简单的java程序中使用android库。例如,只有一个JFrame,jpanel,两个按钮:“开始”,“停止”和文本字段。如果是,请告诉我必须开始.b
答案 0 :(得分:4)
答案是否定的,您不能使用桌面Java Swing程序中的Android语音识别库。
相反,您可以使用Google语音识别网络服务,但请注意,这不受官方支持,可能会更改或删除,恕不另行通知(但不太可能,因为它是Chrome浏览器用来提供语音的内容)识别能力)。
要从Java使用它,您需要将带有FLAC编码音频的HTTP请求POST到“https://www.google.com/speech-api/v1/recognize”。
构建请求的相关数据(带样本值):
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/)等库。