← Back to Home

Voicebox — The Open-Source AI Voice Studio for Self-Hosted TTS and Voice Cloning

Voicebox — The Open-Source AI Voice Studio for Self-Hosted TTS and Voice Cloning

What is Voicebox?

Voicebox is an open-source, local-first AI voice studio that gives you a complete voice I/O stack — text-to-speech, voice cloning, speech-to-text, dictation, and agent voice output — all running on your own machine. Think of it as a self-hosted alternative to ElevenLabs (TTS) and WisprFlow (dictation) combined, with full privacy since models, voice data, and captures never leave your hardware.

GitHub: github.com/jamiepine/voicebox
Stars: ⭐ 32,000+
License: MIT
Language: TypeScript (frontend) + Python FastAPI (backend) + Rust (Tauri shell)
Website: voicebox.sh

Why this matters: Voice cloning and high-quality TTS have been locked behind cloud APIs with usage-based pricing. Voicebox brings 7 TTS engines (Qwen3-TTS, Chatterbox, Kokoro, LuxTTS, TADA), zero-shot voice cloning from seconds of audio, Whisper-based dictation, and MCP-based agent voice output to your own server or desktop. No data leaves your machine, no per-character billing.

Key Features

Feature Details
7 TTS Engines Qwen3-TTS, Qwen CustomVoice, LuxTTS, Chatterbox (2 variants), HumeAI TADA, Kokoro
Voice Cloning Zero-shot cloning from a few seconds of audio, or 50+ preset voices
Languages 23 languages including English, Arabic, Japanese, Hindi, Swahili
Speech-to-Text OpenAI Whisper (Base to Turbo) with MLX/PyTorch acceleration
Post-Processing 8 audio effects (pitch, reverb, delay, chorus, compression, filters)
Agent Voice Built-in MCP server — any MCP-aware agent can speak in a cloned voice
Dictation Global hotkey dictation with auto-paste (macOS), in-app mic everywhere
Deployment Docker, macOS (DMG), Windows (MSI), or build from source on Linux

Architecture Overview

Voicebox follows a layered architecture with a Tauri desktop shell wrapping a Python FastAPI backend and a React frontend. The backend orchestrates multiple TTS engines, Whisper STT, a bundled Qwen3 LLM, and audio effect pipelines, all exposed through a REST API and an MCP server for AI agent integration.

Voicebox Architecture

Here's how the components interact:

  1. User interacts through the React frontend (web or Tauri desktop) or directly via REST API
  2. The FastAPI Backend routes requests to the appropriate engine: TTS, STT (Whisper), or LLM (Qwen3)
  3. 7 TTS engines handle text-to-speech generation with different strengths (speed, quality, language coverage)
  4. Whisper STT transcribes audio from dictation or uploaded files
  5. Qwen3 LLM powers voice personalities (compose, rewrite) and dictation refinement
  6. Audio Effects Pipeline (Spotify Pedalboard) applies post-processing: pitch shift, reverb, delay, etc.
  7. SQLite Database persists voice profiles, generations, captures, and settings
  8. MCP Server (mounted at /mcp) exposes speak, transcribe, list_captures, and list_profiles to AI agents
  9. Inference backends select automatically: MLX (Apple Silicon), CUDA (NVIDIA), ROCm (AMD), or CPU fallback

The architecture is designed to be completely offline-capable — all models download on first use and run locally from then on.

Prerequisites

  • A server with Docker and Docker Compose installed (recommended for self-hosting)
  • Or a desktop machine (macOS/Windows/Linux) for the native app
  • GPU recommended for real-time TTS: NVIDIA GPU with 4GB+ VRAM, Apple Silicon, or AMD ROCm-compatible card
  • At least 8GB RAM (16GB recommended for multi-engine use)
  • A domain or IP to access the web interface (optional, for Docker deployment)
  • Reverse proxy (Nginx, Caddy, Traefik) for TLS if exposing publicly

Step-by-Step Setup Guide (Docker)

Step 1: Create the Project Directory

mkdir -p voicebox/output && cd voicebox

Step 2: Create docker-compose.yml

Create a docker-compose.yml file:

services:
  voicebox:
    build: https://github.com/jamiepine/voicebox.git
    container_name: voicebox
    restart: unless-stopped
    ports:
      - "127.0.0.1:17493:17493"
    volumes:
      - ./output:/app/data/generations
      - voicebox-data:/app/data
      - huggingface-cache:/home/voicebox/.cache/huggingface
    environment:
      - LOG_LEVEL=info
      - NUMBA_CACHE_DIR=/tmp/numba_cache
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 8G

networks:
  voicebox-net:
    driver: bridge

volumes:
  voicebox-data:
  huggingface-cache:

