DEV Community

Cover image for Qu'est-ce que Microsoft VibeVoice ? Comment utiliser les modèles vocaux IA Open Source
Antoine Laurent
Antoine Laurent

Posted on • Originally published at apidog.com

Qu'est-ce que Microsoft VibeVoice ? Comment utiliser les modèles vocaux IA Open Source

En bref

VibeVoice est la famille d'IA vocale open-source de Microsoft, comprenant trois modèles : VibeVoice-1.5B pour la synthèse vocale (jusqu'à 90 minutes, 4 locuteurs), VibeVoice-Realtime-0.5B pour le TTS en streaming, et VibeVoice-ASR pour la reconnaissance vocale (audio de 60 minutes, plus de 50 langues, 7,77 % WER). Tous les modèles sont sous licence MIT et fonctionnent localement. Ce guide couvre l'installation, l'utilisation et l'intégration API.

Essayez Apidog dès aujourd'hui

Introduction

Microsoft a lancé VibeVoice, un framework d'IA vocale open-source, début 2026. Il comprend des modèles pour la synthèse vocale (text-to-speech) et la reconnaissance vocale (automatic speech recognition), tous fonctionnant localement sur votre matériel sans dépendance au cloud.

VibeVoice Overview

Le framework propose trois modèles :

  • VibeVoice-1.5B : génère un son conversationnel expressif et multi-locuteurs à partir de scripts textuels. Il peut synthétiser jusqu'à 90 minutes de parole avec 4 locuteurs distincts en un seul passage.
  • VibeVoice-Realtime-0.5B : variante légère en streaming qui produit de l'audio avec une latence d'environ 300 ms pour le premier chunk.
  • VibeVoice-ASR : transcrit jusqu'à 60 minutes d'audio continu avec identification des locuteurs, horodatage et sortie structurée dans plus de 50 langues.

VibeVoice Models

Après la publication, les modèles TTS ont suscité la controverse. Microsoft a temporairement désactivé le dépôt GitHub principal à cause d'une mauvaise utilisation du clonage vocal. La communauté a forké le code, et Microsoft a réactivé le dépôt avec des protections supplémentaires : clause de non-responsabilité audible sur l'IA dans l'audio généré et filigrane imperceptible pour vérifier la provenance.

VibeVoice-ASR est disponible sur Azure AI Foundry pour le déploiement cloud. Les modèles TTS restent axés sur la recherche et sont sous licence MIT.

Ce guide présente l'installation, la génération texte-vers-parole, la reconnaissance vocale, l'intégration API et le test des API d'IA vocale avec Apidog.

Fonctionnement de VibeVoice : aperçu de l'architecture

La percée du tokeniseur

L'avancée majeure de VibeVoice réside dans ses tokeniseurs de parole continus fonctionnant à un débit d'images ultra-faible de 7,5 Hz (contre 50-100 Hz pour la majorité des modèles). Cette réduction permet au modèle de gérer de longues séquences (jusqu'à 90 minutes d'audio) sans perte de contexte.

Tokeniseur architecture
Tokeniseur détails

Le système utilise deux tokeniseurs :

  • Tokeniseur acoustique : Variante sigma-VAE (~340M paramètres), encodeur-décodeur à symétrie miroir. Sous-échantillonne 3 200 fois l'audio d'entrée de 24 kHz.
  • Tokeniseur sémantique : Miroite l'architecture acoustique, entraîné en proxy ASR pour capturer la signification linguistique.

Diffusion par jeton suivant

Le modèle combine un noyau LLM (Qwen2.5-1.5B) avec une tête de diffusion légère (~123M paramètres). Le LLM gère le contexte textuel et le dialogue, la tête de diffusion génère les détails acoustiques avec DDPM (Denoising Diffusion Probabilistic Models) guidé.

Nombre total de paramètres : 3 milliards (tokeniseurs + tête de diffusion inclus).

Approche d'entraînement

VibeVoice utilise l'apprentissage par curriculum, s'entraînant progressivement sur des séquences toujours plus longues (4K, 16K, 32K, 64K jetons). Les tokeniseurs pré-entraînés restent figés ; seuls le LLM et la tête de diffusion sont mis à jour. Cela permet au modèle de traiter efficacement de longs audios.

Spécifications des modèles VibeVoice

Modèle Paramètres Objectif Durée max Langues Licence
VibeVoice-1.5B 3 milliards (total) Texte-vers-parole 90 minutes Anglais, Chinois MIT
VibeVoice-Realtime-0.5B ~0.5 milliards TTS en streaming Longue durée Anglais, Chinois MIT
VibeVoice-ASR ~9 milliards Reconnaissance vocale 60 minutes 50+ langues MIT

