N.O.V.A v2 / documentation

Stack & Tools

Every component in the prototype, and the reasoning behind picking it.

The stack

PartToolWhy this one
LanguagePython 3.11Best ecosystem for audio and ML
Mic capturesounddeviceSimple streaming in small frames
System audioPyAudioWPatchWASAPI loopback for the other side of calls
Wake wordopenWakeWordFree, light, trainable
Speech detectionSilero VADFinds where a command ends
Speech-to-textfaster-whisperAccurate offline transcription with timestamps
Speaker labelspyannote.audioSeparates multiple remote speakers
Local LLMOllama — Qwen2.5 7B / Llama 3.2 3BSimple local API, JSON tool output
Voice replyPiperFast, natural offline voices
Cloned voice (trial)XTTS-v2 (coqui-tts)Speaks in a voice cloned from a recording; Piper is the fallback if GPU memory is tight
StorageSQLite + WAVOne-file database, easy to search later
Interfacepystray + FastAPITray status and a local transcript viewer

Hardware guidance

16 GB RAM is comfortable — a 7B model at 4-bit uses roughly 5 GB. Without a GPU, use the 3B model and Whisper's small variant to keep replies fast.