VibeVoice - Le modèle open source de synthèse vocale de nouvelle génération de Microsoft
(microsoft.github.io)- Nouveau modèle TTS conçu pour générer, à partir de texte, des dialogues vocaux naturels de longue durée avec plusieurs locuteurs
- Conçu pour résoudre les limites des systèmes existants en matière de scalabilité, cohérence des locuteurs et transitions naturelles entre les tours de parole
- Peut synthétiser jusqu'à 90 minutes d'audio avec jusqu'à 4 locuteurs simultanément, dépassant les modèles précédents limités à 1 ou 2 personnes
- Son point clé est l'utilisation d'un tokenizer vocal continu à très faible fréquence d'images de 7,5 Hz (Acoustic/Semantic), qui traite efficacement de longues séquences audio tout en maintenant la qualité sonore
- Exploite une approche Next-Token Diffusion pour modéliser efficacement les données continues, et introduit pour cela un nouveau tokenizer vocal continu offrant un taux de compression 80 fois supérieur à Encodec
Présentation
- Ces dernières années, les technologies TTS ont réussi à synthétiser avec une haute qualité de courtes phrases prononcées par un seul locuteur, mais la synthèse de dialogues longs et multi-locuteurs reste un défi
- Les approches existantes se contentent souvent d'assembler les énoncés, ce qui produit des transitions peu naturelles
- Il est difficile de générer un enchaînement naturel des tours de parole et une production tenant compte du contexte
- Objectif : prendre en charge la synthèse vocale de conversations longues avec plusieurs locuteurs, comme des podcasts
- Pour y répondre, VibeVoice combine un tokenizer vocal à fréquence d'images ultra-faible (7,5 Hz) et une architecture de diffusion basée sur un LLM
- Il devient ainsi possible de synthétiser de manière stable des contenus audio multi-locuteurs d'une durée allant jusqu'à 90 minutes
Innovations techniques
- Tokenizer vocal continu (7,5 Hz) :
- Utilisation conjointe de tokenizers Acoustic et Semantic
- Garantit l'efficacité du traitement des longues séquences tout en préservant la fidélité audio
- Framework de next-token diffusion :
- Le LLM comprend le contexte textuel et le déroulement de la conversation
- La tête de diffusion génère des détails acoustiques haute résolution
- Résultat : une synthèse vocale plus naturelle et plus humaine qu'auparavant
Performances
- Synthèse possible de 90 minutes d'audio au maximum
- Prise en charge de jusqu'à 4 locuteurs (au-delà de la limite de 1 à 2 des modèles précédents)
- Fournit une voix expressive et cohérente dans diverses situations de dialogue
Résultats expérimentaux
Synthèse de dialogues longs (Podcast)
- Évaluation sur un jeu de données de conversations d'une heure
- Mesure de WER (taux d'erreur sur les mots), SIM (similarité des locuteurs) et évaluation subjective (MOS)
- VIBEVOICE-7B obtient les meilleurs résultats avec Realism 3.71, Richness 3.81, Preference 3.75
- Surpasse des modèles récents comme Gemini 2.5 Pro et ElevenLabs v3
Conclusion et limites
- VibeVoice est un framework TTS de nouvelle génération prenant en charge la synthèse naturelle de conversations avec jusqu'à 90 minutes et 4 locuteurs
- Il offre une qualité subjective et objective supérieure aux modèles open source et commerciaux existants
- Limites :
- Les langues autres que l'anglais et le chinois peuvent produire des résultats imprévisibles
- Les audios non vocaux (bruit de fond, musique) ne sont pas pris en charge
- La parole simultanée (Overlapping Speech) n'est pas prise en charge
- Il existe un risque d'usage abusif pour des deepfakes ou de la désinformation
- En conséquence, le modèle est pour l'instant réservé à la recherche et au développement, et son usage commercial n'est pas recommandé
1 commentaires
Avis Hacker News
voices, ça fonctionne vraiment bientorch.float32, il fallait 832 secondes pour générer 66 secondes d’audio. En passant àtorch.bfloat16, d’étranges bruits parasites sont apparus dans l’audio. Jusqu’à présent, le modèle TTS le plus utilisable dans des conditions de GPU limité restait Kokoro. De plus, comme quelqu’un l’a mentionné dans ce fil, il n’existe pas encore de fonction permettant de contrôler finement la sortie TTS en ajoutant des annotations séparées au texte. Je pense qu’une direction possible pour améliorer encore ce type de modèle serait d’ajouter une étape intermédiaire au texte pour générer des annotations, puis de les injecter dans le TTS. Cela permettrait aux utilisateurs de contrôler le résultat plus finement