otter-vox turns text into speech on your machine with a native Audio8 ggml runtime. Vulkan when it is available. CPU otherwise. No Python, ONNX, or CUDA.
otter-vox ships in otter-shell-extras, not the base otter-shell metapackage. Extras also pulls otter-vox-model, the Audio8 GGUF and tokenizer under /usr/share/otter-shell/models/vox. Install with pikman install otter-shell-extras.Usage
--serve is running.
Voices
Default voice isfer (pre-encoded zero-shot clone). Fallback is audio8-en-calm from Audio8’s licensed English reference. Select it with --voice audio8-en-calm.
Audio8 supports Cantonese, Chinese, Dutch, English, French, German, Italian, Japanese, Korean, Polish, and Spanish text. Voice identity transfers across those languages.
Backend and GPU
Vulkan playback uses a non-blocking PipeWire queue with a 2-second prebuffer. CPU output buffers before playback so you do not get gaps.
Configuration
~/.config/otter-shell/otter-vox.conf (also editable under Voice in otter-settings):
model_dir uses the packaged GGUF under /usr/share/otter-shell/models/vox. The shipped model is a Q5_0/FP16 conversion of Audio8 TTS Preview 0.6B (~643 MiB).
