I have to run a project involving NAO robot programmed in python. What I have to do is to assign some knowledge on what is shown to NAO.
For example:
- A person shows NAO a picture (drawn by hand on a whiteboard)
- The person says "House" (let's say the person draws a house)
- NAO now knows that the picture shown represents a house
The problem I have encountered is in the speech recognition module. Only words in a certain vocabulary could be recognized. But in my project setting, a person should draw on a whiteboard and say to NAO what is drawn there. So, means I cannot know what the person is going to draw and I cannot set the vocabulary in advance.
My starting point is this tutorial here. As you can see by reading the tutorial, can be recognized only certain words belonging to the vocabulary, like in this line of code:
wordList=["yes","no","hello Nao","goodbye Nao"]
asr.setWordListAsVocabulary(wordList)
During the recognition, an event called WordRecognized is raised. It has this structure:
Event: "WordRecognized"
callback(std::string eventName, AL::ALValue value, std::string subscriberIdentifier)
It is raised when one of the specified words with ALSpeechRecognitionProxy::setWordListAsVocabulary() has been recognized. When no word is currently recognized, this value is reinitialized.
So I suppose the key of my answer is here, but I need an help. How could I solve this problem? Is there any better documentation I can refer to?
Thanks in advance!