Good evening,
sorry for the late reply. Oh yes that’s right because I mixed up the platformio.ini and MatrixVoiceAudioServer.cpp
So my Rhasspy settings are as follows:
Pi 3B, Rhasspy 2.4.20 (Version 2.5 does not run stable with my streamers, not even in single mode. This is another problem which I have to solve separately)
Rhasspy Settings
Side ID are both entered.
The Hermes protocol is selected for Audio Input.
Here is an excerpt from my Advanced
{ "microphone": { "system": "hermes" }, "mqtt": { "enabled": true, "host": "192.168.1.60", "site_id": "matrixvoice71,matrixvoice75" }, "sounds": { "aplay": { "device": "default:CARD=ALSA" } }, "wake": { "pocketsphinx": { "threshold": 3.1622776601683794e-28 }, "snowboy": { "apply_frontend": true, "model": "snowboy/computer.umdl", "sensitivity": "0.4" }, "system": "snowboy" } }
And here the log when I call something, in this case the time.
[INFO:18040198] quart.serving: 192.168.1.60:59410 POST /api/text-to-speech 1.1 200 28 3307615 [DEBUG:18040164] InboxActor: -> stopped [DEBUG:18040144] EspeakSentenceSpeaker: speaking -> ready [DEBUG:18036967] APlayAudioPlayer: ['aplay', '-q', '-D', 'default:CARD=ALSA'] [DEBUG:18036964] EspeakSentenceSpeaker: ready -> speaking [DEBUG:18036893] EspeakSentenceSpeaker: ['espeak', '-v', 'de', '--stdout', 'Es ist 19Uhr und 38 Minuten.'] [DEBUG:18036815] SnowboyWakeListener: loaded -> listening [DEBUG:18036813] DialogueManager: ready -> asleep [INFO:18036810] DialogueManager: Automatically listening for wake word [DEBUG:18036807] DialogueManager: handling -> ready [DEBUG:18036806] HermesMqtt: Published intent to hermes/intent/GetTime [DEBUG:18036804] WebSocketObserver: {"intent": {"name": "GetTime", "confidence": 1.0}, "entities": [], "text": "wie sp\u00e4t ist es", "raw_text": "wie sp\u00e4t ist es", "recognize_seconds": 0.004081788000007691, "tokens": ["wie", "sp\u00e4t", "ist", "es"], "raw_tokens": ["wie", "sp\u00e4t", "ist", "es"], "wav_seconds": 0.0, "transcribe_seconds": 0.0, "speech_confidence": 0.1493115175976181, "wakeId": "snowboy/computer.umdl", "siteId": "matrixvoice71,matrixvoice75", "slots": {}} [DEBUG:18036802] DialogueManager: recognizing -> handling [DEBUG:18036800] DialogueManager: {'intent': {'name': 'GetTime', 'confidence': 1.0}, 'entities': [], 'text': 'wie spät ist es', 'raw_text': 'wie spät ist es', 'recognize_seconds': 0.004081788000007691, 'tokens': ['wie', 'spät', 'ist', 'es'], 'raw_tokens': ['wie', 'spät', 'ist', 'es'], 'wav_seconds': 0.0, 'transcribe_seconds': 0.0, 'speech_confidence': 0.1493115175976181, 'wakeId': 'snowboy/computer.umdl', 'siteId': 'matrixvoice71,matrixvoice75'} [DEBUG:18036792] DialogueManager: decoding -> recognizing [DEBUG:18036789] DialogueManager: wie spät ist es (confidence=0.1493115175976181) [DEBUG:18036786] PocketsphinxDecoder: wie spät ist es [DEBUG:18036785] PocketsphinxDecoder: Transcription confidence: 0.1493115175976181 [DEBUG:18036783] PocketsphinxDecoder: Decoded WAV in 1.2460699081420898 second(s) [DEBUG:18035540] APlayAudioPlayer: ['aplay', '-q', '-D', 'default:CARD=ALSA', '/usr/share/rhasspy/etc/wav/beep_lo.wav'] [DEBUG:18035534] PocketsphinxDecoder: rate=16000, width=2, channels=1. [DEBUG:18035530] DialogueManager: awake -> decoding [DEBUG:18035526] WebrtcvadCommandListener: listening -> loaded [DEBUG:18035520] WebrtcvadCommandListener: Voice command finished [DEBUG:18033679] WebrtcvadCommandListener: Voice command started [DEBUG:18033189] SnowboyWakeListener: listening -> loaded [DEBUG:18033178] WebrtcvadCommandListener: loaded -> listening [DEBUG:18033158] WebrtcvadCommandListener: Will timeout in 30 second(s) [DEBUG:18033157] APlayAudioPlayer: ['aplay', '-q', '-D', 'default:CARD=ALSA', '/usr/share/rhasspy/etc/wav/beep_hi.wav'] [DEBUG:18033152] DialogueManager: asleep -> awake [DEBUG:18033151] DialogueManager: Awake! [DEBUG:18033149] SnowboyWakeListener: Hotword(s) detected: ['snowboy/computer.umdl']
As mentioned before, only the first entry of the Side ID is evaluated as microphone input. Everything after the comma is not considered. Let’s see if we can get Rhasspy to listen to the second streamer.