$ say the wake word

computah

A local voice assistant with local speech models, a configurable wake word, and a bridge to the persistent assistant session you already use.

  • CPU-only speech path
  • No cloud speech API
  • Mic-free tests

wake word detected → transcript sent → reply.wav written

local speech, shared memory

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.

changeable wake word

Switch installed openWakeWord models from configuration today, with a custom “computah” model planned.

local transcription

Use faster-whisper through CTranslate2 int8 weights without PyTorch.

persistent brain

Send transcripts through a small file bridge to an assistant session that can keep context.

local voice

Render replies with Piper and write a wav response without a cloud speech API.

01

wake word

openWakeWord scans audio frames.

02

speech-to-text

Whisper turns speech into a transcript.

03

brain bridge

The transcript enters the persistent session.

04

text-to-speech

Piper renders the response.

05

audio out

The reply is saved as a wav file.

where the project is now

v0.1.0 is the file-based core. It runs wav files through the same stages the live loop will use later.

works now

mic-free pipeline

Wake detection, transcription, brain routing, and speech output can run from a wav file.

works now

replaceable bridge

The brain path can use a local session, an ssh session, or a simulated test persona.

planned

live loop

Microphone capture, endpointing, playback, and a trained computah wake word are next.

the bridge is the point

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.

  • local: write to an inbox and read replies on the same host.
  • ssh: use the same contract against a session on another machine.
  • simulated: test the full bridge without a live assistant.

run the mic-free core

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