繁体   English   中英

如何从桌面Java使用Android语音识别库

[英]How to use Android Speech Recognition Library from desktop java

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

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

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

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

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

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

这样,您将收到一个JSON,其中包含语音引擎发现的不同假设(替代)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM