【问题标题】:NAO robot speech recognition on unknown words [closed]NAO机器人对未知词的语音识别[关闭]
【发布时间】:2014-02-03 11:52:56
【问题描述】:

我必须运行一个涉及用 Python 编程的 NAO 机器人的项目。我要做的是分配一些关于向 NAO 显示的内容的知识。

例如:

  • 一个人给 NAO 看一张图片(在白板上手绘)
  • 这个人说“房子”(假设这个人画了一个房子)
  • NAO 现在知道显示的图片代表一所房子

我遇到的问题是在语音识别模块中。只能识别特定词汇中的单词。但是在我的项目设置中,一个人应该在白板上画画,然后告诉 NAO 那里画了什么。所以,意味着我不知道这个人要画什么,也不能提前设置词汇。

我的出发点是tutorial here。正如你通过阅读教程所看到的,只能识别属于词汇表的某些单词,比如这行代码:

wordList=["yes","no","hello Nao","goodbye Nao"]
asr.setWordListAsVocabulary(wordList)

在识别过程中,会引发一个名为 WordRecognized 的事件。它有这样的结构:

Event: "WordRecognized"
callback(std::string eventName, AL::ALValue value, std::string subscriberIdentifier)

当使用 ALSpeechRecognitionProxy::setWordListAsVocabulary() 的指定单词之一被识别时引发。当当前没有单词被识别时,这个值被重新初始化。

所以我想我的答案的关键就在这里,但我需要帮助。 我该如何解决这个问题?有没有更好的文档可以参考?

提前致谢!

【问题讨论】:

    标签: python speech-recognition nao-robot


    【解决方案1】:

    问题在于 NAO 语音识别模块是专有的,我非常怀疑你可以用它做这样的事情。

    但是,如果您考虑 ROS 平台和像 CMUSphinx 这样的开源引擎,您绝对可以为所欲为。将占位符单词包含在语法中很容易,该语法将与未知单词匹配,然后放入字典中。

    这是一个通过语音交互来学习词汇的高度复杂的研究问题,但以前做过。例如,您可以阅读此出版物

    专有名词自动音标的组合系统 A. Laurent、T. Merlin、S. Meignier、Y. Esteve、P. Deleglis

    http://www.lrec-conf.org/proceedings/lrec2008/pdf/455_paper.pdf

    唯一的事情是您希望在非常低的级别上使用识别器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      相关资源
      最近更新 更多