【问题标题】:CMUSphinx PocketSphinx - Recognize all (or large amount) of wordsCMUSphinx PocketSphinx - 识别所有(或大量)单词
【发布时间】:2014-09-20 13:28:40
【问题描述】:

在我尝试使用 PocketSphinx for Android 之前,我使用了 Google 的语音识别 API。 我不需要设置搜索名称或字典文件。它只认得每一个字。

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

我只是想问,我如何设置几个搜索名称,或者我如何设置它来识别所有可用的单词(甚至是大量的单词)?也许有人有一个包含大量单词的字典文件?

【问题讨论】:

  • 我也需要同样的。你找到这样的单词列表了吗?

标签: android dictionary cmusphinx pocketsphinx-android


【解决方案1】:

在我尝试使用 PocketSphinx for Android 之前,我使用了 Google 的语音识别 API。我不需要设置搜索名称或字典文件。它只认得每一个字。

Google API 也可以识别大量但仍然有限的单词集。很长一段时间它都无法识别“Spotify”。 Google 离线语音识别器使用了大约 50k 个单词,如其publication 中所述。

我只是想问,我如何设置几个搜索名称,或者我如何设置它来识别所有可用的单词(甚至是大量的单词)?也许有人有一个包含大量单词的字典文件?

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

运行识别的简单代码如下:

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

但是,它们不容易安装到设备中并实时解码。如果您想用大量词汇实时解码语音,您需要将音频流式传输到服务器。或者您需要将词汇和语言限制为通用英语的一小部分。您可以在tutorial 中了解有关 CMUSphinx 中语音识别的更多信息。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多