나는 내 동료 중 한 명의 Python 코드를 가지고 있습니다 (누가 내 회사를 떠났습니다). Pepper는 당신이 원하는 것을 묻습니다. 당신은 칵테일을 원한다고 대답합니다. Pepper는 어떤 칵테일을 원하십니까, 칵테일 이름을 주시겠습니까? Pepper는 모든 재료 (단 두 가지 성분)가 있는지 물어보고 당신에게 레시피. 제 동료가 떠나기 전에 응용 프로그램이 정상적으로 작동했습니다. naoqi 버전은 2.1 버전입니다.; Pepper : 코드가 naoqi 업그레이드 후 제대로 작동하지 않습니다.
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()
:
RuntimeError: ALSpeechRecognition::setVocabulary
NuanceContext::addContext
A grammar named "modifiable_grammar_wordspotting" already exists.
여기 내 함수의 코드입니다 : 내가 (수정없이) 코드를 테스트 할 때 나는 2 주 전에 고추 naoqi 업그레이드하고, 나는 다음과 같은 메시지가 그녀는 TEH 오류가 발생하는 특정 라인이다 :
self.asr.setVocabulary(self.listPhrToReco, enableWordSpotting)
는 음성 인식의 첫 번째 실행에서, 나는 오류를하지 않은 것으로 나타났습니다를, 페퍼 최초의 세계에 법과를 reconize d (칵테일), 내가 원하는 것을 나에게 묻는다, 그것은 칵테일의 이름을 재조정한다, 내가 첫번째 성분을 가지고 있는지 나에게 묻는다, 나는 긍정이라고 말한다. 그리고 그것이 두 번째 성분에 대해 나에게 묻을 때, 오류가 발생한다. 스크립트를 다시 시작한 후에도 첫 단어 인식 전에 오류가 발생했습니다.
문제의 근원을 알려주는 사람이 있습니까?
감사합니다.
감사합니다. 나는 작동하지 않는 popcontext를 가지고 있었고 나는 그것을 주석 처리했다. 그래서 마지막 문맥은 제거되지 않았습니다. allcontext를 제거하면 코드가 정상적으로 작동합니다. –