Note: For GPU acceleration, add deploy.resources.reservations.devices to your compose file. See the Voicebox Docker docs for GPU-specific configurations.

Step 3: Start Voicebox

docker compose up -d

On first launch, Voicebox will download the required model files (TTS engines, Whisper, Qwen3 LLM). This may take 5-15 minutes depending on your internet connection and which engines you use.

Step 4: Access the Web Interface

Open your browser and navigate to:

http://localhost:17493

The first-run wizard will guide you through:

  1. Selecting your default TTS engine
  2. Downloading models
  3. Creating your first voice profile (upload a short audio sample or choose a preset)

Step 5: Create Your First Voice Profile

  1. Click Profiles in the sidebar
  2. Click New Profile
  3. Upload a 10-30 second audio clip (clean speech works best)
  4. Enter a name for the profile
  5. Select your audio source format
  6. Click Create

Voicebox will process the sample and generate a voice model. You can now use this voice for TTS generation.

Step 6: Generate Speech

# Using the REST API
curl -X POST http://127.0.0.1:17493/generate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello world, this is my cloned voice speaking!",
    "profile_id": "<your-profile-id>",
    "language": "en"
  }'

Or use the web UI: navigate to Generate, select your voice profile, type your text, and click the generate button.

Connecting AI Agents to Voicebox (MCP)

Voicebox ships a built-in MCP server so your AI coding agents can speak in cloned voices:

Claude Code

claude mcp add voicebox \
--transport http \
--url http://127.0.0.1:17493/mcp \
--header "X-Voicebox-Client-Id: claude-code"

Cursor / Windsurf / VS Code

Add to your mcpServers configuration:

{
  "mcpServers": {
    "voicebox": {
      "url": "http://127.0.0.1:17493/mcp",
      "headers": { "X-Voicebox-Client-Id": "cursor" }
    }
  }
}

Then in any agent conversation:

// The agent calls voicebox.speak to output audio
await voicebox.speak({
  text: "Build complete. All tests passing.",
  profile: "Morgan"
});

Configuration

Environment Variables

Variable Default Description
LOG_LEVEL info Logging verbosity (debug, info, warning, error)
NUMBA_CACHE_DIR /tmp/numba_cache Numba JIT cache directory
VOICEBOX_MODELS_DIR /app/data Custom models directory

Models Directory

Models are stored in the huggingface-cache volume and persist across container restarts. You can specify a custom path with the VOICEBOX_MODELS_DIR environment variable.

TTS Engine Selection

Voicebox supports 7 TTS engines, each with different strengths:

Engine Languages Best For
Qwen3-TTS (0.6B/1.7B) 10 High-quality multilingual cloning, delivery instructions
Qwen CustomVoice 10 9 curated presets, natural-language delivery control
LuxTTS English Lightweight (~1GB VRAM), 150x realtime on CPU
Chatterbox Multilingual 23 Broadest language coverage
Chatterbox Turbo English Fast 350M model, paralinguistic tags ([laugh], [sigh])
HumeAI TADA (1B/3B) 10 700s+ coherent audio, text-acoustic alignment
Kokoro 8 50 preset voices, tiny 82M model, fast CPU

Switch engines per-generation from the web UI or via the engine parameter in the API.

Verification Checklist

Once Voicebox is running, verify everything works:

  • Web UI loads at http://localhost:17493
  • First-run wizard completes successfully
  • Models download without errors
  • A voice profile can be created from an audio sample
  • TTS generation produces audible speech
  • REST API responds on port 17493
  • MCP server responds at http://localhost:17493/mcp
  • Whisper-based dictation captures and transcribes audio
  • Audio effects (pitch, reverb) modify output as expected
  • Voice personalities generate in-character text

Resources

← Retour à l'Accueil

Voicebox — Le Studio Vocal IA Open-Source pour la Synthèse Vocale et le Clonage de Voix Auto-Hébergés

Voicebox — Le Studio Vocal IA Open-Source pour la Synthèse Vocale et le Clonage de Voix Auto-Hébergés

Qu'est-ce que Voicebox ?

Voicebox est un studio vocal IA open-source, local-first qui vous offre une pile complète d'entrée/sortie vocale — synthèse vocale, clonage de voix, reconnaissance vocale, dictée et sortie vocale pour agents IA — le tout fonctionnant sur votre propre machine. Considérez-le comme une alternative auto-hébergée à ElevenLabs (TTS) et WisprFlow (dictée) combinés, avec une confidentialité totale puisque les modèles, les données vocales et les enregistrements ne quittent jamais votre matériel.

GitHub: github.com/jamiepine/voicebox
Stars: ⭐ 32 000+
Licence: MIT
Langage: TypeScript (frontend) + Python FastAPI (backend) + Rust (coque Tauri)
Site web: voicebox.sh

