Newbie Questions: Pi3B+Matrix+Snowboy

Hello everyone,

Iam a complete newbie in things of voice assistant and working (struggeling) for ~2 weeks now, without any success.
3 weeks before the taking over of Snips I started with our project of voice control of our KNX smart home, controlled by edomi.
It was not enough time to get some experience, because I am not an expert in computers at all.

Nevertheless, I like to understand and apply the voice control for our home. And everything what I saw in the last couple weeks,
Rhasspy is growing and will get a lot of advantage of the “snips down”.

Right now I have a problem to set up snowboy for wake word. I tried with pocketsphinx, but this is awful.

Our setup is as follows:
MQTT, as well as node-red are running as package on a Synology Diskstation.
Rhasspy is installed on a PI3B+

according to

arecord -D plughw:1,0 -d 3 test.wav && aplay test.wav

the matrix voice is working properly.

“Hey Snips.pmdl” is created and downloaded on a windows computer.

On Rhasspy 2.4.15 I get the problem:
"SnowboyWakeListener Missing model Snowboy model could not be loaded from profiles/de/snowboy/Hey Snips.umdl"

Where the hell can I find the rhasspy folders which are described in the docs as follows:

"When saving the sentences.ini file, Rhasspy will create $HOME/.config/rhasspy/profiles/en (if it doesn’t exist), and write sentences.ini in that directory.

In my Raspberry directory I can not find such a folder.

Does anyone has some hints for me?
Please keep in mind: Newbie :wink:

Thanks in advance.
Thomas

You should have a folder for user configuration /home/pi/.config/rhasspy

Unfortunately not. See attached (1st) winscp-pic of the raspberry.

BTW: For the sounds (wake,record,error) I created a folder by myself under

/usr/share/rhasspy/etc/wav/

But I don´t get any “beep-sounds”. Is it the wrong folder, too?
Do I have to create the “/home/pi/.config/rhasspy” -folder?

Hi @thomas_cologne, thanks for giving Rhasspy a try :slight_smile:

Besides the logs, one way to tell your profile directory is to go to the Sentences tab in the web interface and click “Save Sentences”. Click cancel (don’t re-train), and you should see a green notification telling you exactly where sentences.ini was written.

Is your file manager not showing hidden folders? I’d be very surprised to see no “.” folders in a /home/pi directory. You may need to type /home/pi/.config directly into the address bar to get it to come up.

Life could be sooo easy :wink:
The “hidden folders” was the key. Just one little checkbox in winSCP. THX for that!!

But the audio output is still curious. No confirmations sounds at all and the “test speak” is chopped.

The audio files (short beeps) are located here:

The log is showing in this case two plays:

