
Comparaison de cinq modèles TTS émotionnels pour le japonais et le chinois avec six émotions, SenseVoice, emotion2vec anchors, CER, naturel, temps d'exécution et exemples audio.
Modèles et références:
Résumé
Nous avons benchmarké cinq systèmes TTS émotionnels pour le japonais et le chinois sur six émotions cibles : neutral, happy, sad, angry, fear et disgust. Les phrases sont neutres afin que l’émotion vienne du style vocal plutôt que du contenu textuel.
Le candidat le plus équilibré est Qwen3-TTS CustomVoice 1.7B : CER faible, meilleur anchor hit rate, bon naturel et meilleur compromis pratique sur japonais/chinois.
CosyVoice 300M Instruct mène sur le naturel, mais le contrôle émotionnel reste faible. IndexTTS-2 a un score SenseVoice agrégé séduisant, mais son CER japonais est trop élevé. Le chinois est plus facile que le japonais, et fear ainsi que disgust restent non résolus.
Motivation
Le TTS émotionnel ne consiste pas seulement à produire une voix naturelle. Un modèle doit dire la bonne phrase, rester agréable à écouter et exprimer l’émotion demandée. Ce benchmark combine donc reconnaissance émotionnelle, anchors émotionnels, CER, naturel, runtime et exemples audio.
- La phrase japonaise ou chinoise visée doit rester correcte.
- La parole doit sembler assez naturelle pour une écoute réelle.
- La voix générée doit exprimer l’émotion demandée, sans retomber vers une voix neutre ou une émotion voisine.
Méthodologie d’évaluation
Le benchmark utilise une grille équilibrée par langue, émotion et phrase. La même phrase est réutilisée pour les six émotions, ce qui force le modèle à exprimer l’émotion par la prosodie et le style vocal.
Jeu de prompts
Exemples de prompts japonais :
| ID | Phrase |
|---|---|
ja_001 | 会議は午前十時に始まります。 |
ja_002 | 資料は机の上に置いてあります。 |
ja_003 | 明日の予定を確認してください。 |
ja_004 | 電車は三番線から出発します。 |
ja_005 | 受付で名前を伝えてください。 |
Exemples de prompts chinois :
| ID | Phrase |
|---|---|
zh_001 | 会议将在上午十点开始。 |
zh_002 | 资料已经放在桌子上。 |
zh_003 | 请确认明天的日程安排。 |
zh_004 | 列车将从三号站台出发。 |
zh_005 | 请在前台告知您的姓名。 |
Contrôles émotionnels
| Target emotion | Control text |
|---|---|
neutral | Speak in a clear, neutral, natural voice. |
happy | Speak in a happy, warm, bright voice. |
sad | Speak in a sad, soft, slow, gentle voice. |
angry | Speak in an angry, tense, forceful voice. |
fear | Speak in a fearful, tense, trembling voice. |
disgust | Speak in a disgusted, displeased, rejecting voice. |
Métriques
- Précision émotionnelle SenseVoice : métrique principale de filtrage automatique.
- Anchor hit et margin emotion2vec : diagnostic secondaire basé sur des centroïdes d’anchors de parole émotionnelle.
- CER : taux d’erreur de caractères entre la transcription et le prompt d’origine.
- NISQA-TTS et UTMOS : métriques de diagnostic du naturel et de la qualité de la voix synthétisée.
- RTF : real-time factor pour mesurer la vitesse de synthèse.
Résultats
Utilisation des ressources
Les métriques de ressources proviennent de 600 générations réussies. GPU, VRAM, wall time et RTF sont disponibles pour toutes les lignes terminées; le CPU n’est pas toujours capturé pour les adapters côté serveur.
| Model | Median wall time | Median RTF | Median peak VRAM | GPU util | GPU power | CPU | Median peak RSS |
|---|---|---|---|---|---|---|---|
cosyvoice_300m_instruct | 2.26s | 0.85 | 3.96 GB | 30.3% avg / 39.0% peak | 145.0W avg / 155.6W peak | 127.8% peak; 100% coverage | 5.54 GB |
qwen3_tts_customvoice_1_7b | 4.20s | 1.58 | 8.13 GB | 22.9% avg / 25.0% peak | 126.3W avg / 127.1W peak | 138.1% peak; 100% coverage | 6.22 GB |
fish_audio_s1_mini | 7.06s | 3.47 | 13.05 GB | 25.3% avg / 69.0% peak | 150.4W avg / 183.7W peak | not captured; 0% coverage | 0.80 GB |
indextts-2 | 26.39s | 6.97 | 7.29 GB | 18.2% avg / 100.0% peak | 131.3W avg / 199.6W peak | not captured; 0% coverage | 7.69 GB |
voxcpm2 | 28.44s | 9.84 | 12.79 GB | 12.3% avg / 100.0% peak | 106.7W avg / 191.5W peak | not captured; 0% coverage | 10.65 GB |
CosyVoice est le plus rapide et le moins gourmand en VRAM, mais ce n’est pas le meilleur candidat pour le contrôle émotionnel. Qwen3-TTS demande plus de VRAM que CosyVoice, mais il est bien plus rapide qu’IndexTTS-2 et VoxCPM2 tout en offrant le meilleur équilibre.
Vue d’ensemble des métriques JA/ZH
Ce tableau sépare japonais et chinois pour trois contrôles centraux : précision émotionnelle SenseVoice, CER et alignement des anchors emotion2vec.
| Model | JA SenseVoice | ZH SenseVoice | JA CER | ZH CER | JA anchor hit | ZH anchor hit | JA anchor margin | ZH anchor margin |
|---|---|---|---|---|---|---|---|---|
qwen3_tts_customvoice_1_7b | 15.0% | 53.3% | 8.6% | 9.7% | 40.0% | 64.0% | -0.06645 | 0.04480 |
indextts-2 | 43.3% | 16.7% | 91.0% | 10.3% | 38.0% | 30.0% | -0.08293 | -0.04063 |
voxcpm2 | 6.7% | 35.0% | 18.6% | 4.4% | 40.0% | 36.0% | -0.04479 | -0.02693 |
cosyvoice_300m_instruct | 1.7% | 36.7% | 43.9% | 11.1% | 24.0% | 72.0% | -0.05481 | 0.03796 |
fish_audio_s1_mini | 6.7% | 16.7% | 12.7% | 16.8% | 20.0% | 24.0% | -0.08972 | -0.09542 |
Le chinois est généralement plus facile pour les métriques émotionnelles automatiques, mais CER et précision émotionnelle ne bougent pas toujours ensemble. Qwen3-TTS garde un CER faible dans les deux langues; IndexTTS-2 a le meilleur score SenseVoice japonais mais aussi le pire CER japonais.
Fidélité textuelle (CER)
Pour la fidélité textuelle, Qwen3-TTS est le plus stable : CER japonais 8,6 % et CER chinois 9,7 %. IndexTTS-2 est le cas d’alerte, avec un CER japonais de 91,0 %.
Précision émotionnelle
SenseVoice
Dans ce protocole automatique, le chinois est nettement plus facile que le japonais. Pour Qwen3-TTS, la précision SenseVoice chinoise est de 53,3 % contre 15,0 % en japonais, malgré un CER faible dans les deux langues.
fear et disgust sont les labels les plus difficiles. Leur recall SenseVoice est de 0,0 % pour toutes les paires modèle/langue et se replie souvent vers sad, neutral, angry ou unknown.
Les lignes sont les émotions cibles et les colonnes les prédictions SenseVoice. Les cases vertes marquent la diagonale idéale.
| Cas | Ce qui s’est passé | Pourquoi c’est important |
|---|---|---|
indextts-2 / ja | happy -> sad 4/10; fear -> sad 5/10; disgust -> angry 10/10. | Les labels émotionnels peuvent paraître plausibles même si la qualité textuelle japonaise est peu fiable. |
qwen3_tts_customvoice_1_7b / zh | happy -> neutral 5/10; fear -> sad 9/10; disgust -> neutral 9/10. | Qwen est le candidat le plus équilibré, mais les émotions difficiles s’effondrent encore. |
cosyvoice_300m_instruct / ja | happy -> unknown 10/10; fear -> unknown 9/10; disgust -> unknown 8/10. | Le naturel ne garantit pas un contrôle émotionnel reconnaissable. |
fish_audio_s1_mini / zh | happy -> neutral 10/10; fear -> neutral 9/10; disgust -> neutral 8/10. | Les marqueurs émotionnels inline n’ont pas déplacé la prosodie de façon fiable. |
voxcpm2 / zh | happy -> neutral 7/10; fear -> neutral 6/10; disgust -> neutral 10/10. | Le contrôle par prompt retombe souvent vers une voix neutre. |
emotion2vec anchors
La métrique anchor raconte une histoire similaire : les anchors chinois sont plus favorables que les anchors japonais. Une marge positive signifie que l’audio est plus proche du centroid cible. Qwen3-TTS a une marge positive en chinois, mais toutes les marges japonaises sont négatives.
Naturel
| Model | Mean NISQA-TTS | Low NISQA-TTS <3.0 | Mean UTMOS | Low UTMOS <3.0 |
|---|---|---|---|---|
cosyvoice_300m_instruct | 4.267 | 0.0% | 3.282 | 20.8% |
indextts-2 | 4.063 | 11.7% | 2.078 | 93.3% |
qwen3_tts_customvoice_1_7b | 4.007 | 0.8% | 2.939 | 51.7% |
fish_audio_s1_mini | 3.935 | 3.3% | 2.932 | 55.8% |
voxcpm2 | 3.788 | 8.3% | 2.596 | 76.7% |
Le naturel et la correction émotionnelle sont deux questions différentes. CosyVoice gagne le naturel, mais pas le contrôle émotionnel. Qwen3-TTS est légèrement derrière sur NISQA-TTS, mais son compromis émotion/texte/vitesse est meilleur.
Exemples audio
Le tableau ci-dessous utilise le même prompt index pour happy et angry en japonais et en chinois. Ces extraits ne sont pas un test d’écoute humain, mais des points d’ancrage qualitatifs pour lire les métriques.
| Model | Language | Target | SenseVoice prediction | Sample |
|---|---|---|---|---|
qwen3_tts_customvoice_1_7b | JA | happy | unknown | |
qwen3_tts_customvoice_1_7b | JA | angry | angry | |
qwen3_tts_customvoice_1_7b | ZH | happy | neutral | |
qwen3_tts_customvoice_1_7b | ZH | angry | angry | |
cosyvoice_300m_instruct | JA | happy | unknown | |
cosyvoice_300m_instruct | JA | angry | unknown | |
cosyvoice_300m_instruct | ZH | happy | happy | |
cosyvoice_300m_instruct | ZH | angry | neutral | |
indextts-2 | JA | happy | sad | |
indextts-2 | JA | angry | surprised | |
indextts-2 | ZH | happy | neutral | |
indextts-2 | ZH | angry | neutral | |
fish_audio_s1_mini | JA | happy | happy | |
fish_audio_s1_mini | JA | angry | happy | |
fish_audio_s1_mini | ZH | happy | neutral | |
fish_audio_s1_mini | ZH | angry | neutral | |
voxcpm2 | JA | happy | unknown | |
voxcpm2 | JA | angry | angry | |
voxcpm2 | ZH | happy | happy | |
voxcpm2 | ZH | angry | angry |
Limites
- Les labels émotionnels automatiques ne sont pas un jugement humain. SenseVoice est utile car il prend en charge japonais et chinois, mais il peut avoir des biais de classifieur et des déséquilibres linguistiques.
- Les métriques anchor dépendent des datasets d’anchors. Les anchors japonais viennent de JVNV et les chinois de CSEMOTIONS;
ja/neutraletzh/disgustmanquaient dans cette exécution. - IndexTTS-2 en japonais est diagnostique. Le score agrégé paraît fort, mais le CER japonais est trop élevé dans ce setup.
Travaux futurs
- Lancer un petit test MOS/CMOS avec locuteurs natifs pour Qwen3-TTS et CosyVoice.
- Traiter IndexTTS-2 comme une piste chinoise pour l’instant, ou relancer après correction du tokenizer/text path japonais.
- Ajouter ou curer les anchors manquants
ja/neutraletzh/disgust. - Réaliser un contrôle humain ciblé en chinois pour
sad,angry,fearetdisgust. - Garder SenseVoice comme filtre automatique, mais décider la production avec des tests d’écoute humains.
Conclusion
Pour le TTS émotionnel japonais et chinois, Qwen3-TTS CustomVoice 1.7B est le modèle le plus équilibré de ce benchmark. Il ne résout pas toutes les émotions, mais combine le mieux reconnaissance émotionnelle, faible CER, anchor hit rate, naturel et runtime.