VibeVoice-1.5B (TTS)

Spécification Valeur
Base LLM Qwen2.5-1.5B
Longueur de contexte 64K jetons
Max. locuteurs 4 simultanés
Sortie audio 24kHz WAV mono
Type de tenseur BF16
Format Safetensors
Téléchargements HF 62 630/mois
Forks communautaires 12 variantes affinées

VibeVoice-ASR

Spécification Valeur
Base architecturale Qwen2.5
Paramètres ~9 milliards
Traitement audio Jusqu'à 60 minutes/passage
Débit d'images 7.5 Hz
WER moyen 7,77 % (8 datasets anglais)
WER LibriSpeech Clean 2.20%
WER TED-LIUM 2.57%
Langues 50+
Sortie Structurée (Qui + Quand + Quoi)
Audio supporté WAV, FLAC, MP3 à 16kHz+

Installation et configuration

Prérequis

  • Python 3.8+
  • GPU NVIDIA avec support CUDA
  • 7-8 Go de VRAM min pour TTS
  • 24 Go de VRAM min pour ASR (A100/H100 recommandé)
  • 32 Go de RAM min (64 Go recommandé pour ASR)
  • CUDA 11.8+ (12.0+ recommandé)

Installer VibeVoice TTS

# Cloner le repo
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice

# Installer les dépendances
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

Les modèles sont téléchargés automatiquement depuis HuggingFace à la première exécution. Pour les pré-télécharger :

from huggingface_hub import snapshot_download

# Télécharger le modèle TTS 1.5B
snapshot_download(
    "microsoft/VibeVoice-1.5B",
    local_dir="./models/VibeVoice-1.5B",
    local_dir_use_symlinks=False
)
Enter fullscreen mode Exit fullscreen mode

Installation via pip (paquet communautaire)

pip install vibevoice
Enter fullscreen mode Exit fullscreen mode

Installation pour l'ASR

git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -r requirements-asr.txt
Enter fullscreen mode Exit fullscreen mode

Ou déployez via Azure AI Foundry pour l'inférence cloud gérée.

Génération de parole avec VibeVoice-1.5B

Génération par un seul locuteur

Créez un fichier texte (script.txt) avec votre contenu :

Alice: Welcome to the Apidog developer podcast. Today we're covering API testing strategies for 2026.
Enter fullscreen mode Exit fullscreen mode

Lancez l'inférence :

python VibeVoice \
  --model_path microsoft/VibeVoice-1.5B \
  --txt_path script.txt \
  --speaker_names Alice \
  --cfg_scale 1.5
Enter fullscreen mode Exit fullscreen mode

La sortie est un fichier .wav dans outputs/.

Génération de podcast multi-locuteurs

Créez podcast_script.txt :

Alice: Welcome back to the show. Today we have two API experts joining us.
Bob: Thanks for having me. I've been working on REST API design patterns for the past five years.
Carol: And I focus on GraphQL performance optimization. Happy to be here.
Alice: Let's start with the debate everyone wants to hear. REST versus GraphQL for microservices.
Bob: REST gives you clear resource boundaries. Each endpoint maps to a specific resource.
Carol: GraphQL gives you flexibility. One endpoint, and the client decides what data it needs.
Enter fullscreen mode Exit fullscreen mode

Lancez :

python VibeVoice \
  --model_path microsoft/VibeVoice-1.5B \
  --txt_path podcast_script.txt \
  --speaker_names Alice Bob Carol \
  --cfg_scale 1.5
Enter fullscreen mode Exit fullscreen mode

Le modèle maintient chaque identité vocale sur toute la durée.

Clonage de voix (zero-shot)

Préparez un échantillon audio :

  • Format : WAV (mono)
  • 24 000 Hz
  • 30-60 secondes de parole claire

Convertissez au bon format :

ffmpeg -i source_recording.m4a -ar 24000 -ac 1 reference_voice.wav
Enter fullscreen mode Exit fullscreen mode

Lancez l'interface Gradio :

python demo/gradio_demo.py
Enter fullscreen mode Exit fullscreen mode

Interface web sur http://127.0.0.1:7860 : téléchargez l'audio de référence, sélectionnez la voix clonée et générez la parole.

Streaming avec VibeVoice-Realtime-0.5B

Pour une sortie à faible latence (~300 ms) :

python demo/streaming_inference_from_file.py \
  --model_path microsoft/VibeVoice-Realtime-0.5B \
  --txt_path script.txt \
  --speaker_name Alice