[DEBUG:166283890] SnowboyWakeListener: loaded -> listening
[DEBUG:166283884] DialogueManager: ready -> asleep
[INFO:166283877] DialogueManager: Automatically listening for wake word
[DEBUG:166283872] HermesMqtt: Published intent to hermes/intent/GetTime
[DEBUG:166283865] DialogueManager: handling -> ready
[DEBUG:166283863] WebSocketObserver: {“intent”: {“name”: “GetTime”, “confidence”: 1.0}, “entities”: [], “text”: “wie sp\u00e4t ist es”, “raw_text”: “wie sp\u00e4t ist es”, “recognize_seconds”: 0.001511759008280933, “tokens”: [“wie”, “sp\u00e4t”, “ist”, “es”], “raw_tokens”: [“wie”, “sp\u00e4t”, “ist”, “es”], “speech_confidence”: 0.27553257519348845, “wakeId”: “snowboy/Hey Snips.pmdl”, “siteId”: “default”, “slots”: {}}
[DEBUG:166283861] DialogueManager: recognizing -> handling
[DEBUG:166283858] DialogueManager: {‘intent’: {‘name’: ‘GetTime’, ‘confidence’: 1.0}, ‘entities’: [], ‘text’: ‘wie spät ist es’, ‘raw_text’: ‘wie spät ist es’, ‘recognize_seconds’: 0.001511759008280933, ‘tokens’: [‘wie’, ‘spät’, ‘ist’, ‘es’], ‘raw_tokens’: [‘wie’, ‘spät’, ‘ist’, ‘es’], ‘speech_confidence’: 0.27553257519348845, ‘wakeId’: ‘snowboy/Hey Snips.pmdl’, ‘siteId’: ‘default’}
[DEBUG:166283853] DialogueManager: decoding -> recognizing
[DEBUG:166283851] DialogueManager: wie spät ist es (confidence=0.27553257519348845)
[DEBUG:166283848] PocketsphinxDecoder: wie spät ist es
[DEBUG:166283846] PocketsphinxDecoder: Transcription confidence: 0.27553257519348845
[DEBUG:166283842] PocketsphinxDecoder: Decoded WAV in 1.3923392295837402 second(s)
—> [DEBUG:166282437] APlayAudioPlayer: [‘aplay’, ‘-q’, ‘-D’, ‘default:CARD=ALSA’, ‘/usr/share/rhasspy/etc/wav/beep_lo.wav’]
[DEBUG:166282436] PocketsphinxDecoder: rate=16000, width=2, channels=1.
[DEBUG:166282433] DialogueManager: awake -> decoding
[DEBUG:166282430] WebrtcvadCommandListener: listening -> loaded
[DEBUG:166282427] WebrtcvadCommandListener: Voice command finished
[DEBUG:166280321] WebrtcvadCommandListener: Voice command started
[DEBUG:166278490] WebrtcvadCommandListener: loaded -> listening
[DEBUG:166278425] WebrtcvadCommandListener: Will timeout in 30 second(s)
[DEBUG:166278422] SnowboyWakeListener: listening -> loaded
—> [DEBUG:166278419] APlayAudioPlayer: [‘aplay’, ‘-q’, ‘-D’, ‘default:CARD=ALSA’, ‘/usr/share/rhasspy/etc/wav/beep_hi.wav’]
[DEBUG:166278404] DialogueManager: asleep -> awake
[DEBUG:166278402] DialogueManager: Awake!
[DEBUG:166278394] SnowboyWakeListener: Hotword(s) detected: [‘snowboy/Hey Snips.pmdl’]

I also figured out, that the “test speak” on Speech just starts at the 2nd or 3rd word.
In this example the audio output starts at the red dash:

What could be the cause?

Thomas

1 Like

I don´t like to open a new thread for this question, because I included it in the last one already.

But I am still struggeling with with voice feedback.

“Speak” in tab speech just gives me the output “testtest” instead of “testtesttest”.

Furthermore, I copied 3 wav files for “error” and “hi” and “lo” to the folder
/usr/share/rhasspy/etc/wav
which are around 15 seconds long, each one.

But there is no audio output at all although the Debug is showing the output

[DEBUG:81306227] SnowboyWakeListener: listening -> loaded
[DEBUG:81306197] WebrtcvadCommandListener: loaded -> listening
[DEBUG:81306196] WebrtcvadCommandListener: Will timeout in 30 second(s)
[DEBUG:81306195] APlayAudioPlayer: [‘aplay’, ‘-q’, ‘-D’, ‘default:CARD=ALSA’, ‘/usr/share/rhasspy/etc/wav/beep_hi.wav’]
[DEBUG:81306187] DialogueManager: asleep -> awake
[DEBUG:81306184] DialogueManager: Awake!
[DEBUG:81306182] SnowboyWakeListener: Hotword(s) detected: [‘snowboy/Hey Snips.pmdl’]

Does someone know what the cause could be?

THX

Does running the aplay command above in a terminal produce output? I’d also need to see your sentences to have an idea about why the speech recognition isn’t working. Thanks.

I have no f** idea what I did now. But on a Pi4 with some settings the sound feedback seems to work …

Hope, that I can reproduce the same settings for the other Pi´s. Cross the fingers
But what are the best parameters for sound output in kHz and bit?

BTW: Has this log something to do with rhasspy or is there something wrong with the mqtt broker (synology: 192.168.178.21)?

[INFO:96622320] quart.serving: 192.168.178.21:51064 GET / 1.1 500 15 7029
[ERROR:96622316] main: BadRequest(400)
Traceback (most recent call last):
File “/usr/local/lib/python3.6/dist-packages/quart/app.py”, line 1594, in full_dispatch_websocket
result = await self.dispatch_websocket(websocket_context)
File “/usr/local/lib/python3.6/dist-packages/quart/app.py”, line 1636, in dispatch_websocket
raise websocket_.routing_exception
quart.exceptions.BadRequest: BadRequest(400)