在尝试将PocketSphinx用于安卓系统之前,我使用了谷歌的语音识别API。我不需要设置搜索名或字典文件。它只认出了所讲的每一个字。
现在,在PocketSphinx,我需要这样做。但是,我只能找到如何为一个单词设置识别,或者如何设置字典(演示项目中可用的单词只有几个单词),而识别器认为这些词是唯一存在的,这意味着如果有人说了类似的话,识别器就会认为字典中列出的单词是它的。
我只想问,我如何设置几个搜索名称,或者如何设置它来识别所有可用的单词(甚至是大量的)?也许有人有一个字典文件,里面有大量的单词?
发布于 2014-09-20 18:15:45
在尝试将PocketSphinx用于安卓系统之前,我使用了谷歌的语音识别API。我不需要设置搜索名或字典文件。它只认出了所讲的每一个字。
Google也能识别出大量但仍然有限的词语。很长一段时间以来,它都没有认识到"Spotify“。谷歌离线语音识别器使用大约50k个单词,如其出版中所描述的那样。
我只想问,我如何设置几个搜索名称,或者如何设置它来识别所有可用的单词(甚至是大量的)?也许有人有一个字典文件,里面有大量的单词?
演示包括大词汇量语音识别与语言模型(预测部分)。有更大的英语语言模型可供下载,例如En通用语言模型。
运行识别的简单代码如下:
recognizer = defaultSetup()
.setAcousticModel(new File(assetsDir, "en-us-ptm"))
.setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
.getRecognizer();
recognizer.addListener(this);
// Create keyword-activation search.
recognizer.addNgramSearch(NGRAM_SEARCH, new File(assetsDir, "en-us.lm.bin"););
// Start the search
recognizer.startListening(NGRAM_SEARCH);然而,它们不容易安装到设备和解码的实时。如果您想用大词汇表实时解码语音,则需要将音频流发送到服务器。或者,你需要将词汇表和语言限制在通用英语的一些小子集上。您可以在CMUSphinx in 教程中了解有关语音识别的更多信息。
https://stackoverflow.com/questions/25949295
复制相似问题