Error for ask_yesno(prompt, data=None) method

mycroft.client.speech.listener:transcribe:239 | list index out of range
mycroft.client speech. listener: transcribe:240 | speech recognition could not únderstand audio
Hi, any idea about this error ? I tried to use the
confirm = self.ask_yesno(“motion.confirmation”, data={})
and pass this variable to another function
self.verify_yesno(confirm)
I get this error after recording. when i get the value “yes” or “no” it just starting the new session and pass the error as well.
This my repo - GitHub - Senthu05/homecare-with-motion-skill: Monitor the motion inside the house
(still developing, not finished yet)
note - wakeword is working and other skills are working fine.

Hey there, have you made any progress on this?

These errors usually indicate that the STT did not transcribe anything. Depending on what you’re using for STT it might be having trouble picking up short phrases like “yes” and “no”. Try saying something a little longer like “yes do that please” and see if it is any different.

In the longer term we’ll probably be migrating these to use their own keyword listeners so that we can get much better accuracy with expected short single word responses.

1 Like

The return value would remain “yes”, the code is filtering defined affirmatives (in this case en) from the sentence (if not exact=True is passed) and get back yes/no. Just to detail this.

2 Likes

I have changed my code in differnt way… Thanks for your valuable suggestions.