Benchmark TTSFR
← Benchmark · Fiche modèle

VoxCPM2

Un modèle « sans tokenizer » : au lieu de prédire des jetons audio, il fabrique directement le son par diffusion, et sort du 48 kHz studio.

Apache-2.0 · usage commercialclonage zero-shot

Ce qui le distingue

C'est le seul du benchmark à revendiquer une architecture « tokenizer-free, diffusion autoregressive ». Il accepte une référence en 16 kHz et produit quand même du 48 kHz, grâce à une super-résolution intégrée à son auto-encodeur audio — pas besoin d'un ré-échantillonneur externe.

Choix techniques

ce que ses auteurs ont décidé, et ce que ça implique

2 milliards de paramètres, plus un auto-encodeur audio

Comptés dans les poids épinglés : 2,29 milliards de paramètres pour le modèle principal, plus 94 millions pour l'AudioVAE qui reconstruit le son. La model card annonce « 2B » et 30 langues, entraîné sur plus de 2 millions d'heures de parole.

Un curseur qualité / vitesse explicite

La génération par diffusion se fait en un nombre d'étapes réglable. Nous fixons inference_timesteps=10 et cfg_value=2.0 : c'est ce compromis-là qui est mesuré dans nos chiffres, pas le maximum de qualité atteignable.

Deux modes de création de voix

« Voice Design » invente une voix à partir d'une description écrite (genre, âge, ton, émotion…), sans aucun extrait audio ; « Controllable Cloning » clone une voix existante tout en permettant d'orienter l'émotion et le débit. Notre benchmark n'utilise que le clonage, pour rester comparable aux autres modèles.

Langues couvertes

liste explicite de la model card officielle

30 langues, dont le français — plus 9 dialectes chinois

arabe, birman, chinois, danois, néerlandais, anglais, finnois, FRANÇAIS, allemand, grec, hébreu, hindi, indonésien, italien, japonais, khmer, coréen, lao, malais, norvégien, polonais, portugais, russe, espagnol, swahili, suédois, tagalog, thaï, turc, vietnamien

Ce qu'on peut régler

paramètres exposés par ce modèle

Relevé dans la signature du code réellement installé pour nos runs (et dans la documentation officielle quand elle précise les valeurs recommandées). Chaque modèle expose des leviers différents : c'est souvent là que se joue la différence entre un résultat correct et un bon résultat.

paramètredéfaut ce que ça change
inference_timesteps10Nombre d'étapes de diffusion. C'est LE curseur qualité/vitesse : monter cette valeur affine le rendu et ralentit la génération d'autant.
cfg_value2.0Force du guidage — à quel point le modèle suit le texte et la voix de référence plutôt que de dériver.
normalizeFalseNormalisation du texte en amont (nombres, dates…). Laissée désactivée chez nous : le pré-traitement commun du benchmark s'en charge.
denoiseFalseDébruitage de l'extrait de référence, utile quand la prise de son d'origine est mauvaise (nécessite de charger le débruiteur).
retry_badcaseTrueRé-essaie automatiquement une génération jugée ratée (jusqu'à 3 fois par défaut, sur un critère de ratio de durée). Un garde-fou intégré que peu de modèles proposent.
prompt_wav_path + prompt_text—Extrait de référence et sa transcription pour le clonage. En mode « Voice Design », on les remplace par une description écrite de la voix.

Ce qu'on mesure sur ce modèle

nos runs, pas les chiffres de l'éditeur
WER moyen (toutes voix)3.6 %
SIM (similarité de timbre)0.789
Facteur temps réel (RTF)0.41×
Stabilité de durée (CV)6.3 %
Phrases avec hallucination0.0 %
Phrases avec répétition0.0 %
Phrases tronquées1.7 %
VRAM estimée6 Go
Voix mesurées9 voix · 531 runs

À l'oreilletest d'écoute en aveugle

Test 1 — A/B (préférence humaine)52 % sur 80 duels
Test 2 — MOS Naturel / Rythme (1–5)3.05 ±0.39 · n=21
Test 2 — MOS Similarité (1–5)3.57 ±0.40 · n=21
Test 2 — MOS Expressivité (1–5)2.81 ±0.42 · n=21
Test 3 — Émotion A/B54 % sur 24 duels

Détail complet : table de toutes les métriques · résultats du test d'écoute.

Réglages de génération utilisés

relevés dans les métadonnées de nos runs

Ces valeurs sont celles réellement passées au modèle pour produire les audios mesurés — pas des réglages recommandés recopiés d'une documentation. Elles sont écrites par l'adaptateur dans le meta.json de chaque run.

cfg_value2.0
clonagetrue
cloning"ultimate"
inference_timesteps10

À savoir avant de l'utiliser

pièges, limites, nuances de licence
  • La version PyPI utilisée (voxcpm 2.0.3) n'expose pas de graine aléatoire : la variation entre nos 3 répétitions vient uniquement de la graine globale de PyTorch, posée par le socle commun du benchmark.
  • Piège d'installation rencontré ici : le chargement dépasse les 8 Go de RAM alloués par défaut à une VM WSL2 et se fait tuer par l'OOM-killer avant même la première génération (correctif documenté dans models/voxcpm2/NOTES.md).
  • La model card annonce un facteur temps réel d'environ 0,3 sur RTX 4090 ; nous mesurons 0,41–0,42 sur la même génération de carte, avec notre découpage et nos réglages.

Sources & vérification

vérifié le 2026-09-12

Les comptes de paramètres cités plus haut sont lus directement dans les fichiers de poids de la révision épinglée ci-dessous (en-têtes safetensors / torch), pas repris d'une annonce. Les caractéristiques annoncées proviennent de la model card officielle, liée ici. Les chiffres de performance viennent de nos propres runs.

Dépôt de poidsopenbmb/VoxCPM2
Révision épinglée32279effe8c19989
Licence déclaréeApache-2.0

Note de licence : apache-2.0 confirmé (métadonnée HF)

Model card Hugging Face (openbmb/VoxCPM2)huggingface.co/openbmb/VoxCPM2
Code source GitHubgithub.com/OpenBMB/VoxCPM