Skip to main content

Voice

PreviewAvailable on: WindowsShips in the preview channel only. Not a stable release.

Hold Control+Shift and speak. Whisper dictation and Kokoro Read Aloud, both fully on-device, plus terminal voice for headless sessions.

Harmony hears and speaks without a cloud round-trip. Both voice models run entirely on your machine: faster-whisper for speech-to-text and Kokoro-82M for text-to-speech. No API keys, no per-word bill, and no audio leaves the device.

Dictation (Whisper)

ControlBehavior
Hold Control+ShiftPush-to-talk: mic starts instantly, release to transcribe into the focused terminal.
Dictate (bottom bar)Toggle listening without holding the key.
EscCancel the current take.

The push-to-talk key is rebindable in Settings → Dictation. If you bind Space itself, a short tap still types a normal space.

The engine defaults to faster-whisper's tiny.en model (39 MB, downloaded on first use) running on CPU with int8 compute: fast on ordinary machines, no GPU required. Larger models up to large-v3 are selectable in Settings → Dictation when you want accuracy over speed. It needs Python 3.10+ on PATH; on first use Harmony detects Python and offers to install faster-whisper for you.

Environment knobs:

VariableDefaultPurpose
NALA_WHISPER_MODELtiny.enModel name (tinylarge-v3)
NALA_WHISPER_PYTHONpython / python3Python executable
NALA_WHISPER_PRELOADonWarm the model after app start; set 0 to skip

Read Aloud (Kokoro TTS)

Paste text and click the speaker icon, or use /read-aloud in the TUI. Kokoro-82M runs fully on-device via ONNX in a worker thread, with 15 curated English voices to choose from. The model (~90 MB) downloads once on first use; after that it works offline.

TTS settings (Settings → TTS): voice selection with preview, speed (0.75x–1.5x), quality (q4/q8/fp16/fp32), volume, and interrupt-on-paste. Two response styles ship live in the app; pick yours.

System-wide dictation

It does not stop at the terminal. Turn on system-wide dictation in Settings → Dictation, and one shortcut (Control+Shift+Space) dictates into any window (a browser tab, a doc, an email) even while Harmony sits quietly in the tray. Talk through a session when you are done, and the recap lands in that workspace's running notes.

Terminal voice (headless)

With the daemon running, voice works without the desktop window:

nala speak "the migration finished cleanly"   # system TTS
nala dictate --wav recording.wav              # local faster-whisper
nala voice status                             # what voice is doing

In the TUI: /speak on|last|stop for TTS control, /voice for dictation control, /play-back for session audio clips. The desktop remains the best path for push-to-talk and Kokoro quality.

Plan capture

The Plan button captures ideas by voice without running a shell command: speak the idea, and it becomes a plan-mode task with a Markdown artifact. The fastest way to get a thought out of your head and into the fleet's queue before it evaporates.

Why on-device matters

A router and a voice in the same process are the two raw parts for building specialized voice agents of your own, and prototyping one costs exactly nothing because the models are already on your machine. It also means voice works on a plane, in a Faraday cage of an office, and in any country your laptop happens to be in.