# loudkit

> Open-source, on-device text-to-speech engine with 28 voices across 10 languages, voice cloning from 10 seconds of audio, and SDKs for Python, Swift, Go, Rust, and TypeScript.

loudkit is an open-source, on-device text-to-speech engine released under Apache-2.0 by LoudReader. It ships 28 voices across ten languages, supports voice cloning from roughly ten seconds of audio, and provides native SDKs for Python, Swift, Go, Rust, and TypeScript. Nothing leaves the machine it runs on — no account, no telemetry, and no per-character billing.

## What It Is

loudkit is a local inference toolbox for speech synthesis, not a hosted speech platform. It provides the `loudr-1` and `loudr-1-turbo` models, which run entirely on the user's hardware after a one-time model download. The engine powers LoudReader, an iOS reading app that speaks articles, PDFs, and books on device, and is published separately under Apache-2.0 for anyone who wants to build with it directly. The project explicitly states it does not provide accounts, billing, multi-tenancy, model training, or emotion control.

## Language and Platform Coverage

The engine supports English, Spanish, French, German, Italian, Portuguese, Polish, Dutch, Swedish, and Danish — ten English voices and two voices per other language, for 28 total. Every voice is enrolled from a consented donation or a CC0/CC-BY corpus, with the source named in `VOICES.md`. Python is the reference implementation; Swift (CoreML, macOS 14 or iOS 17), Go (ONNX Runtime), Rust (ONNX Runtime), and TypeScript (ONNX Runtime, Node 20) are full ports held to the same conformance fixture, so the same text, voice, and seed produce identical speech tokens across all five languages.

## Measured Performance

The project publishes benchmark figures from `tools/bench.py` runs on named hardware:

- **RTX 3090 (CUDA graphs):** 8.55× real time with loudr-1, 13.05× with loudr-1-turbo
- **Apple M3 Pro (PyTorch/MPS split):** 3.29× with loudr-1, 5.77× with loudr-1-turbo
- **Apple M3 Pro (ONNX Runtime, CPU):** 1.14× with loudr-1, 1.59× with loudr-1-turbo
- **Jetson Orin Nano (CUDA graphs):** 1.85× with loudr-1, 2.50× with loudr-1-turbo
- **Batched token-generator throughput (RTX 3090, loudr-1-turbo):** 42.0× at batch 1, up to 155.0× at batch 64

All figures are multiples of real time measured on version 0.1.1. The benchmark page records the machines, versions, and commands that reproduce each row.

## Integrations and Server Mode

loudkit ships a built-in server (`loudkit serve`) with its own HTTP routes and an OpenAI-compatible `/v1/audio/speech` endpoint, streaming over Server-Sent Events. Additional modes include `--grpc` for a typed schema with backpressure and `--mcp` for an MCP server on stdio (preview). A Speech Dispatcher module for Linux screen readers is included in `integrations/`. Docker images and compose files are provided for the server. Agents that speak OpenAI's speech API — including Hermes Agent and OpenClaw — connect with configuration alone, according to the project documentation.

## Update: v0.1.1

Version 0.1.1 was published on 2026-09-10. This release adds loudr-1-turbo support across all five SDKs (Python, Swift, Go, Rust, TypeScript), includes all 28 voices in both model downloads, and is the version against which all published benchmark figures are measured. The repository was created on 2026-08-22 and last pushed on 2026-09-10, indicating active early development. The project's GitHub topics include `text-to-speech`, `voice-cloning`, `on-device`, `offline`, `onnx`, `pytorch`, `coreml`, `swift`, `golang`, `rust`, and `typescript`.

## Responsible Use and Scope

Voice cloning produces a portable profile of about 150 KB from a recording the user owns or has permission to use. WAVs saved from Python and the server's replies carry a machine-readable note naming the model, voice, seed, and backend, with a checksum tying the note to the audio. The project states this is not C2PA Content Credentials. The documentation explicitly states loudkit will not assist with undisclosed impersonation, bypassing voice authentication, or stripping the machine-readable note from generated audio.

## Features
- 28 voices across 10 languages (English, Spanish, French, German, Italian, Portuguese, Polish, Dutch, Swedish, Danish)
- Voice cloning from ~10 seconds of audio
- On-device inference — no data leaves the machine
- Two models: loudr-1 and loudr-1-turbo
- SDKs for Python, Swift, Go, Rust, and TypeScript
- Offline after one-time model download
- OpenAI-compatible /v1/audio/speech HTTP endpoint
- gRPC server mode with backpressure
- MCP server on stdio (preview)
- CUDA graphs support for NVIDIA GPUs
- Apple Silicon (MPS) and CoreML support
- ONNX Runtime backend (no PyTorch required)
- Jetson Orin Nano / edge device support
- Streaming synthesis (sentence-by-sentence)
- Machine-readable provenance note in saved WAVs
- Speech Dispatcher module for Linux screen readers
- Docker images and compose files
- Voice gallery with enrollment recordings
- Deterministic output: same text + voice + seed = same tokens
- CLI: loudkit speak, loudkit clone, loudkit serve, loudkit verify

## Integrations
PyTorch, ONNX Runtime, CoreML, Swift Package Manager, npm, cargo (Rust), go get (Go), Docker, OpenAI speech API (compatible), Hermes Agent, OpenClaw, Speech Dispatcher (Linux), Hugging Face Hub, Google Colab, MCP (Model Context Protocol)

## Platforms
WINDOWS, MACOS, LINUX, IOS, API, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Version
v0.1.1

## Links
- Website: https://loudreader.github.io/loudkit/
- Documentation: https://loudreader.github.io/loudkit/overview/
- Repository: https://github.com/loudreader/loudkit
- EveryDev.ai: https://www.everydev.ai/tools/loudkit
