Preliminary Release of Rhasspy 2.5.10

I’m not quite sure that confidence levels are being fully honoured. Here’s an example.
I just came home from collecting a package and my daughter asked what was in the box. I replied “It’s another small computer”. Even though my microphone is in the living room, some six odd metres away from the front door, my wake word (computer) was detected.

As the ASR system does, it guessed what the following sounds might mean and decided that the result was good enough to send the perceived intent off to Home Assistant! In the log, I can see the following result:

[DEBUG:2021-04-06 15:22:41,309] rhasspyasr_kaldi_hermes: Transcription result: Transcription(text='toggle kodi', likelihood=0, transcribe_seconds=0.3336428640031954, wav_seconds=1.024, tokens=[TranscriptionToken(token='toggle', start_time=0.0, end_time=0.0, likelihood=0.425189), TranscriptionToken(token='kodi', start_time=0.0, end_time=1.02, likelihood=0.675266)])

When I then actually said “toggle kodi” to turn my TV off again, the result was:

[DEBUG:2021-04-06 15:28:38,781] rhasspyasr_kaldi_hermes: Transcription result: Transcription(text='toggle kodi', likelihood=0.99822817, transcribe_seconds=1.3164074919986888, wav_seconds=1.856, tokens=[TranscriptionToken(token='toggle', start_time=0.0, end_time=0.81, likelihood=1.0), TranscriptionToken(token='kodi', start_time=0.81, end_time=1.86, likelihood=1.0)])

Even though the first overall likelihood was zero, it seems that the likelihood from the individual words was what actually determined the final score.

What I can tweak to ensure random nonsense does not get turned into a valid intent?

Did you set the LikeliHood Threshold above 0?
Its called Minimum Confidence in the Kaldi Settings. I have set it to 0.5 but have the feeling that this is too high. Have a lot of actual intents that are falsly not recognized because of it.

1 Like

Thanks for that. I’ve bumped the “Minimum Confidence” up to 0.6 and it seems to recognise fairly well. I have a nasty cold at the moment so my voice isn’t 100% but I just tried about five different commands and only had one unrecognised utterance.

Then again, I just said “computer”, “blah blah” and it recognised that as “toggle kodi” and turned on my TV! :smiley:

More investigation is obviously needed.

Nice, great work! Please update the hassio-addon to 2.5.10 too :slight_smile:

I would be interested i additional German voice.

2.5.10 does not work correctly with Swedish. It takes about 30 seconds for a command to finish.
Here’s the log after a wake word:

ERROR (online2-cli-nnet3-decode-faster-confidence[5.5]:ReadConfigFile():parse-options.cc:462) Cannot open config file: /root/.config/rhasspy/profiles/sv/model/online/conf/online.conf

[ Stack-Trace: ]
/usr/lib/rhasspy/lib/kaldi/libkaldi-base.so(kaldi::MessageLogger::LogMessage() const+0x3d5) [0x7630ebfa]
/usr/lib/rhasspy/lib/kaldi/online2-cli-nnet3-decode-faster-confidence(kaldi::MessageLogger::LogAndThrow::operator=(kaldi::MessageLogger const&)+0xf) [0x4d353c]
/usr/lib/rhasspy/lib/kaldi/libkaldi-util.so(kaldi::ParseOptions::ReadConfigFile(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)+0x151) [0x7643a272]
/usr/lib/rhasspy/lib/kaldi/libkaldi-util.so(kaldi::ParseOptions::Read(int, char const* const*)+0xa7) [0x7643a614]
/usr/lib/rhasspy/lib/kaldi/online2-cli-nnet3-decode-faster-confidence(main+0x24b) [0x4d1a04]
/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x10c) [0x75e1b718]

Hi @solid, can you please try deleting the sv/model directory in your profile? You will need to re-download the Swedish model and re-train. This won’t affect the rest of your profile.

The Kaldi model has changed in 2.5.10, and it may be conflicting with the old one if you have it.

@synesthesiam Thanks, that worked!

1 Like

Awesome :slight_smile:

Let me know how it works out! This was my first attempt to train a Swedish model, so there may be tweaks necessary.

After some testing with the Swedish model I have to say WOW! It’s working much better now! I can start timers, computers, turn on lights, change color on lights and everything now.

I have a Google translate fallback in node-red that I use to send the .wav file from /api/recording if Rhasspy does not get my intent. I don’t think I need that fallback anymore, it’s working really good now! I found that using Kaldi with Minimum Confidence: 0.4 is the best.
Thank you so much!

1 Like

You’re very welcome! If you get a chance too, I’d be curious what you think of the Swedish Larynx voice. The speaker has quite the deep voice.

The Swedish Larynx voice is not very good, it talks too slow and just sounds like a depressed voice assistant lol. I use the Google wawnet, it has much more natural voice.

7 Likes

Hmm… I can’t upgrade Rhasspy to 2.5.10 on one of my devices that runs the home assistant add-on. I’ve tried to completely remove and re-install the add-on, and all folders in /share/rhasspy but it still says 2.5.9 in the left corner when I run it. /api/version also says 2.5.9 but the home assistant add-on itself says “Current version: 2.5.10”.

Correct, I have a PR open:

2 Likes

Alright. I’m using your add-on with 2.5.10 until @synesthesiam fixes it :slight_smile:

The pull request is merged, you might need to uninstall and install again (don’t worry, no data will be lost)

1 Like

hm, I should train “hey marvin” as a wake-word now.

1 Like

For anyone like me who’s struggeling to get the latest version installed for docker:

You have to use

docker pull rhasspy/rhasspy:2.5.10

instead of only

docker pull rhasspy/rhasspy

because 2.5.9 is still marked as “latest” so docker pull will not update until you specify a version.

hope this will help some of you :wink:

cheers Dan

:frowning: I have to correct myself I’m still on 2.5.9 after pulling the new version…

What I did:

pulled 2.5.10

docker pull rhasspy/rhasspy:2.5.10

stopped rhasspy

docker stop rhasspy

removed rhasspy

docker rm rhasspy

and finally run rhasspy again

 docker run -d -p 12101:12101 \
  --name rhasspy \
  --restart unless-stopped \
  -v "$HOME/.config/rhasspy/profiles:/profiles" \
  -v "/etc/localtime:/etc/localtime:ro" \
  --device /dev/snd:/dev/snd \
  rhasspy/rhasspy \
  --user-profiles /profiles \
  --profile de

but web interface still shows I’m on 2.5.9 after rebooting

I tried on 2 machines, my satellite on pi3 and server on a debian x64 nuc based system, both have the same problem…

what can I do to fix this??

thanks

Dan