Building a Local AI Voice Assistant with Whisper and Ollama

Building a Local AI Voice Assistant with Whisper and Ollama

A fully local voice assistant — where your speech never leaves your device — is achievable with three components: Whisper for speech-to-text, Ollama for language model inference, and a TTS engine for voice output. The result is a private, always-available assistant that works offline and costs nothing to run.

Hardware recommendation: The full stack (Whisper medium, Mistral 7B, Coqui TTS) runs well on a Mac Mini M4 or any PC with 8GB+ VRAM. For budget hardware that handles all three components, LLMHardware.io has a dedicated voice AI build guide.

Stack Components

Speech-to-text: faster-whisper (Python library) using Whisper medium.en for English, or Whisper large-v3 for multilingual. Text-to-speech: Coqui TTS (open-source, cloneable voices) or Piper TTS (faster, optimized for real-time). LLM: any Ollama model — Mistral 7B or Llama 3.1 8B work well for conversational tasks. Wake word: OpenWakeWord (free, CPU-based) for hands-free activation.

Latency Optimization

Total latency is the sum of STT + LLM + TTS processing times. For a natural-feeling assistant, target under 2 seconds total. Whisper medium processes speech in roughly 0.5-1x real-time. LLM time-to-first-token (TTFT) is typically 100-400ms for 7B models. TTS adds 200-500ms depending on output length. Key optimization: stream TTS output — start playing audio as soon as the first sentence is complete rather than waiting for the full response.

Home Automation Integration

Connect your local voice assistant to Home Assistant via the REST API. Add a function-calling setup where the LLM can invoke home automation commands ("turn on the kitchen lights") by generating structured JSON output. This creates a fully local smart home assistant that works without internet, never sends commands to Amazon or Google, and can be customized with complete control over what it does and doesn't do.

Comments

Popular posts from this blog

AMD RX 9070 XT for Local LLMs: ROCm Performance Guide (2026)

llama.cpp flash attention: how to enable and benchmark

SillyTavern with Local LLMs: Complete Setup for AI Companions