docker run -it -p 10400:10400 rhasspy/wyoming-openwakeword --preload-model 'ok_nabu'
So, I gues I have to form some request to the localhost:10400 in json
wake - list wake word detection services( optional )
models - list of available models (required)
name - unique name (required)
languages - supported languages by model (list of string, required)
attribution (required)
name - name of creator (required)
url - URL of creator (required)
installed - true if currently installed (bool, required)
description - human-readable description (string, optional)
version - version of the model (string, optional)
I don’t know enough about the documentation, but if you look at the satellite repo you’ll get a good view of the flow
each component registers its presence on startup, so that the main flow can tell to only call VAD if VAD is installed, etc
the mic task captures the raw audio and streams it on tcp://… whatever port
the downstream tasks take the audi stream and work on it , and signal their positive result
vad processes for voice detection (vs noise, sounds) (found voice)
wake processes for the wakeword (found wakeword) (no look for wakeword if no speech found)
each of these events trigger the other downstream processes to start their work (no speech reco if no wakeword)
and the config can add or bypass certain tasks always or for different stages
line 251 is the start of the event processing state machine.
I wrote a speech reco task, (asr) it takes in audio-chunk events and emits a transcript event with the text
I want to do the same as you , replace the hard coded ‘tasks’ in my existing app with wyoming services.
so I need to create an equivalent of the satellite.py in my app and listen for the events… same as the hard coded stuff does… (all my stuff is in javascript) …
i could use a docker setup for all this, my existing UI has visual annotations during the process
after hotword, while processing, … (sort of like a real echo device, spinning colors …)
Interesting. I would appreciate if you post a link to your codebase when you will manage to use it.
I would use rather openwakeword directly, but it is not available on armv7 because of onnxruntime, I guess. But wyoming somehow bypassed this, so using wyoming creates more modular system desing (that is better for sure). But for a simpler prototype I would use openwakeword as I said, but I can’t do that right now.