我有我的一位同事(离开我的公司)的 python 代码。Pepper问你想要什么,你回答说你想要鸡尾酒,Pepper问你想要哪种鸡尾酒,你给它起个鸡尾酒名字,Pepper问你有没有所有的原料(只有两种原料),然后给你食谱。在我的同事离开之前,该应用程序运行良好。naoqi 版本是 2.1 版本。两周前我在 Pepper 上升级了 naoqi,当我测试代码(没有修改)时,我收到以下消息:
RuntimeError: ALSpeechRecognition::setVocabulary
NuanceContext::addContext
一个名为“modifiable_grammar_wordspotting”的语法已经存在。
这是我的函数的代码:
def onInput_onStart(self, enableWordSpotting):
from threading import Lock
self.mutex.acquire()
if(self.bIsRunning):
self.mutex.release()
return
self.bIsRunning = True
try:
if self.asr:
self.asr.pause(True)#need to pause the ASR system while configuring it
self.asr.setVisualExpression(True)
self.asr.pushContexts()
self.hasPushed = True
if self.asr:
self.asr.setLanguage(language)
self.asr.setVocabulary(self.listPhrToReco, enableWordSpotting)
self.memory.subscribeToEvent("WordRecognized", self.getName(), "onWordRecognized")
self.hasSubscribed = True
self.asr.pause(False)#
self.phrReco = "" #additional layer to recover the last recognized sentence (ow. it is only accessible from callback:on )
except RuntimeError, e:
self.mutex.release()
self.onUnload()
raise e
self.mutex.release()
她是产生错误的特定行:
self.asr.setVocabulary(self.listPhrToReco, enableWordSpotting)
注意到在第一次执行语音识别时,我没有错误,Pepper reconize the first word (cocktail), ask me what I want, it reconify the name of the cocktail, it ask me if I have the first ingredients ,我说是的,当它要求我提供第二种成分时,就会出现错误。之后,即使我重新启动脚本,在第一个单词识别之前我也有错误。
请问有人知道问题的根源吗?
谢谢。