Multiple satellites (and siteIDs) not working 2.5-pre

Hello,

i want to use 5-6 raspi zero w to stream all audio to my central “intelligent” rhasspy-server (currently with the docker 2.5-pre image) and let the activation word detection and speech-to-text do better performance hardware.

on each zero w i have set up only the hermes-audio-server that sends audio to the mqtt broker with its own siteID (e.g. s1, s2, s3…).
The sites can connect to my external mqtt-broker (running on same host as the rhasspy-server).

My config:

Summary
{
    "dialogue": {
        "system": "rhasspy"
    },
    "intent": {
        "system": "fuzzywuzzy"
    },
    "microphone": {
        "system": "hermes"
    },
    "mqtt": {
        "enabled": "true",
        "host": "rhasspy"
    },
    "speech_to_text": {
        "satellite_site_ids": "s1,s2,s3,s4,s5,s6",
        "system": "kaldi"
    },
    "wake": {
        "pocketsphinx": {
            "keyphrase": "alexa"
        },
        "porcupine": {
            "keyword_path": "alexa.ppn",
            "sensitivity": "0.6",
            "udp_audio": ""
        },
        "satellite_site_ids": "s1,s2,s3,s4,s5,s6",
        "snowboy": {
            "model": "alexa.ppn"
        },
        "system": "porcupine"
    }
}

After each restart the server successfully subscribe the satellite audioframe-topic:

Summary

