Sorry for the delay in responding. Just returned from spending the US Independence Day holiday out of town.
I use the audio output of the ReSpeaker mic array. I do hear the feedback sounds. Part of “training users to speak the way Rhasspy understands” to which I referred previously is to wait a small beat after the acknowledgement beep but not so long that it times out before fully issuing a command.
I’ll try to capture some logs with various failed test scenarios over the next few days. In the meantime, after updating to the latest Docker image as of the afternoon of July 8, 2020 I can report that after only a few tests:
-
I still have to speak loundly and distinctly to get a wake word or command utterance recognized
-
Using kaldi and fsticffs, it seems pretty good at recognizing commands that match entries in sentences.ini
-
However, it seems pretty liberal about “recognizing” invalid commands (false positive speech recognition) with the result that it performs fairly random actions which might be rather unfortunate in some cases (i.e. fstifuffs doesn’t seem a lot more strict than fuzzywuzzy, which I would have expected it to be)
For example, “Do something wonderful” (not in sentences.ini) was recognized as “set guest nightstand one purple” (which is in sentences.ini). Had someone been staying with us, they might have gotten a bit of a surprise.
Here is the log for the case where I would have expected “not recognized” but got a false positive:
[DEBUG:2020-07-08 19:41:57,717] rhasspyserver_hermes: Sent 825 char(s) to websocket
[DEBUG:2020-07-08 19:41:57,712] rhasspyserver_hermes: <- NluIntent(input='set 26 purple', intent=Intent(intent_name='ChangeLightColor', confidence_score=1.0), site_id='cheznous', id=None, slots=[Slot(entity='lights', value={'kind': 'Unknown', 'value': '26'}, slot_name='light', raw_value='guest nightstand one', confidence=1.0, range=SlotRange(start=4, end=6, raw_start=4, raw_end=24)), Slot(entity='colors', value={'kind': 'Unknown', 'value': 'purple'}, slot_name='color', raw_value='purple', confidence=1.0, range=SlotRange(start=7, end=13, raw_start=25, raw_end=31))], session_id='cheznous-porcupine-7673b211-15cb-4b8f-8692-6dc0afe5a553', custom_data=None, asr_tokens=[[AsrToken(value='set', confidence=1.0, range_start=0, range_end=3, time=None), AsrToken(value='26', confidence=1.0, range_start=4, range_end=6, time=None), AsrToken(value='purple', confidence=1.0, range_start=7, range_end=13, time=None)]], asr_confidence=None, raw_input='set guest nightstand one purple', wakeword_id='porcupine', lang=None)
[DEBUG:2020-07-08 19:41:52,430] rhasspyserver_hermes: <- HotwordDetected(model_id='/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn', model_version='', model_type='personal', current_sensitivity=0.65, site_id='cheznous', session_id=None, send_audio_captured=None, lang=None)
Of course, all the log shows is it working as expected had I actually told it to set the given light to the given color.
On the up side, I can report that bool
conversion does now seem to work as expected.