首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMUSphinx PocketSphinx -识别所有(或大量)单词

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

Stack Overflow用户
提问于 2014-09-20 13:28:40
回答 1查看 7.3K关注 0票数 13

在尝试将PocketSphinx用于安卓系统之前,我使用了谷歌的语音识别API。我不需要设置搜索名或字典文件。它只认出了所讲的每一个字。

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-09-20 18:15:45

在尝试将PocketSphinx用于安卓系统之前,我使用了谷歌的语音识别API。我不需要设置搜索名或字典文件。它只认出了所讲的每一个字。

Google也能识别出大量但仍然有限的词语。很长一段时间以来,它都没有认识到"Spotify“。谷歌离线语音识别器使用大约50k个单词,如其出版中所描述的那样。

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

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

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

代码语言:javascript
复制
 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 教程中了解有关语音识别的更多信息。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25949295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档