2020-05-23 11:52:46,202 INFO supervisord started with pid 145
Shutting down core
[DEBUG:2020-05-23 11:52:46,472] rhasspyprofile.profile: Loading /usr/lib/rhasspy/lib/python3.7/site-packages/rhasspyprofile/profiles/de/profile.json
[DEBUG:2020-05-23 11:52:46,474] rhasspyprofile.profile: Loading /profiles/de/profile.json
[DEBUG:2020-05-23 11:52:46,475] rhasspyprofile.profile: Loading default profile settings from /usr/lib/rhasspy/lib/python3.7/site-packages/rhasspyprofile/profiles/defaults.json
[DEBUG:2020-05-23 11:52:46,477] rhasspyserver_hermes: Starting core
[DEBUG:2020-05-23 11:52:46,477] rhasspyserver_hermes: Connecting to rhasspy:1883 (retries: 0/10)
[DEBUG:2020-05-23 11:52:46,488] rhasspyserver_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 11:52:46,489] rhasspyserver_hermes: Subscribed to hermes/hotword/+/detected
[DEBUG:2020-05-23 11:52:46,489] rhasspyserver_hermes: Subscribed to hermes/asr/textCaptured
[DEBUG:2020-05-23 11:52:46,490] rhasspyserver_hermes: Subscribed to hermes/intent/#
[DEBUG:2020-05-23 11:52:46,491] rhasspyserver_hermes: Subscribed to hermes/nlu/intentNotRecognized
[DEBUG:2020-05-23 11:52:46,492] rhasspyserver_hermes: Subscribed to rhasspy/asr/default/default/audioCaptured
[DEBUG:2020-05-23 11:52:46,493] rhasspyserver_hermes: Subscribed to hermes/audioServer/default/audioSummary
[DEBUG:2020-05-23 11:52:46,494] rhasspyserver_hermes: Subscribed to hermes/hotword/+/detected
[DEBUG:2020-05-23 11:52:46,494] rhasspyserver_hermes: Subscribed to hermes/asr/textCaptured
[DEBUG:2020-05-23 11:52:46,495] rhasspyserver_hermes: Subscribed to rhasspy/asr/default/default/audioCaptured
[DEBUG:2020-05-23 11:52:46,496] rhasspyserver_hermes: Subscribed to hermes/nlu/intentNotRecognized
[DEBUG:2020-05-23 11:52:46,496] rhasspyserver_hermes: Subscribed to hermes/audioServer/default/audioSummary
[DEBUG:2020-05-23 11:52:46,497] rhasspyserver_hermes: Subscribed to hermes/intent/#
[INFO:2020-05-23 11:52:46,498] rhasspyserver_hermes: Started
[DEBUG:2020-05-23 11:52:46,578] rhasspyprofile.download: speech_to_text.system pocketsphinx kaldi = False
[DEBUG:2020-05-23 11:52:46,578] rhasspyprofile.download: speech_to_text.system kaldi kaldi = True
[DEBUG:2020-05-23 11:52:46,579] rhasspyprofile.download: Skipping kaldi/base_dictionary.txt (/profiles/de/kaldi/base_dictionary.txt)
[DEBUG:2020-05-23 11:52:46,579] rhasspyprofile.download: Skipping kaldi/g2p.fst (/profiles/de/kaldi/g2p.fst)
[DEBUG:2020-05-23 11:52:46,580] rhasspyprofile.download: Skipping kaldi/model/model/cmvn_opts (/profiles/de/kaldi/model/model/cmvn_opts)
[DEBUG:2020-05-23 11:52:46,580] rhasspyprofile.download: Skipping kaldi/model/model/final.mdl (/profiles/de/kaldi/model/model/final.mdl)
[DEBUG:2020-05-23 11:52:46,580] rhasspyprofile.download: Skipping kaldi/model/model/tree (/profiles/de/kaldi/model/model/tree)
[DEBUG:2020-05-23 11:52:46,581] rhasspyprofile.download: Skipping kaldi/model/phones/nonsilence_phones.txt (/profiles/de/kaldi/model/phones/nonsilence_phones.txt)
[DEBUG:2020-05-23 11:52:46,581] rhasspyprofile.download: Skipping kaldi/model/phones/extra_questions.txt (/profiles/de/kaldi/model/phones/extra_questions.txt)
[DEBUG:2020-05-23 11:52:46,582] rhasspyprofile.download: Skipping kaldi/model/phones/optional_silence.txt (/profiles/de/kaldi/model/phones/optional_silence.txt)
[DEBUG:2020-05-23 11:52:46,582] rhasspyprofile.download: Skipping kaldi/model/phones/silence_phones.txt (/profiles/de/kaldi/model/phones/silence_phones.txt)
[DEBUG:2020-05-23 11:52:46,582] rhasspyprofile.download: Skipping kaldi/model/conf/online_cmvn.conf (/profiles/de/kaldi/model/conf/online_cmvn.conf)
[DEBUG:2020-05-23 11:52:46,583] rhasspyprofile.download: Skipping kaldi/model/conf/mfcc.conf (/profiles/de/kaldi/model/conf/mfcc.conf)
[DEBUG:2020-05-23 11:52:46,583] rhasspyprofile.download: Skipping kaldi/model/conf/mfcc_hires.conf (/profiles/de/kaldi/model/conf/mfcc_hires.conf)
[DEBUG:2020-05-23 11:52:46,584] rhasspyprofile.download: Skipping kaldi/model/extractor/final.mat (/profiles/de/kaldi/model/extractor/final.mat)
[DEBUG:2020-05-23 11:52:46,584] rhasspyprofile.download: Skipping kaldi/model/extractor/online_cmvn.conf (/profiles/de/kaldi/model/extractor/online_cmvn.conf)
[DEBUG:2020-05-23 11:52:46,584] rhasspyprofile.download: Skipping kaldi/model/extractor/global_cmvn.stats (/profiles/de/kaldi/model/extractor/global_cmvn.stats)
[DEBUG:2020-05-23 11:52:46,585] rhasspyprofile.download: Skipping kaldi/model/extractor/splice_opts (/profiles/de/kaldi/model/extractor/splice_opts)
[DEBUG:2020-05-23 11:52:46,585] rhasspyprofile.download: Skipping kaldi/model/extractor/final.dubm (/profiles/de/kaldi/model/extractor/final.dubm)
[DEBUG:2020-05-23 11:52:46,586] rhasspyprofile.download: Skipping kaldi/model/extractor/final.ie (/profiles/de/kaldi/model/extractor/final.ie)
[DEBUG:2020-05-23 11:52:46,586] rhasspyprofile.download: Skipping kaldi/model/ivectors_test_hires/conf/online_cmvn.conf (/profiles/de/kaldi/model/ivectors_test_hires/conf/online_cmvn.conf)
[DEBUG:2020-05-23 11:52:46,586] rhasspyprofile.download: Skipping kaldi/model/ivectors_test_hires/conf/ivector_extractor.conf (/profiles/de/kaldi/model/ivectors_test_hires/conf/ivector_extractor.conf)
[DEBUG:2020-05-23 11:52:46,587] rhasspyprofile.download: Skipping kaldi/model/ivectors_test_hires/conf/splice.conf (/profiles/de/kaldi/model/ivectors_test_hires/conf/splice.conf)
[DEBUG:2020-05-23 11:52:46,587] rhasspyprofile.download: speech_to_text.system deepspeech kaldi = False
[DEBUG:2020-05-23 11:52:46,588] rhasspyprofile.download: speech_to_text.pocketsphinx.open_transcription True False = False
[DEBUG:2020-05-23 11:52:46,588] rhasspyprofile.download: speech_to_text.kaldi.open_transcription True False = False
[DEBUG:2020-05-23 11:52:46,588] rhasspyprofile.download: speech_to_text.deepspeech.open_transcription True False = False
[DEBUG:2020-05-23 11:52:46,589] rhasspyprofile.download: speech_to_text.pocketsphinx.mix_weight >0 0 = False
[DEBUG:2020-05-23 11:52:46,589] rhasspyprofile.download: speech_to_text.kaldi.mix_weight >0 0 = False
[DEBUG:2020-05-23 11:52:46,589] rhasspyprofile.download: speech_to_text.deepspeech.mix_weight >0 0 = False
2020-05-23 11:52:47,208 INFO spawned: ‘intent_recognition’ with pid 6380
2020-05-23 11:52:47,213 INFO spawned: ‘dialogue’ with pid 6381
2020-05-23 11:52:47,220 INFO spawned: ‘speech_to_text’ with pid 6382
2020-05-23 11:52:47,225 INFO spawned: ‘wake_word’ with pid 6383
[DEBUG:2020-05-23 11:52:47,585] rhasspydialogue_hermes: Namespace(debug=True, host=‘rhasspy’, log_format=’[%(levelname)s:%(asctime)s] %(name)s: %(message)s’, password=None, port=1883, session_timeout=30.0, site_id=[‘default’], sound=None, tls=False, tls_ca_certs=None, tls_cert_reqs=‘CERT_REQUIRED’, tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, username=None, wakeword_id=None)
[DEBUG:2020-05-23 11:52:47,588] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:47,590] rhasspydialogue_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 11:52:47,604] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:47,605] rhasspydialogue_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 11:52:47,607] rhasspydialogue_hermes: Subscribed to hermes/tts/sayFinished
[DEBUG:2020-05-23 11:52:47,608] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/continueSession
[DEBUG:2020-05-23 11:52:47,608] rhasspydialogue_hermes: Subscribed to hermes/audioServer/default/playFinished
[DEBUG:2020-05-23 11:52:47,608] rhasspydialogue_hermes: Subscribed to hermes/asr/textCaptured
[DEBUG:2020-05-23 11:52:47,609] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/endSession
[DEBUG:2020-05-23 11:52:47,610] rhasspydialogue_hermes: Subscribed to hermes/intent/#
[DEBUG:2020-05-23 11:52:47,610] rhasspydialogue_hermes: Subscribed to hermes/hotword/+/detected
[DEBUG:2020-05-23 11:52:47,611] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/startSession
[DEBUG:2020-05-23 11:52:47,611] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/configure
[DEBUG:2020-05-23 11:52:47,612] rhasspydialogue_hermes: Subscribed to hermes/nlu/intentNotRecognized
[DEBUG:2020-05-23 11:52:47,634] rhasspywake_porcupine_hermes: Namespace(debug=True, host=‘rhasspy’, keyword=[‘alexa.ppn’], keyword_dir=[’/profiles/de/porcupine’], library=None, log_format=’[%(levelname)s:%(asctime)s] %(name)s: %(message)s’, model=None, password=None, port=1883, sensitivity=[‘0.6’], site_id=[‘default’, ‘s1’, ‘s2’, ‘s3’, ‘s4’, ‘s5’, ‘s6’], stdin_audio=False, tls=False, tls_ca_certs=None, tls_cert_reqs=‘CERT_REQUIRED’, tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, udp_audio=None, username=None, wakeword_id=None)
[DEBUG:2020-05-23 11:52:47,636] rhasspywake_porcupine_hermes: Loading porcupine (kw=[’/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux/alexa.ppn’], kwdirs=[’/profiles/de/porcupine’, ‘/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux’], sensitivity=[0.6], library=/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/lib/linux/x86_64/libpv_porcupine.so, model=/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/lib/common/porcupine_params.pv)
[DEBUG:2020-05-23 11:52:47,649] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:47,655] rhasspywake_porcupine_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 11:52:47,671] rhasspywake_porcupine_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 11:52:47,671] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:47,674] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s3/audioFrame
[DEBUG:2020-05-23 11:52:47,678] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s4/audioFrame
[DEBUG:2020-05-23 11:52:47,679] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s2/audioFrame
[DEBUG:2020-05-23 11:52:47,680] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s1/audioFrame
[DEBUG:2020-05-23 11:52:47,682] rhasspywake_porcupine_hermes: Subscribed to rhasspy/hotword/getHotwords
[DEBUG:2020-05-23 11:52:47,683] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s5/audioFrame
[DEBUG:2020-05-23 11:52:47,684] rhasspywake_porcupine_hermes: Subscribed to hermes/hotword/toggleOn
[DEBUG:2020-05-23 11:52:47,686] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/s6/audioFrame
[DEBUG:2020-05-23 11:52:47,687] rhasspywake_porcupine_hermes: Subscribed to hermes/hotword/toggleOff
[DEBUG:2020-05-23 11:52:47,688] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/default/audioFrame
[DEBUG:2020-05-23 11:52:47,710] rhasspywake_porcupine_hermes: Receiving audio
[DEBUG:2020-05-23 11:52:48,364] rhasspyfuzzywuzzy_hermes: Namespace(casing=‘lower’, confidence_threshold=0.0, debug=True, examples=’/profiles/de/intent_examples.json’, host=‘rhasspy’, intent_graph=’/profiles/de/intent_graph.pickle.gz’, language=‘de_DE’, log_format=’[%(levelname)s:%(asctime)s] %(name)s: %(message)s’, password=None, port=1883, replace_numbers=True, site_id=[‘default’], tls=False, tls_ca_certs=None, tls_cert_reqs=‘CERT_REQUIRED’, tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, username=None)
2020-05-23 11:52:48,365 INFO success: intent_recognition entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-23 11:52:48,367 INFO success: dialogue entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-23 11:52:48,368 INFO success: speech_to_text entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-23 11:52:48,368 INFO success: wake_word entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
[DEBUG:2020-05-23 11:52:48,367] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:48,371] rhasspyfuzzywuzzy_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 11:52:48,382] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:48,384] rhasspyfuzzywuzzy_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 11:52:48,384] rhasspyfuzzywuzzy_hermes: Subscribed to rhasspy/nlu/default/train
[DEBUG:2020-05-23 11:52:48,384] rhasspyfuzzywuzzy_hermes: Subscribed to hermes/nlu/query
[DEBUG:2020-05-23 11:52:48,532] rhasspyasr_kaldi_hermes: Namespace(base_dictionary=[’/profiles/de/kaldi/base_dictionary.txt’, ‘/profiles/de/kaldi_custom_words.txt’], base_language_model_fst=’/profiles/de/kaldi/base_language_model.fst’, base_language_model_weight=0.0, debug=True, dictionary=’/profiles/de/kaldi/dictionary.txt’, dictionary_casing=‘lower’, g2p_casing=‘ignore’, g2p_model=’/profiles/de/kaldi/g2p.fst’, graph_dir=’/profiles/de/kaldi/model/graph’, host=‘rhasspy’, language_model=’/profiles/de/kaldi/language_model.txt’, log_format=’[%(levelname)s:%(asctime)s] %(name)s: %(message)s’, mixed_language_model_fst=’/profiles/de/kaldi/mixed.fst’, model_dir=’/profiles/de/kaldi/model’, model_type=‘nnet3’, no_overwrite_train=False, password=None, port=1883, reuse_transcribers=False, site_id=[‘default’, ‘s1’, ‘s2’, ‘s3’, ‘s4’, ‘s5’, ‘s6’], tls=False, tls_ca_certs=None, tls_cert_reqs=‘CERT_REQUIRED’, tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, unknown_words=’/profiles/de/kaldi_unknown_words.txt’, username=None, voice_before_seconds=0.5, voice_min_seconds=1.0, voice_sensitivity=1, voice_silence_seconds=0.5, voice_skip_seconds=0.0, voice_speech_seconds=0.3)
[DEBUG:2020-05-23 11:52:48,533] rhasspyasr_kaldi_hermes: Loading Kaldi model from /profiles/de/kaldi/model (graph=/profiles/de/kaldi/model/graph)
[DEBUG:2020-05-23 11:52:48,536] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:48,539] rhasspyasr_kaldi_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 11:52:48,551] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 11:52:48,551] rhasspyasr_kaldi_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 11:52:48,553] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s5/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,554] rhasspyasr_kaldi_hermes: Subscribed to hermes/asr/toggleOff
[DEBUG:2020-05-23 11:52:48,554] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s4/audioFrame
[DEBUG:2020-05-23 11:52:48,554] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/default/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,555] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s4/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,555] rhasspyasr_kaldi_hermes: Subscribed to hermes/asr/stopListening
[DEBUG:2020-05-23 11:52:48,555] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s1/train
[DEBUG:2020-05-23 11:52:48,555] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s1/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,556] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s2/audioFrame
[DEBUG:2020-05-23 11:52:48,556] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s5/train
[DEBUG:2020-05-23 11:52:48,557] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/g2p/pronounce
[DEBUG:2020-05-23 11:52:48,557] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s3/audioFrame
[DEBUG:2020-05-23 11:52:48,558] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s2/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,558] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s6/audioFrame
[DEBUG:2020-05-23 11:52:48,559] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s3/train
[DEBUG:2020-05-23 11:52:48,559] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s2/train
[DEBUG:2020-05-23 11:52:48,559] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s6/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,560] rhasspyasr_kaldi_hermes: Subscribed to hermes/asr/startListening
[DEBUG:2020-05-23 11:52:48,560] rhasspyasr_kaldi_hermes: Subscribed to hermes/asr/toggleOn
[DEBUG:2020-05-23 11:52:48,561] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/default/audioFrame
[DEBUG:2020-05-23 11:52:48,561] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s3/+/audioSessionFrame
[DEBUG:2020-05-23 11:52:48,561] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s6/train
[DEBUG:2020-05-23 11:52:48,562] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/default/train
[DEBUG:2020-05-23 11:52:48,562] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s5/audioFrame
[DEBUG:2020-05-23 11:52:48,562] rhasspyasr_kaldi_hermes: Subscribed to rhasspy/asr/s4/train
[DEBUG:2020-05-23 11:52:48,563] rhasspyasr_kaldi_hermes: Subscribed to hermes/audioServer/s1/audioFrame
[DEBUG:2020-05-23 11:52:48,600] rhasspyasr_kaldi_hermes: Receiving audio