Pourquoi c'est important : Le clonage vocal et la synthèse vocale de haute qualité étaient verrouillés derrière des API cloud avec une facturation à l'utilisation. Voicebox apporte 7 moteurs TTS (Qwen3-TTS, Chatterbox, Kokoro, LuxTTS, TADA), le clonage vocal zero-shot à partir de quelques secondes d'audio, la dictée basée sur Whisper et la sortie vocale pour agents IA via MCP sur votre propre serveur ou bureau. Aucune donnée ne quitte votre machine, pas de facturation par caractère.

Fonctionnalités Clés

Fonctionnalité Détails
7 Moteurs TTS Qwen3-TTS, Qwen CustomVoice, LuxTTS, Chatterbox (2 variantes), HumeAI TADA, Kokoro
Clonage Vocal Clonage zero-shot à partir de quelques secondes d'audio, ou 50+ voix prédéfinies
Langues 23 langues dont anglais, arabe, japonais, hindi, swahili
Reconnaissance Vocale OpenAI Whisper (Base à Turbo) avec accélération MLX/PyTorch
Post-Traitement 8 effets audio (hauteur, réverbération, délai, chorus, compression, filtres)
Voix Agent Serveur MCP intégré — tout agent compatible MCP peut parler avec une voix clonée
Dictée Dictée par raccourci global avec collage automatique (macOS), micro intégré partout
Déploiement Docker, macOS (DMG), Windows (MSI), ou compilation depuis les sources sur Linux

Architecture

Voicebox suit une architecture en couches avec une coque de bureau Tauri encapsulant un backend Python FastAPI et un frontend React. Le backend orchestre plusieurs moteurs TTS, Whisper STT, un LLM Qwen3 intégré et des pipelines d'effets audio, le tout exposé via une API REST et un serveur MCP pour l'intégration avec les agents IA.

Architecture Voicebox

Voici comment les composants interagissent :

  1. L'utilisateur interagit via le frontend React (web ou bureau Tauri) ou directement via l'API REST
  2. Le Backend FastAPI achemine les requêtes vers le moteur approprié : TTS, STT (Whisper) ou LLM (Qwen3)
  3. 7 moteurs TTS gèrent la génération texte-parole avec différentes forces (vitesse, qualité, couverture linguistique)
  4. Whisper STT transcrit l'audio provenant de la dictée ou des fichiers téléchargés
  5. Qwen3 LLM alimente les personnalités vocales (composition, réécriture) et le raffinement de la dictée
  6. Pipeline d'Effets Audio (Pedalboard de Spotify) applique le post-traitement : changement de hauteur, réverbération, délai, etc.
  7. Base de données SQLite conserve les profils vocaux, générations, captures et paramètres
  8. Serveur MCP (monté sur /mcp) expose speak, transcribe, list_captures et list_profiles aux agents IA
  9. Backends d'inférence se sélectionnent automatiquement : MLX (Apple Silicon), CUDA (NVIDIA), ROCm (AMD) ou CPU en fallback

L'architecture est conçue pour être complètement utilisable hors ligne — tous les modèles se téléchargent lors de la première utilisation et fonctionnent localement par la suite.

Prérequis

  • Un serveur avec Docker et Docker Compose installés (recommandé pour l'auto-hébergement)
  • Ou un ordinateur de bureau (macOS/Windows/Linux) pour l'application native
  • GPU recommandé pour un TTS en temps réel : NVIDIA avec 4 Go+ VRAM, Apple Silicon, ou carte compatible AMD ROCm
  • Au moins 8 Go de RAM (16 Go recommandés pour une utilisation multi-moteurs)
  • Un domaine ou une IP pour accéder à l'interface web (optionnel, pour le déploiement Docker)
  • Proxy inverse (Nginx, Caddy, Traefik) pour TLS si exposition publique

Guide d'Installation Pas à Pas (Docker)

Étape 1 : Créer le Répertoire du Projet

mkdir -p voicebox/output && cd voicebox

Étape 2 : Créer docker-compose.yml

Créez un fichier docker-compose.yml :

services:
  voicebox:
    build: https://github.com/jamiepine/voicebox.git
    container_name: voicebox
    restart: unless-stopped
    ports:
      - "127.0.0.1:17493:17493"
    volumes:
      - ./output:/app/data/generations
      - voicebox-data:/app/data
      - huggingface-cache:/home/voicebox/.cache/huggingface
    environment:
      - LOG_LEVEL=info
      - NUMBA_CACHE_DIR=/tmp/numba_cache
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 8G

networks:
  voicebox-net:
    driver: bridge

volumes:
  voicebox-data:
  huggingface-cache:

Note : Pour l'accélération GPU, ajoutez deploy.resources.reservations.devices à votre fichier compose. Consultez la documentation Docker de Voicebox pour les configurations GPU spécifiques.

Étape 3 : Démarrer Voicebox

docker compose up -d

Au premier lancement, Voicebox téléchargera les fichiers de modèles nécessaires (moteurs TTS, Whisper, LLM Qwen3). Cela peut prendre 5 à 15 minutes selon votre connexion internet et les moteurs utilisés.

Étape 4 : Accéder à l'Interface Web

Ouvrez votre navigateur et accédez à :

http://localhost:17493

L'assistant de premier démarrage vous guidera à travers :

  1. La sélection de votre moteur TTS par défaut
  2. Le téléchargement des modèles
  3. La création de votre premier profil vocal (téléchargez un court échantillon audio ou choisissez une voix prédéfinie)

Étape 5 : Créer Votre Premier Profil Vocal

  1. Cliquez sur Profils dans la barre latérale
  2. Cliquez sur Nouveau Profil
  3. Téléchargez un clip audio de 10 à 30 secondes (la parole claire fonctionne le mieux)
  4. Entrez un nom pour le profil
  5. Sélectionnez le format de votre source audio
  6. Cliquez sur Créer

Voicebox traitera l'échantillon et générera un modèle vocal. Vous pouvez maintenant utiliser cette voix pour la génération TTS.

Étape 6 : Générer de la Parole

# Via l'API REST
curl -X POST http://127.0.0.1:17493/generate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Bonjour le monde, c'est ma voix clonée qui parle !",
    "profile_id": "<votre-id-profil>",
    "language": "fr"
  }'

