rhasspy icon indicating copy to clipboard operation
rhasspy copied to clipboard

Rhasspy (2.4) 'no' word recognition problems especially with female voices

Open michelepanegrossi opened this issue 4 years ago • 3 comments

Hello

I am experiencing an issue where it is really hard for rhasspy to recognize the word no especially when pronounced by a female voice (sometimes 0% rate over 10 utterances).

My sentences.ini file:

[yesAnswer] yes yep yeah yes please

[noAnswer] no no thanks no thank you

no thanks and no thank you work a lot better even with female voices

My setup is as follow: rhasspy is running as a service on my raspberry PI4. I have another python3 script which is controlling rhasspy via the HTTP API, receives the transcript and forwards that over to another machine. This other script also runs at startup as a service.

I send messages to that script and ask it to query Rhasspy over HTTP.

This is the log of one of my requests

[INFO:304795] quart.serving: 127.0.0.1:39554 POST /api/stop-recording 1.1 200 292 215383 [DEBUG:304792] InboxActor: -> stopped [DEBUG:304789] main: {"intent": {"name": "noAnswer", "confidence": 1.0}, "entities": [], "text": "no", "raw_text": "no", "recognize_seconds": 0.00034929599996758043, "tokens": ["no"], "raw_tokens": ["no"], "wav_seconds": 0.0, "transcribe_seconds": 0.0, "speech_confidence": 0.1044066508421162, "slots": {}, "wakeId": "", "siteId": "default"} [DEBUG:304788] InboxActor: -> stopped [DEBUG:304785] main: no [DEBUG:304784] InboxActor: -> stopped [DEBUG:304782] PocketsphinxDecoder: no [DEBUG:304781] PocketsphinxDecoder: Transcription confidence: 0.1044066508421162 [DEBUG:304780] PocketsphinxDecoder: Decoded WAV in 0.18922734260559082 second(s) [DEBUG:304589] PocketsphinxDecoder: rate=16000, width=2, channels=1. [DEBUG:304585] main: Recorded 137324 byte(s) of audio data [DEBUG:304584] InboxActor: -> stopped [INFO:300307] quart.serving: 127.0.0.1:39550 POST /api/start-recording 1.1 200 2 7190

What can I do to solve this issue?

At the moment I am using Pocketsphinx. I noticed that Rhasspy 2.5 also now supports Deepspeech. Would I get a better result switching to a different recogniser such as Kaldi or Deepspeech?

michelepanegrossi avatar Jun 19 '20 00:06 michelepanegrossi

When I previously had word recognition problems in Rhasspy 2.4.x, I switched from pocketSphinx to kaldi, and things got much better. At the time, Rhasspy was having trouble differentiating between 'on' and 'off', quite a bother.

keith721 avatar Jun 28 '20 15:06 keith721

Yes I had the same experience! I switched to Rhasspy 2.5 too. I started with Deepspeech as I was hoping that would be the answer, but after trying Kaldi I now think that engine is the best solution so far. The issue with 'yes' and 'no' seems solved.

However, at the moment I am looking for a way to avoid triggering an intent when a random word is spoken. In my experience Rhasspy tries to force an intent when any word is spoken, not just words that appear in the sentences.ini file. The result is that intents are triggering with random words.

Do you know if there is a way of having some kind of 'default' or 'fallback' intent to handle this kind of situation?

michelepanegrossi avatar Jun 28 '20 15:06 michelepanegrossi

See https://community.rhasspy.org/t/is-there-a-way-to-setup-a-default-or-fallback-intent/1198 for some ideas

synesthesiam avatar Jul 07 '20 19:07 synesthesiam