But after “Receiving audio” nothing happens if i speak the wake word.
Even if i push “Wake up” it seems to run in a timeout.

If i use only one satellite (and same siteID as the server) it works…

Have i something missed? Is the support for multiple satellites not yet finished?

Is a great project, please carry on that good work!

maybe your mqtt server is overloaded ? every audio streams from all your sattelites are constently (even when not “awake”) sent over mqtt you NEED to set the UDP Audio parameters in both “audio recording” and “wake word” to localhost port 12202 on every sattelites ( according to the docs )

Thanks for the reply!

Here the output of top:
image

If i decrease the number of satellites the load decreases also…
Why should i use UDP to send audio if the hermes protocol also implements audio-streaming?
Every device sends 44 kByte/s to the server if there is no silence.
It seems to scale correctly, but i think there is a problem if there are more than one device is streaming…

I had big problems run rhasspy on raspi zero w (e.g. the kaldi-problem) and the docker-overhead-problem and i thought i build it as simple as i can…

Any other ideas or any best practices in rhasspy multi-satellite environments?

from the docs:

With a UDP audio port set, the microphone audio will go directly to the wake word service (on 127.0.0.1).
When an asr/startListening message arrives at the microphone service, it will begin streaming over MQTT. Once an asr/stopListening message is received, audio is streamed again over UDP only.