Enter fullscreen mode Exit fullscreen mode

Le modèle Realtime est plus rapide mais avec une fidélité réduite.

Utilisation de VibeVoice avec Python

API Pipeline

from transformers import pipeline
from huggingface_hub import snapshot_download

# Télécharger le modèle
model_path = snapshot_download("microsoft/VibeVoice-1.5B")

# Charger le pipeline
pipe = pipeline(
    "text-to-speech",
    model=model_path,
    no_processor=False
)

# Script multi-locuteurs
script = [
    {"role": "Alice", "content": "How do you handle API versioning?"},
    {"role": "Bob", "content": "We use URL path versioning. v1, v2, and so on."},
]

# Template chat
input_data = pipe.processor.apply_chat_template(script)

# Générer l'audio
generate_kwargs = {
    "cfg_scale": 1.5,
    "n_diffusion_steps": 50,
}

output = pipe(input_data, generate_kwargs=generate_kwargs)
Enter fullscreen mode Exit fullscreen mode

Wrapper FastAPI pour la production

La communauté propose un wrapper FastAPI qui expose VibeVoice comme une API TTS compatible OpenAI :

git clone https://github.com/ncoder-ai/VibeVoice-FastAPI.git
cd VibeVoice-FastAPI
docker compose up
Enter fullscreen mode Exit fullscreen mode

Vous obtenez un endpoint compatible OpenAI :

curl -X POST http://localhost:8000/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vibevoice-1.5b",
    "input": "Your API documentation should be a conversation, not a monologue.",
    "voice": "alice"
  }' \
  --output speech.wav
Enter fullscreen mode Exit fullscreen mode

Testez ce endpoint via Apidog avec le même format de requête que l'API TTS d'OpenAI.

Utilisation de VibeVoice-ASR pour la reconnaissance vocale

Transcription de base

python asr_inference.py \
  --model_path microsoft/VibeVoice-ASR \
  --audio_path meeting_recording.wav
Enter fullscreen mode Exit fullscreen mode

Format de sortie structuré

VibeVoice-ASR produit des transcriptions structurées :

