finds.dev

ShayneP/local-voice-ai

Local voice AI powered by llama-cpp, Kokoro, Nemotron STT, and LiveKit.

View on GitHub

★ 725PythonMITupdated Aug 2026

// the take

A self-hosted voice assistant that wires together local STT (NVIDIA Nemotron), a local LLM via llama.cpp, and local TTS (Kokoro) behind LiveKit Agents, with a setup launcher that auto-picks a model profile based on detected hardware (CPU, CUDA, Metal, Jetson Orin). It's aimed at people who want a private voice assistant running on their own machine or a Jetson box rather than calling cloud STT/LLM/TTS APIs.

The hardware-aware profile selection (lean/compact/balanced/jetson-realtime, each pinned to a memory budget) actually reduces the usual 'which quantization fits my GPU' guesswork. Nemotron streams partial transcripts while the user is still talking, which is a real latency win over Whisper's wait-for-full-utterance approach, and the repo keeps Whisper as an explicit fallback rather than ripping it out. Every component (LiveKit, LLM, STT, TTS) can be swapped for a remote/hosted equivalent through env vars alone, so you can go from fully local to partially cloud-backed without touching code. There's an actual test suite covering the launcher, profile selection, native runtime, and supervisor, not just a smoke test.

Security is explicitly punted: the README states there's no authentication on local model endpoints and warns not to expose the ports publicly, so anything beyond single-user localhost use requires the adopter to bolt on their own auth/TLS layer. The install story is genuinely heavy and fragmented into three separate paths - Docker + NVIDIA Container Toolkit for desktop GPU, pinned JetPack 6.2/L4T 36.4 plus manual UFW rules for Jetson, and native llama-server/livekit-server builds via Homebrew for Apple Silicon - each of which can break independently on an OS or driver update. The Jetson deployment alone needs ~29GB of free disk and hand-written firewall rules per device, which is a lot of per-unit ops work for what's pitched as an embedded use case. The whole pipeline is a thin supervisor over several independently-versioned, fast-moving upstream projects (llama.cpp, Kokoro/Kokoro-ONNX, Nemotron speech models, LiveKit Agents), and there's no visible pinning or compatibility-matrix strategy beyond lockfiles, so an upstream breaking change in any one piece can take down the whole stack.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
725
Forks
217
Language
Python
License
MIT
Last commit
31 Aug 2026

// nearby

If local-voice-ai isn't quite it.

All repos →