Ou utilisez l'interface web : naviguez vers Générer, sélectionnez votre profil vocal, tapez votre texte et cliquez sur le bouton de génération.

Connecter des Agents IA à Voicebox (MCP)

Voicebox intègre un serveur MCP pour que vos agents de codage IA puissent parler avec des voix clonées :

Claude Code

claude mcp add voicebox \
--transport http \
--url http://127.0.0.1:17493/mcp \
--header "X-Voicebox-Client-Id: claude-code"

Cursor / Windsurf / VS Code

Ajoutez à votre configuration mcpServers :

{
  "mcpServers": {
    "voicebox": {
      "url": "http://127.0.0.1:17493/mcp",
      "headers": { "X-Voicebox-Client-Id": "cursor" }
    }
  }
}

Ensuite, dans toute conversation avec un agent :

// L'agent appelle voicebox.speak pour produire un son
await voicebox.speak({
  text: "Construction terminée. Tous les tests passent.",
  profile: "Morgan"
});

Configuration

Variables d'Environnement

Variable Défaut Description
LOG_LEVEL info Niveau de journalisation (debug, info, warning, error)
NUMBA_CACHE_DIR /tmp/numba_cache Répertoire cache JIT Numba
VOICEBOX_MODELS_DIR /app/data Répertoire personnalisé des modèles

Répertoire des Modèles

Les modèles sont stockés dans le volume huggingface-cache et persistent entre les redémarrages du conteneur. Vous pouvez spécifier un chemin personnalisé avec la variable d'environnement VOICEBOX_MODELS_DIR.

Sélection du Moteur TTS

Voicebox supporte 7 moteurs TTS, chacun avec des forces différentes :

Moteur Langues Meilleur Pour
Qwen3-TTS (0.6B/1.7B) 10 Clonage multilingue de haute qualité, instructions de délivrance
Qwen CustomVoice 10 9 voix prédéfinies, contrôle naturel de la délivrance
LuxTTS Anglais Léger (~1 Go VRAM), 150x temps réel sur CPU
Chatterbox Multilingue 23 Couverture linguistique la plus large
Chatterbox Turbo Anglais Modèle rapide 350M, balises paralinguistiques ([rire], [soupir])
HumeAI TADA (1B/3B) 10 Audio cohérent 700s+, alignement texte-acoustique
Kokoro 8 50 voix prédéfinies, minuscule modèle 82M, CPU rapide

Changez de moteur par génération depuis l'interface web ou via le paramètre engine dans l'API.

Liste de Vérification

Une fois Voicebox en cours d'exécution, vérifiez que tout fonctionne :

  • L'interface web charge à http://localhost:17493
  • L'assistant de premier démarrage se termine avec succès
  • Les modèles se téléchargent sans erreur
  • Un profil vocal peut être créé à partir d'un échantillon audio
  • La génération TTS produit de la parole audible
  • L'API REST répond sur le port 17493
  • Le serveur MCP répond à http://localhost:17493/mcp
  • La dictée basée sur Whisper capture et transcrit l'audio
  • Les effets audio (hauteur, réverbération) modifient la sortie comme prévu
  • Les personnalités vocales génèrent du texte dans le caractère

Ressources