v0.1.0 · Open Source · Apache 2.0

murmur Local-first voice AI pipeline

STT
speech → text
LLM
reasoning
TTS
text → speech

Swap any provider in one config line. Run fully offline or mix cloud services. Streaming sentence-by-sentence — first word spoken in under a second.

Get started View on GitHub
$ pip install murmur-voice[faster-whisper,kokoro]
6
STT Providers
5
LLM Providers
7
TTS Providers
<1s
Time to first word
100%
Local capable

Everything you need,
nothing you don't.

Designed for developers who want a self-hostable voice stack without the cloud lock-in.

🔒

Privacy-first

Audio never leaves your device by default. Fully local STT and TTS with faster-whisper and Kokoro. No telemetry, no analytics.

Streaming pipeline

Sentence-boundary buffering means TTS starts speaking the first sentence while LLM generates the second. Under 1s perceived latency.

🔌

Every provider

Swap STT, LLM, or TTS by changing one line in your config. Mix local and cloud freely. Free options available for every stage.

🌐

OpenRouter native

One API key unlocks 100+ models — GPT-4o, Claude, Gemini, Llama, Mistral. Free tier models available with no credit card.

🐳

Docker ready

One-command setup with Docker Compose. CPU and GPU images available. Multi-arch: amd64 and arm64.

🛠

Clean Python API

Use as a library in your own project. Event bus, async generators, typed providers — built to be extended.

Your stack, your choice.

Every tier covered — from fully offline to ultra-low latency cloud.

faster-whisper
Local · No API key
★ default
Groq Whisper
Cloud · ~200ms latency
Deepgram Nova-2
Cloud · Streaming support
OpenAI Whisper
Cloud · Reliable
AssemblyAI
Cloud · Best punctuation
OpenRouter
100+ models · Free tier
★ default
OpenAI
GPT-4o, GPT-4o-mini
Anthropic
Claude 3.5, Haiku
Ollama
Local · Any GGUF model
Kokoro
Local · High quality
★ default
Piper
Local · Edge-optimised
Edge-TTS
Free · 300+ voices
ElevenLabs
Cloud · Best quality
OpenAI TTS
Cloud · tts-1 / tts-1-hd
Cartesia
Cloud · <80ms latency
local   cloud   free (no key)

Up and running in 5 minutes.

Start fully local or plug in your favourite cloud providers.

1

Install

Install Murmur with local providers — no API keys needed for STT and TTS.

$ pip install murmur-voice[faster-whisper,kokoro]
2

Get a free OpenRouter key

OpenRouter gives you 100+ models through one key. Free models available — no credit card needed.

$ export OPENROUTER_API_KEY=sk-or-... # https://openrouter.ai/keys
3

Run

Push-to-talk mode by default. Press Enter to speak, Enter again to stop.

$ murmur run
4

Customise your stack

Create a config file and swap any provider in a single line.

$ murmur init # creates murmur.toml
murmur.toml
# Swap any provider in one line

[stt]
provider = "faster-whisper"  # or: groq | deepgram | openai

[llm]
provider = "openrouter"
model    = "mistralai/mistral-7b-instruct:free"
# model = "anthropic/claude-3-haiku"
# model = "openai/gpt-4o-mini"
# model = "meta-llama/llama-3.1-70b-instruct"

[tts]
provider = "kokoro"  # or: elevenlabs | edge-tts | openai | cartesia
voice    = "af_sarah"
docker (one-liner)
$ docker run -it --rm \
    -e OPENROUTER_API_KEY=sk-or-... \
    --device /dev/snd \
    ghcr.io/suryanandx/murmur:latest

Built by

SS
Suryanand Sunil
@Suryanandx