:slight_smile: streaming all the time is not needed

Yes, its not needed, but if you want to have multiple “dummy” devices without too much config and you want to reduce the performance needed by wake-word detection at the recording site its the best way.

It seems to be that it is currently not supported to use satellites with other sites that the server is configured… if i change the mqtt siteID to “default” the server wake-word detection is working:

Summary
2020-05-23 18:15:35,244 WARN received SIGHUP indicating restart request
2020-05-23 18:15:35,245 INFO waiting for intent_recognition, dialogue, speech_to_text, wake_word to die
2020-05-23 18:15:35,250 INFO stopped: wake_word (terminated by SIGTERM)
2020-05-23 18:15:35,258 INFO stopped: speech_to_text (terminated by SIGTERM)
2020-05-23 18:15:35,263 INFO stopped: dialogue (terminated by SIGTERM)
2020-05-23 18:15:35,271 INFO stopped: intent_recognition (terminated by SIGTERM)
2020-05-23 18:15:35,292 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2020-05-23 18:15:35,293 INFO supervisord started with pid 145
2020-05-23 18:15:36,299 INFO spawned: 'intent_recognition' with pid 8532
2020-05-23 18:15:36,303 INFO spawned: 'dialogue' with pid 8533
2020-05-23 18:15:36,308 INFO spawned: 'speech_to_text' with pid 8534
2020-05-23 18:15:36,312 INFO spawned: 'wake_word' with pid 8535
[DEBUG:2020-05-23 18:15:36,647] rhasspydialogue_hermes: Namespace(debug=True, host='rhasspy', log_format='[%(levelname)s:%(asctime)s] %(name)s: %(message)s', password=None, port=1883, session_timeout=30.0, site_id=['default'], sound=None, tls=False, tls_ca_certs=None, tls_cert_reqs='CERT_REQUIRED', tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, username=None, wakeword_id=None)
[DEBUG:2020-05-23 18:15:36,649] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:36,651] rhasspydialogue_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 18:15:36,660] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:36,662] rhasspydialogue_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 18:15:36,662] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/startSession
[DEBUG:2020-05-23 18:15:36,662] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/configure
[DEBUG:2020-05-23 18:15:36,663] rhasspydialogue_hermes: Subscribed to hermes/audioServer/default/playFinished
[DEBUG:2020-05-23 18:15:36,663] rhasspydialogue_hermes: Subscribed to hermes/hotword/+/detected
[DEBUG:2020-05-23 18:15:36,663] rhasspydialogue_hermes: Subscribed to hermes/tts/sayFinished
[DEBUG:2020-05-23 18:15:36,663] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/continueSession
[DEBUG:2020-05-23 18:15:36,664] rhasspydialogue_hermes: Subscribed to hermes/dialogueManager/endSession
[DEBUG:2020-05-23 18:15:36,664] rhasspydialogue_hermes: Subscribed to hermes/nlu/intentNotRecognized
[DEBUG:2020-05-23 18:15:36,664] rhasspydialogue_hermes: Subscribed to hermes/intent/#
[DEBUG:2020-05-23 18:15:36,665] rhasspydialogue_hermes: Subscribed to hermes/asr/textCaptured
[DEBUG:2020-05-23 18:15:36,712] rhasspywake_porcupine_hermes: Namespace(debug=True, host='rhasspy', keyword=['alexa.ppn'], keyword_dir=['/profiles/de/porcupine'], library=None, log_format='[%(levelname)s:%(asctime)s] %(name)s: %(message)s', model=None, password=None, port=1883, sensitivity=['0.6'], site_id=['default', 'default'], stdin_audio=False, tls=False, tls_ca_certs=None, tls_cert_reqs='CERT_REQUIRED', tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, udp_audio=None, username=None, wakeword_id=None)
[DEBUG:2020-05-23 18:15:36,714] rhasspywake_porcupine_hermes: Loading porcupine (kw=['/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux/alexa.ppn'], kwdirs=['/profiles/de/porcupine', '/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux'], sensitivity=[0.6], library=/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/lib/linux/x86_64/libpv_porcupine.so, model=/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/lib/common/porcupine_params.pv)
[DEBUG:2020-05-23 18:15:36,723] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:36,726] rhasspywake_porcupine_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 18:15:36,739] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:36,740] rhasspywake_porcupine_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 18:15:36,741] rhasspywake_porcupine_hermes: Subscribed to hermes/audioServer/default/audioFrame
[DEBUG:2020-05-23 18:15:36,742] rhasspywake_porcupine_hermes: Subscribed to hermes/hotword/toggleOff
[DEBUG:2020-05-23 18:15:36,742] rhasspywake_porcupine_hermes: Subscribed to rhasspy/hotword/getHotwords
[DEBUG:2020-05-23 18:15:36,743] rhasspywake_porcupine_hermes: Subscribed to hermes/hotword/toggleOn
[DEBUG:2020-05-23 18:15:36,780] rhasspywake_porcupine_hermes: Receiving audio
[DEBUG:2020-05-23 18:15:37,305] rhasspyfuzzywuzzy_hermes: Namespace(casing='lower', confidence_threshold=0.0, debug=True, examples='/profiles/de/intent_examples.json', host='rhasspy', intent_graph='/profiles/de/intent_graph.pickle.gz', language='de_DE', log_format='[%(levelname)s:%(asctime)s] %(name)s: %(message)s', password=None, port=1883, replace_numbers=True, site_id=['default'], tls=False, tls_ca_certs=None, tls_cert_reqs='CERT_REQUIRED', tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, username=None)
2020-05-23 18:15:37,306 INFO success: intent_recognition entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-23 18:15:37,307 INFO success: dialogue entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-23 18:15:37,307 INFO success: speech_to_text entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
[DEBUG:2020-05-23 18:15:37,309] asyncio: Using selector: EpollSelector
2020-05-23 18:15:37,311 INFO success: wake_word entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
[DEBUG:2020-05-23 18:15:37,311] rhasspyfuzzywuzzy_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 18:15:37,322] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:37,324] rhasspyfuzzywuzzy_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 18:15:37,324] rhasspyfuzzywuzzy_hermes: Subscribed to rhasspy/nlu/default/train
[DEBUG:2020-05-23 18:15:37,325] rhasspyfuzzywuzzy_hermes: Subscribed to hermes/nlu/query
[DEBUG:2020-05-23 18:15:37,652] rhasspyasr_pocketsphinx_hermes: Namespace(acoustic_model='/profiles/de/acoustic_model', base_dictionary=['/profiles/de/base_dictionary.txt', '/profiles/de/custom_words.txt'], base_language_model_fst='/profiles/de/base_language_model.fst', base_language_model_weight=0.0, debug=True, dictionary='/profiles/de/dictionary.txt', dictionary_casing='lower', g2p_casing='ignore', g2p_model='/profiles/de/g2p.fst', host='rhasspy', intent_graph='/profiles/de/intent_graph.pickle.gz', language_model='/profiles/de/language_model.txt', log_format='[%(levelname)s:%(asctime)s] %(name)s: %(message)s', mixed_language_model_fst='/profiles/de/mixed.fst', mllr_matrix=None, no_overwrite_train=False, password=None, port=1883, site_id=['default', 'default'], tls=False, tls_ca_certs=None, tls_cert_reqs='CERT_REQUIRED', tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, unknown_words='/profiles/de/unknown_words.txt', username=None, voice_before_seconds=0.5, voice_min_seconds=1.0, voice_sensitivity=1, voice_silence_seconds=0.5, voice_skip_seconds=0.0, voice_speech_seconds=0.3)
[DEBUG:2020-05-23 18:15:37,654] rhasspyasr_pocketsphinx_hermes: Loading Pocketsphinx decoder with (hmm=/profiles/de/acoustic_model, dict=/profiles/de/dictionary.txt, lm=/profiles/de/language_model.txt, mllr=None)
[DEBUG:2020-05-23 18:15:37,658] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:37,660] rhasspyasr_pocketsphinx_hermes: Connecting to rhasspy:1883
[DEBUG:2020-05-23 18:15:37,672] asyncio: Using selector: EpollSelector
[DEBUG:2020-05-23 18:15:37,674] rhasspyasr_pocketsphinx_hermes: Connected to MQTT broker
[DEBUG:2020-05-23 18:15:37,675] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/asr/toggleOn
[DEBUG:2020-05-23 18:15:37,676] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/asr/startListening
[DEBUG:2020-05-23 18:15:37,677] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/asr/toggleOff
[DEBUG:2020-05-23 18:15:37,678] rhasspyasr_pocketsphinx_hermes: Subscribed to rhasspy/asr/default/train
[DEBUG:2020-05-23 18:15:37,679] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/audioServer/default/audioFrame
[DEBUG:2020-05-23 18:15:37,679] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/audioServer/default/+/audioSessionFrame
[DEBUG:2020-05-23 18:15:37,680] rhasspyasr_pocketsphinx_hermes: Subscribed to hermes/asr/stopListening
[DEBUG:2020-05-23 18:15:37,681] rhasspyasr_pocketsphinx_hermes: Subscribed to rhasspy/g2p/pronounce
[DEBUG:2020-05-23 18:15:37,708] rhasspyasr_pocketsphinx_hermes: Receiving audio
[DEBUG:2020-05-23 18:15:40,691] rhasspyasr_pocketsphinx_hermes: <- AsrTrain
[DEBUG:2020-05-23 18:15:40,691] rhasspyasr_pocketsphinx_hermes: Loading base dictionary from /profiles/de/base_dictionary.txt
[DEBUG:2020-05-23 18:15:40,731] rhasspyfuzzywuzzy_hermes: <- NluTrain
[DEBUG:2020-05-23 18:15:40,731] rhasspyfuzzywuzzy_hermes: Loading /profiles/de/intent_graph.pickle.gz
[DEBUG:2020-05-23 18:15:40,733] rhasspyfuzzywuzzy.train: Generating examples
[DEBUG:2020-05-23 18:15:40,750] rhasspyfuzzywuzzy.train: Examples generated
[DEBUG:2020-05-23 18:15:40,756] rhasspyfuzzywuzzy_hermes: Wrote /profiles/de/intent_examples.json
[DEBUG:2020-05-23 18:15:40,757] rhasspyfuzzywuzzy_hermes: -> NluTrainSuccess(id='f385f4c1-2f95-49be-b93b-cd3cf42e7738')
[DEBUG:2020-05-23 18:15:40,758] rhasspyfuzzywuzzy_hermes: Publishing 46 bytes(s) to rhasspy/nlu/default/trainSuccess
[DEBUG:2020-05-23 18:15:41,394] rhasspyasr_pocketsphinx_hermes: Loading base dictionary from /profiles/de/custom_words.txt
[DEBUG:2020-05-23 18:15:41,399] rhasspyasr_pocketsphinx_hermes: Loading /profiles/de/intent_graph.pickle.gz
[DEBUG:2020-05-23 18:15:41,400] rhasspyasr_pocketsphinx_hermes: Starting training
[DEBUG:2020-05-23 18:15:41,404] rhasspyasr_pocketsphinx.train: Converting to ARPA language model
[DEBUG:2020-05-23 18:15:41,408] rhasspynlu.arpa_lm: Wrote vocabulary to /tmp/tmpyajq7ukx.txt
[DEBUG:2020-05-23 18:15:41,409] rhasspynlu.arpa_lm: compile_fst: fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmpua1q855v/isymbols.txt --osymbols=/tmp/tmpua1q855v/osymbols.txt /tmp/tmpua1q855v/graph.fst.txt "/tmp/tmpua1q855v/graph.fst.fst"
[DEBUG:2020-05-23 18:15:41,991] rhasspynlu.arpa_lm: intent_counts: ngramcount "/tmp/tmpua1q855v/graph.fst.fst" "/tmp/tmpua1q855v/graph.fst.fst.counts"
[DEBUG:2020-05-23 18:15:42,091] rhasspynlu.arpa_lm: intent_model: ngrammake --method=witten_bell "/tmp/tmpua1q855v/graph.fst.fst.counts" "/tmp/tmpua1q855v/graph.fst.fst.model"
[DEBUG:2020-05-23 18:15:42,147] rhasspynlu.arpa_lm: intent_arpa: ngramprint --ARPA "/tmp/tmpua1q855v/graph.fst.fst.model" > "/tmp/tmp1s3jawn8"
[DEBUG:2020-05-23 18:15:42,199] rhasspyasr_pocketsphinx.train: Writing pronunciation dictionary
[WARNING:2020-05-23 18:15:42,200] rhasspynlu.g2p: Missing word 'zimmer_michael'
[WARNING:2020-05-23 18:15:42,200] rhasspynlu.g2p: Missing word 'michaels_zimmer'
[DEBUG:2020-05-23 18:15:42,202] rhasspynlu.g2p: Guessing pronunciations for {'michaels_zimmer', 'zimmer_michael'}
[DEBUG:2020-05-23 18:15:42,204] rhasspynlu.g2p: ['/usr/lib/rhasspy/bin/phonetisaurus-apply', '--model', '/profiles/de/g2p.fst', '--word_list', '/tmp/tmpt0vjagrz', '--nbest', '1']
[DEBUG:2020-05-23 18:15:42,747] rhasspynlu.g2p: Wrote missing words to /profiles/de/unknown_words.txt
[DEBUG:2020-05-23 18:15:42,749] rhasspyasr_pocketsphinx.train: Wrote dictionary to /profiles/de/dictionary.txt
[DEBUG:2020-05-23 18:15:42,750] rhasspyasr_pocketsphinx.train: Wrote language model to /profiles/de/language_model.txt
[DEBUG:2020-05-23 18:15:42,751] rhasspyasr_pocketsphinx_hermes: Re-loading transcriber
[DEBUG:2020-05-23 18:15:42,753] rhasspyasr_pocketsphinx_hermes: -> AsrTrainSuccess(id='f385f4c1-2f95-49be-b93b-cd3cf42e7738')
[DEBUG:2020-05-23 18:15:42,754] rhasspyasr_pocketsphinx_hermes: Publishing 46 bytes(s) to rhasspy/asr/default/trainSuccess
[DEBUG:2020-05-23 18:15:56,304] rhasspywake_porcupine_hermes: -> HotwordDetected(model_id='/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux/alexa.ppn', model_version='', model_type='personal', current_sensitivity=0.6, site_id='default', session_id=None, send_audio_captured=None)
[DEBUG:2020-05-23 18:15:56,305] rhasspywake_porcupine_hermes: Publishing 277 bytes(s) to hermes/hotword/alexa/detected
[DEBUG:2020-05-23 18:15:56,311] rhasspydialogue_hermes: <- HotwordDetected(model_id='/usr/lib/rhasspy/lib/python3.7/site-packages/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux/alexa.ppn', model_version='', model_type='personal', current_sensitivity=0.6, site_id='default', session_id=None, send_audio_captured=None)
[DEBUG:2020-05-23 18:15:56,312] rhasspydialogue_hermes: Starting new session (id=default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef)
[DEBUG:2020-05-23 18:15:56,314] rhasspydialogue_hermes: -> DialogueSessionStarted(session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', site_id='default', custom_data='alexa')
[DEBUG:2020-05-23 18:15:56,314] rhasspydialogue_hermes: Publishing 111 bytes(s) to hermes/dialogueManager/sessionStarted
[DEBUG:2020-05-23 18:15:56,315] rhasspydialogue_hermes: -> HotwordToggleOff(site_id='default', reason=<HotwordToggleReason.DIALOGUE_SESSION: 'dialogueSession'>)
[DEBUG:2020-05-23 18:15:56,316] rhasspydialogue_hermes: Publishing 50 bytes(s) to hermes/hotword/toggleOff
[DEBUG:2020-05-23 18:15:56,316] rhasspydialogue_hermes: Listening for session default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef
[DEBUG:2020-05-23 18:15:56,317] rhasspydialogue_hermes: -> AsrStartListening(site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', stop_on_silence=True, send_audio_captured=True, wakeword_id='alexa', intent_filter=None)
[DEBUG:2020-05-23 18:15:56,318] rhasspydialogue_hermes: Publishing 183 bytes(s) to hermes/asr/startListening
[DEBUG:2020-05-23 18:15:56,364] rhasspyasr_pocketsphinx_hermes: <- AsrStartListening(site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', stop_on_silence=True, send_audio_captured=True, wakeword_id='alexa', intent_filter=None)
[DEBUG:2020-05-23 18:15:56,365] rhasspyasr_pocketsphinx_hermes: Starting listening (session_id=default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef)
[DEBUG:2020-05-23 18:15:56,380] rhasspyasr_pocketsphinx_hermes: Receiving audio
[DEBUG:2020-05-23 18:15:56,408] rhasspywake_porcupine_hermes: <- HotwordToggleOff(site_id='default', reason=<HotwordToggleReason.DIALOGUE_SESSION: 'dialogueSession'>)
[DEBUG:2020-05-23 18:15:56,409] rhasspywake_porcupine_hermes: Disabled
[DEBUG:2020-05-23 18:15:58,942] rhasspyasr_pocketsphinx_hermes: Voice command recorded for session default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef (68160 byte(s))
[DEBUG:2020-05-23 18:15:58,943] rhasspyasr_pocketsphinx_hermes: Transcribing 68204 byte(s) of audio data
INFO: pocketsphinx.c(151): Parsed model-specific feature parameters from /profiles/de/acoustic_model/feat.params

…more debug text…

[DEBUG:2020-05-23 18:16:00,560] rhasspyasr_pocketsphinx_hermes: Transcription(text='nachttischlampe aktivieren', likelihood=0.40807516526945653, transcribe_seconds=0.2041638290102128, wav_seconds=2.13, tokens=[TranscriptionToken(token='<s>', start_time=0.0, end_time=0.05, likelihood=1.0), TranscriptionToken(token='nachttischlampe', start_time=0.06, end_time=0.9, likelihood=1.0), TranscriptionToken(token='aktivieren', start_time=0.91, end_time=1.91, likelihood=1.000100016593933), TranscriptionToken(token='</s>', start_time=1.92, end_time=2.06, likelihood=1.0)])
[DEBUG:2020-05-23 18:16:00,565] rhasspyasr_pocketsphinx_hermes: -> AsrTextCaptured(text='nachttischlampe aktivieren', likelihood=0.40807516526945653, seconds=0.2041638290102128, site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', wakeword_id=None, asr_tokens=[[AsrToken(value='<s>', confidence=1.0, range_start=0, range_end=4, time=AsrTokenTime(start=0.0, end=0.05)), AsrToken(value='nachttischlampe', confidence=1.0, range_start=4, range_end=20, time=AsrTokenTime(start=0.06, end=0.9)), AsrToken(value='aktivieren', confidence=1.000100016593933, range_start=20, range_end=31, time=AsrTokenTime(start=0.91, end=1.91)), AsrToken(value='</s>', confidence=1.0, range_start=31, range_end=36, time=AsrTokenTime(start=1.92, end=2.06))]])
[DEBUG:2020-05-23 18:16:00,566] rhasspyasr_pocketsphinx_hermes: Publishing 694 bytes(s) to hermes/asr/textCaptured
[DEBUG:2020-05-23 18:16:00,566] rhasspyasr_pocketsphinx_hermes: -> AsrAudioCaptured(68204 byte(s))
[DEBUG:2020-05-23 18:16:00,578] rhasspydialogue_hermes: <- AsrTextCaptured(text='nachttischlampe aktivieren', likelihood=0.40807516526945653, seconds=0.2041638290102128, site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', wakeword_id=None, asr_tokens=[[AsrToken(value='<s>', confidence=1.0, range_start=0, range_end=4, time=AsrTokenTime(start=0.0, end=0.05)), AsrToken(value='nachttischlampe', confidence=1.0, range_start=4, range_end=20, time=AsrTokenTime(start=0.06, end=0.9)), AsrToken(value='aktivieren', confidence=1.000100016593933, range_start=20, range_end=31, time=AsrTokenTime(start=0.91, end=1.91)), AsrToken(value='</s>', confidence=1.0, range_start=31, range_end=36, time=AsrTokenTime(start=1.92, end=2.06))]])
[DEBUG:2020-05-23 18:16:00,579] rhasspydialogue_hermes: Received text: nachttischlampe aktivieren
[DEBUG:2020-05-23 18:16:00,579] rhasspydialogue_hermes: -> AsrStopListening(site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef')
[DEBUG:2020-05-23 18:16:00,580] rhasspydialogue_hermes: Publishing 88 bytes(s) to hermes/asr/stopListening
[DEBUG:2020-05-23 18:16:00,582] rhasspydialogue_hermes: -> HotwordToggleOn(site_id='default', reason=<HotwordToggleReason.DIALOGUE_SESSION: 'dialogueSession'>)
[DEBUG:2020-05-23 18:16:00,582] rhasspydialogue_hermes: Publishing 50 bytes(s) to hermes/hotword/toggleOn
[DEBUG:2020-05-23 18:16:00,583] rhasspyasr_pocketsphinx_hermes: <- AsrStopListening(site_id='default', session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef')
[DEBUG:2020-05-23 18:16:00,583] rhasspyasr_pocketsphinx_hermes: Received a total of 93024 byte(s) for WAV data for session default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef
[DEBUG:2020-05-23 18:16:00,584] rhasspyasr_pocketsphinx_hermes: Stopping listening (session_id=default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef)
[DEBUG:2020-05-23 18:16:00,585] rhasspywake_porcupine_hermes: <- HotwordToggleOn(site_id='default', reason=<HotwordToggleReason.DIALOGUE_SESSION: 'dialogueSession'>)
[DEBUG:2020-05-23 18:16:00,586] rhasspywake_porcupine_hermes: Enabled
[DEBUG:2020-05-23 18:16:00,587] rhasspydialogue_hermes: -> NluQuery(input='nachttischlampe aktivieren', site_id='default', id=None, intent_filter=None, session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', wakeword_id='alexa')
[DEBUG:2020-05-23 18:16:00,588] rhasspydialogue_hermes: Publishing 184 bytes(s) to hermes/nlu/query
[DEBUG:2020-05-23 18:16:00,593] rhasspyfuzzywuzzy_hermes: <- NluQuery(input='nachttischlampe aktivieren', site_id='default', id=None, intent_filter=None, session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', wakeword_id='alexa')
[DEBUG:2020-05-23 18:16:00,599] rhasspyfuzzywuzzy: input=nachttischlampe aktivieren, match=schalte das nachttischlampe aktivieren, score=95.0
[DEBUG:2020-05-23 18:16:00,604] rhasspyfuzzywuzzy_hermes: -> NluIntentParsed(input='schalte das nachttischlampe aktivieren', intent=Intent(intent_name='ChangeLightState', confidence_score=0.95), site_id='default', id=None, slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'nachttischlampe'}, slot_name='name', raw_value='nachttischlampe', confidence=1.0, range=SlotRange(start=12, end=27, raw_start=12, raw_end=27)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'aktivieren'}, slot_name='state', raw_value='aktivieren', confidence=1.0, range=SlotRange(start=28, end=38, raw_start=28, raw_end=38))], session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef')
[DEBUG:2020-05-23 18:16:00,639] rhasspyfuzzywuzzy_hermes: Publishing 651 bytes(s) to hermes/nlu/intentParsed
[DEBUG:2020-05-23 18:16:00,644] rhasspyfuzzywuzzy_hermes: -> NluIntent(input='schalte das nachttischlampe aktivieren', intent=Intent(intent_name='ChangeLightState', confidence_score=0.95), site_id='default', id=None, slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'nachttischlampe'}, slot_name='name', raw_value='nachttischlampe', confidence=1.0, range=SlotRange(start=12, end=27, raw_start=12, raw_end=27)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'aktivieren'}, slot_name='state', raw_value='aktivieren', confidence=1.0, range=SlotRange(start=28, end=38, raw_start=28, raw_end=38))], session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', custom_data=None, asr_tokens=[[AsrToken(value='schalte', confidence=1.0, range_start=0, range_end=7, time=None), AsrToken(value='das', confidence=1.0, range_start=8, range_end=11, time=None), AsrToken(value='nachttischlampe', confidence=1.0, range_start=12, range_end=27, time=None), AsrToken(value='aktivieren', confidence=1.0, range_start=28, range_end=38, time=None)]], asr_confidence=None, raw_input='nachttischlampe aktivieren', wakeword_id='alexa')
[DEBUG:2020-05-23 18:16:00,644] rhasspyfuzzywuzzy_hermes: Publishing 1136 bytes(s) to hermes/intent/ChangeLightState
[DEBUG:2020-05-23 18:16:00,656] rhasspydialogue_hermes: <- NluIntent(input='schalte das nachttischlampe aktivieren', intent=Intent(intent_name='ChangeLightState', confidence_score=0.95), site_id='default', id=None, slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'nachttischlampe'}, slot_name='name', raw_value='nachttischlampe', confidence=1.0, range=SlotRange(start=12, end=27, raw_start=12, raw_end=27)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'aktivieren'}, slot_name='state', raw_value='aktivieren', confidence=1.0, range=SlotRange(start=28, end=38, raw_start=28, raw_end=38))], session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', custom_data=None, asr_tokens=[[AsrToken(value='schalte', confidence=1.0, range_start=0, range_end=7, time=None), AsrToken(value='das', confidence=1.0, range_start=8, range_end=11, time=None), AsrToken(value='nachttischlampe', confidence=1.0, range_start=12, range_end=27, time=None), AsrToken(value='aktivieren', confidence=1.0, range_start=28, range_end=38, time=None)]], asr_confidence=None, raw_input='nachttischlampe aktivieren', wakeword_id='alexa')
[DEBUG:2020-05-23 18:16:00,658] rhasspydialogue_hermes: Recognized NluIntent(input='schalte das nachttischlampe aktivieren', intent=Intent(intent_name='ChangeLightState', confidence_score=0.95), site_id='default', id=None, slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'nachttischlampe'}, slot_name='name', raw_value='nachttischlampe', confidence=1.0, range=SlotRange(start=12, end=27, raw_start=12, raw_end=27)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'aktivieren'}, slot_name='state', raw_value='aktivieren', confidence=1.0, range=SlotRange(start=28, end=38, raw_start=28, raw_end=38))], session_id='default-alexa-2c46790a-6221-4f1e-90ce-7aeb0810f1ef', custom_data=None, asr_tokens=[[AsrToken(value='schalte', confidence=1.0, range_start=0, range_end=7, time=None), AsrToken(value='das', confidence=1.0, range_start=8, range_end=11, time=None), AsrToken(value='nachttischlampe', confidence=1.0, range_start=12, range_end=27, time=None), AsrToken(value='aktivieren', confidence=1.0, range_start=28, range_end=38, time=None)]], asr_confidence=None, raw_input='nachttischlampe aktivieren', wakeword_id='alexa')
[DEBUG:2020-05-23 18:16:03,928] rhasspywake_porcupine_hermes: Receiving audio

If i set another satellite to “default” is not useful, because they stations broadcasting audio from different locations and time-slots in the same siteID…

I did not understand the textbox to specify multiple satelite siteIDs if its not working…

Hi, I’m having a similar issue to yours - unable to get satellite / base working. Curious about the workaround solution of setting satellite_id to “default”: Do you leave all other settings on the satellite the same as in the documentation, and then it works? Is your “base” site_id also default? … Or, to get it working are you essentially running all services on the satellite?

Thanks!

Hi,

no. If i install the “Fat-Docker-Rhasspy-Suite” on the Zero W the performance is very bad.
Its only important that the site ID on the base and the satellite are identical.
That makes no sense, but with hermes-audio-server i was able to send audio to the base station and the audio and intent was recongnized by the base. But only if i press the “Wake” button at the base station web-gui…

I would be very happy if there was a way to only stream all audio with VAD support (like the little python packet hermes-audio-server) to the central base station where all intellicence was made.

Any other ideas?