{
  "segments": [
    {
      "speaker": "Speaker 1",
      "start": 0.0,
      "end": 4.2,
      "text": "Let's review the API endpoints for the new release."
    },
    {
      "speaker": "Speaker 2",
      "start": 4.5,
      "end": 8.1,
      "text": "I've added three new endpoints for the billing module."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

ASR en tant que serveur MCP

Pour intégrer à des agents de codage IA :

pip install vibevoice-mcp-server
vibevoice-mcp serve
Enter fullscreen mode Exit fullscreen mode

Votre agent peut transcrire réunions ou notes vocales dans son workflow.

Quand utiliser VibeVoice-ASR vs Whisper

Cas d'utilisation Meilleur choix Pourquoi
Longues réunions (30-60 min) VibeVoice-ASR 60min d'un coup, ID locuteur
Interviews multi-locuteurs VibeVoice-ASR Diarisation intégrée
Podcasts avec horodatages VibeVoice-ASR Sortie structurée Qui/Quand/Quoi
Multilingue (50+ langues) VibeVoice-ASR Couverture large
Clips courts bruyants Whisper Meilleure robustesse au bruit
Déploiement edge/mobile Whisper Modèle plus petit
Langues non anglaises (spécialisées) Whisper Affinage multilingue mature

Test des API d'IA vocale avec Apidog

Que vous utilisiez le wrapper FastAPI, Azure AI Foundry, ou votre propre API, Apidog accélère les tests et le debug des intégrations.

Apidog VibeVoice

Tester le point de terminaison TTS

  1. Créez une requête POST dans Apidog vers votre serveur FastAPI VibeVoice.
  2. Corps de la requête (compatible OpenAI) :
{
  "model": "vibevoice-1.5b",
  "input": "Test speech synthesis with proper intonation and pacing.",
  "voice": "alice",
  "response_format": "wav"
}
Enter fullscreen mode Exit fullscreen mode
  1. Vérifiez que la réponse inclut l'en-tête audio/wav.
  2. Enregistrez le fichier WAV et vérifiez la qualité audio.

Tester le point de terminaison ASR

  1. Créez une requête POST avec multipart/form-data.
  2. Ajoutez votre fichier audio dans le formulaire.
  3. Vérifiez que la réponse JSON contient les locuteurs, horodatages et texte transcrit.

Valider les contrats API audio

Apidog gère :

  • Upload de fichiers binaires (ASR)
  • Corps JSON (TTS)
  • Validation de la réponse structurée
  • Variables d'environnement pour basculer local/cloud

Téléchargez Apidog pour tester vos intégrations IA vocale avant la mise en production.

Sécurité et utilisation responsable

Microsoft a ajouté plusieurs protections :

  • Avertissement audible sur l'IA : chaque audio généré inclut « Ce segment a été généré par l'IA »
  • Filigrane imperceptible : vérification tierce possible
  • Journalisation de l'inférence : détection d'abus via logs hachés
  • Licence MIT : usage commercial autorisé, mais pas recommandé en prod sans tests poussés

Ce qui est autorisé

  • Recherche et académique
  • Prototypage, tests internes
  • Podcasts avec divulgation IA
  • Accessibilité (synthèse vocale pour malvoyants)

Ce qui n'est pas autorisé

  • Usurpation vocale sans consentement
  • Deepfakes ou présentation d'audio IA comme humain authentique
  • Conversion vocale live pour deepfake temps réel
  • Génération audio non-vocale (musique, FX)

Limitations à connaître

Support linguistique TTS limité : VibeVoice-1.5B ne gère que anglais et chinois. Autres langues = sortie inintelligible. VibeVoice-ASR couvre 50+ langues.

Langues TTS

Exigences matérielles élevées pour l'ASR : 24 Go VRAM requis (A100/H100). TTS fonctionne sur GPU grand public (7-8 Go).

Pas de gestion du chevauchement de parole : TTS fonctionne en tours de parole seulement.

Biais de modèle hérités : les modèles Qwen2.5 peuvent produire du contenu inattendu ou biaisé.

Logiciel de niveau recherche : non prêt pour la production; attendez-vous à des bugs sur cas limites et langues non prises en charge.

Déploiement de VibeVoice-ASR sur Azure AI Foundry

Pour éviter la gestion d'une infra GPU, VibeVoice-ASR est dispo sur Azure AI Foundry avec point d'API géré. Le déploiement Azure gère la scalabilité, les mises à jour et la maintenance.

Pour tester un endpoint VibeVoice Azure : configurez l'URL et les en-têtes d'auth dans Apidog, puis lancez des transcriptions de test sur vos fichiers audio.

Communauté et écosystème

VibeVoice bénéficie d'une communauté active :

  • 62 630 téléchargements/mois sur HuggingFace (1.5B)
  • 2 280+ J'aime sur HuggingFace
  • 79+ Espaces HuggingFace en exécution
  • 12 variantes affinées communautaires
  • 4 versions quantifiées (moins de VRAM)
  • Fork communautaire : vibevoice-community/VibeVoice

Projets notables :

  • VibeVoice-FastAPI : API REST de production avec Docker
  • Serveur MCP VibeVoice : intégration outils IA via MCP
  • Support Apple Silicon : scripts pour Mac M-series
  • Quantification : GGUF et autres formats VRAM réduite

FAQ

VibeVoice est-il gratuit ?

Oui, tous les modèles sont sous licence MIT. Usage commercial et non commercial. Azure AI Foundry facturé séparément.

VibeVoice fonctionne-t-il sur Mac Apple Silicon ?

Oui, via scripts communautaires pour Mac M-series (voir discussions HF). Performances plus lentes qu'un GPU CUDA.

Différences VibeVoice vs ElevenLabs ?

VibeVoice fonctionne localement (pas de frais API, confidentialité). ElevenLabs offre plus de voix, meilleure qualité, configuration simple, mais requiert un abonnement cloud. Pour confidentialité/offline, VibeVoice est à privilégier. Pour la qualité et la facilité, ElevenLabs est devant.

Pourquoi le dépôt GitHub a-t-il été désactivé ?

Mauvaise utilisation pour usurpation vocale et deepfakes. Désactivation temporaire, ajout de protections, réouverture et développement communautaire continu.

Peut-on affiner VibeVoice avec des voix personnalisées ?

Oui, 12 variantes communautaires déjà publiées. Nécessite 30-60s d'audio WAV 24kHz mono et un GPU pour l'entraînement.

Formats audio produits ?

WAV 24kHz mono. À convertir en MP3/OGG/FLAC avec ffmpeg si besoin.

VibeVoice-ASR peut-il remplacer Whisper ?

Pour longs enregistrements avec identification de locuteur, oui. Pour courts clips bruyants ou edge, Whisper reste meilleur.

Chat vocal temps réel ?

VibeVoice-Realtime-0.5B gère du streaming texte→audio (~300 ms de latence), mais pas de duplex intégral. Pour du vrai temps réel, voir GPT-Realtime d'Azure OpenAI ou équivalents.


Top comments (0)