我有一个同事的python代码(他离开了我的公司)。Pepper问你想要什么,你回答你想要鸡尾酒,Pepper问你想要哪种鸡尾酒,你给它一个鸡尾酒名字,Pepper问你是否有所有的配料(只有两种配料)并给你食谱。 在我的同事离开之前,这个应用程序运行得很好。naoqi版本是2.1版本。 两周前,我在Pepper上升级了naoqi,当我测试代码时(没有修改),我收到了以下消息:
RuntimeError: ALSpeechRecognition::setVocabulary
NuanceContext::addContext
A grammar named "modifiable_grammar_wordspotting" already exists.
以下是我的功能代码:
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()
她是产生错误的那条线:
^{pr2}$注意到在第一次执行语音识别时,我没有错误,Pepper重新识别第一个单词(鸡尾酒),问我想要什么,它重新识别鸡尾酒的名称,它问我是否有第一种成分,我说是,当它问我第二种成分时,错误就发生了。之后,即使我重新启动脚本,在第一个单词识别之前我也有错误。
有人知道问题的起因吗?在
谢谢。在
取消订阅前设置
asr.pause(False)
我想你想在ASR没有停止的情况下设置vocabukary两次。尝试在代码末尾添加removeAllContext?
相关问题 更多 >
编程相关推荐