changeable wake word
Switch installed openWakeWord models from configuration today, with a custom “computah” model planned.
$ say the wake word
A local voice assistant with local speech models, a configurable wake word, and a bridge to the persistent assistant session you already use.
wake word detected → transcript sent → reply.wav written
computah keeps the speech path local and routes the text turn into a long-running assistant. That means voice and text can be two interfaces to the same session instead of two separate assistants.
Switch installed openWakeWord models from configuration today, with a custom “computah” model planned.
Use faster-whisper through CTranslate2 int8 weights without PyTorch.
Send transcripts through a small file bridge to an assistant session that can keep context.
Render replies with Piper and write a wav response without a cloud speech API.
openWakeWord scans audio frames.
Whisper turns speech into a transcript.
The transcript enters the persistent session.
Piper renders the response.
The reply is saved as a wav file.
v0.1.0 is the file-based core. It runs wav files through the same stages the live loop will use later.
Wake detection, transcription, brain routing, and speech output can run from a wav file.
The brain path can use a local session, an ssh session, or a simulated test persona.
Microphone capture, endpointing, playback, and a trained computah wake word are next.
The project is built around a file-based bridge, not a one-shot model call. The pipeline sends one event to an inbox and polls for the next reply block from the assistant session.
Start with a virtual environment, download a Piper voice, then feed the pipeline a wav file. Whisper models download on first use.
python -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python -m piper.download_voices en_US-lessac-medium --download-dir voices
.venv/bin/python pipeline.py --list-wake-words
.venv/bin/python pipeline.py clip.wav -o reply.wav