类似androids的Java语音识别

类似androids的Java语音识别,java,android,speech-recognition,Java,Android,Speech Recognition,我正在寻找一款更像android版本的java语音识别软件,它不需要.gram文件之类的东西,只需返回所说内容的字符串,我就可以执行。我试过使用sphinx-4,但是使用.gram文件会使我的程序更难执行。语法文件的目的是提高返回内容的准确性。你告诉它需要特定的输入,而不是试图找出随机的英语单词串 也就是说,sphinx-4还可以编写普通的大型词典ASR。阅读的N-Gram部分,并查看sphinx源代码附带的转录器示例 此外,您还可以训练自己的三元模型,这将增强您获得的结果。(例如,对检测到的“

我正在寻找一款更像android版本的java语音识别软件,它不需要.gram文件之类的东西,只需返回所说内容的字符串,我就可以执行。我试过使用sphinx-4,但是使用.gram文件会使我的程序更难执行。

语法文件的目的是提高返回内容的准确性。你告诉它需要特定的输入,而不是试图找出随机的英语单词串

也就是说,sphinx-4还可以编写普通的大型词典ASR。阅读的N-Gram部分,并查看sphinx源代码附带的转录器示例


此外,您还可以训练自己的三元模型,这将增强您获得的结果。(例如,对检测到的“天气”一词赋予更多的可能性。)这当然是Siri所做的。苹果/谷歌有一个巨大的音频语料库,人们可以在手机上讲话,其中一部分是人类转录的,他们可以从中训练声学和语言模型(因此他们的引擎可以检测人们通常说的话,而不是胡说八道)。

语法文件的目的是提高你得到的信息的准确性。你告诉它需要特定的输入,而不是试图找出随机的英语单词串。也就是说,sphinx-4还可以编写简单的大型词典ASR。你有什么问题吗?我正在处理一个“siri”类型的东西,所以有一个大的.gram文件会让人恼火。我也会在字符串中查找单词,例如,如果他们说“weather”,我会假设他们在询问天气。但是当他们这样说的时候,他们可以用很多方式来表达——“天气怎么样”、“天气好吗”、“明天天气会怎么样”等等。在安卓系统中,它会返回一个字符串,上面写着“很好,很简单”。grams意味着我必须添加每个可能的响应,这会降低程序的有用性,因为用户可能会用不同的方式说。太好了,谢谢你的帮助,我们将研究N-Gram部分和三角图模型,谢谢:)看看这个其他答案,它链接到一个有一些语言模型的页面。我更喜欢使用MITLM来生成语言模型。但现在,你不必担心这一点。训练声学模型将更为重要,因为它有助于训练它特定于录音条件(不同的麦克风,如果有人在户外使用背景噪音等)。您还可以为每个用户加入扬声器自适应功能。请看这里: