CMUSphinx PocketSphinx – 识别所有(或大量)单词

在我尝试使用PocketSphinx for Android之前,我使用了Google的语音识别API。 我不需要设置search名称或字典文件。 它只是承认每一个被告知的词语。

现在,在PocketSphinx中,我需要这样做。 但是,我只能find如何设置一个词的识别,或者设置字典(在演示项目中可用的只有几个字)认识者认为这些是唯一的词存在,这意味着如果有人说类似的东西,识别器认为它在词典中列出的单词。

我只想问,我怎样才能设置一些search名称,或者我怎样才能设置它来识别所有可用的单词(或者甚至是大量的单词)? 也许有人有一个大量的单词字典文件?

在我尝试使用PocketSphinx for Android之前,我使用了Google的语音识别API。 我不需要设置search名称或字典文件。 它只是承认每一个被告知的词语。

Google API可以识别大量但仍然有限的字词。 很长一段时间它没有认出“Spotify”。 Google脱机语音识别器使用约50k字,如其出版物中所述 。

我只想问,我怎样才能设置一些search名称,或者我怎样才能设置它来识别所有可用的单词(或者甚至是大量的单词)? 也许有人有一个大量的单词字典文件?

演示包括语言模型(预测部分)的大词汇量语音识别。 英语有更大的语言模型可供下载,例如En-US通用语言模型 。

运行识别的简单代码就是这样的:

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); 

但是,它们并不容易适应设备和实时解码。 如果你想用大量的词汇来实时解码语音,你需要将audiostream式传输到服务器。 或者你需要将词汇和语言限制在通用英语的一小部分。 在教程中,您可以在CMUSphinx中了解更多关于语音识别的内容。