
日本語・中国語の6感情を対象に、5つの感情TTSモデルをSenseVoice、emotion2vecアンカー、CER、自然性、実行時間、試聴サンプルで評価したベンチマーク。
モデルと参照資料:
- Qwen3-TTS CustomVoice 1.7B - 明示的な感情プロンプトを扱うカスタム音声TTS。
- CosyVoice 300M Instruct / CosyVoice2 - 日本語・中国語の名前付き話者を持つinstruction型TTSベースライン。
- Fish Audio S1-mini - インライン感情マーカーを使う表現力重視のTTSモデル。
- VoxCPM2 - 多言語のプロンプト駆動TTSモデル。
- IndexTTS-2 - 日本語・中国語の比較対象として評価した感情対応ゼロショットTTSモデル。
概要
本記事では、日本語と中国語を対象に、5つの感情TTSシステムを neutral、happy、sad、angry、fear、disgust の6感情で評価しました。プロンプト文は意味的に中立なものに限定し、感情表現がテキスト内容ではなく音声スタイルから出るようにしています。各モデルは120サンプルを生成し、5つの完了モデルで合計600 WAVのメインベンチマークコーパスになりました。
最もバランスが良かった候補は Qwen3-TTS CustomVoice 1.7B です。日本語・中国語のテキスト出力が信頼できるモデルの中で、SenseVoiceの総合精度、平均CER、アンカーヒット率、NISQA-TTS自然性のバランスが最も強い結果でした。CosyVoice 300M Instruct は自然性では最も強い一方、特に日本語で感情認識が弱くなりました。IndexTTS-2 は総合SenseVoiceスコアでは高く見えますが、日本語CERが高すぎるため、日本語TTSとして信頼できる結果とは扱えません。
最も重要な傾向は、言語差と感情ラベル差です。この自動評価設定では中国語の方が日本語より一貫して容易であり、fear と disgust はすべての評価モデルで未解決のままでした。
背景
感情TTSは、単なる自然性の問題ではありません。音声が流暢で聞きやすくても、指定された感情スタイルを表現できていない場合があります。多言語アバター、カスタマーサポート音声、トレーニングシミュレーション、表現力のある音声翻訳などのプロダクト用途では、TTSシステムが次の3点を同時に満たせるかを確認する必要があります。
- 意図した日本語または中国語の文を発話している。
- 聞くのに十分な自然性がある。
- ニュートラル音声や近い感情に崩れず、指定された感情を表現している。
CLAP系の音声テキスト類似度は広い検索用途には有用ですが、6ラベルの感情TTSベンチマークには間接的すぎます。そこで本評価では、離散的な感情認識、連続的な感情アンカー、文字起こしの正確性、自然性予測、実行時間、試聴サンプルを組み合わせました。目的は、自動指標だけで最終的な本番モデルを決めることではなく、人間によるリスニング評価に進めるべき候補をスクリーニングすることです。
評価方法
本ベンチマークでは、言語、感情、プロンプト文を均等に組み合わせた生成グリッドを使用しました。
同じ文を6つの感情すべてで再利用しています。これにより、タスクをきれいに保てます。たとえば日本語文が「会議は午前十時に始まります。」、中国語文が「资料已经放在桌子上。」のような中立文であれば、モデルは感情的な単語に頼れません。指定された感情は音声表現で出す必要があります。
プロンプトセット
日本語プロンプト例:
| ID | 文 |
|---|---|
ja_001 | 会議は午前十時に始まります。 |
ja_002 | 資料は机の上に置いてあります。 |
ja_003 | 明日の予定を確認してください。 |
ja_004 | 電車は三番線から出発します。 |
ja_005 | 受付で名前を伝えてください。 |
中国語プロンプト例:
| ID | 文 |
|---|---|
zh_001 | 会议将在上午十点开始。 |
zh_002 | 资料已经放在桌子上。 |
zh_003 | 请确认明天的日程安排。 |
zh_004 | 列车将从三号站台出发。 |
zh_005 | 请在前台告知您的姓名。 |
感情制御
| 対象感情 | 制御テキスト |
|---|---|
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. |
各モデルには同じ対象ラベルと文を与えますが、実際の制御インターフェースはモデルごとに異なります。
| モデル | 話者・参照入力 | 感情制御 |
|---|---|---|
qwen3_tts_customvoice_1_7b | 定義済みCustomVoice話者 Ryan。 | 元文と自然言語の制御指示。 |
cosyvoice_300m_instruct | 名前付き内蔵話者: 日本語 日语男、中国語 中文男。 | 元文と自然言語の制御指示。 |
fish_audio_s1_mini | 話者参照・感情参照WAVなし。 | (joyful)、(sad)、(angry)、(scared)、(disgusted) などのインラインマーカー。 |
voxcpm2 | メイン実行ではプロンプトWAV・参照WAVなし。 | テキストの前に制御指示をインラインで付与。 |
indextts-2 | データセット由来の話者プロンプトWAV: 日本語はJVNV、中国語はCSEMOTIONS。 | 元文と emo_text によるテキスト感情条件。 |
指標
- SenseVoice感情精度: 主要な自動評価。SenseVoice予測を6つのベンチマークラベルに対応付け、
surprisedとunknownは不一致として扱います。 - emotion2vecアンカーヒットとマージン: 中国語はCSEMOTIONS、日本語はJVNVの人間感情音声アンカー重心を使う補助診断。
- CER: faster-whisper-large-v3の文字起こしを元プロンプトと比較し、感情表現によって発話内容が壊れていないかを確認します。
- NISQA-TTS: 合成音声の自然性を測る主要な診断指標。
- UTMOS: 補助的な品質診断。警告信号として有用ですが、日本語・中国語には厳しめかつドメイン外になりやすい指標です。
- RTF: 合成速度を示すリアルタイムファクター。
結果
リソース使用量
リソース指標は、600件の成功生成行に対する metrics/generation_runs.csv から取得しています。これは厳密なハードウェアベンチマークではなく、運用上の診断値です。GPU、VRAM、wall time、RTFはすべての完了行で取得されていますが、サーバーバックエンドのアダプターではサンプル対象プロセスツリーの外で動くため、CPUは取得されていません。
| モデル | 中央wall time | 中央RTF | 中央ピークVRAM | GPU使用率 | GPU電力 | CPU | 中央ピーク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はこの実行では最速かつVRAM使用量が最も低いモデルでしたが、感情制御として最も強い候補ではありません。Qwen3-TTSはCosyVoiceより多くのVRAMを必要とするものの、IndexTTS-2やVoxCPM2より大幅に高速で、感情認識とテキスト忠実度のバランスが最も良好でした。Fish AudioはプロセスRSSは小さい一方、GPUメモリ使用量は完了モデルの中で最大でした。
JA/ZH 指標概要
この分割表は、日本語と中国語の挙動を3つの主要自動チェック、すなわちSenseVoice感情精度、CERによるテキスト忠実度、emotion2vecアンカー整合で比較するための最短の見取り図です。
| モデル | 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 |
自動感情指標では、中国語の方が全体的に容易です。ただし、CERと感情精度は常に同じ方向に動くわけではありません。Qwen3-TTSは両言語でCERが低く、IndexTTS-2は日本語SenseVoiceが最も高い一方で、日本語CERも最悪でした。
テキスト忠実度(CER)
テキスト忠実度では、Qwen3-TTSが最も安定したJA/ZH結果でした。日本語CERは8.6%、中国語CERは9.7%です。IndexTTS-2は注意が必要です。総合感情スコアは競争力があるように見えますが、日本語CERが91.0%に達しており、この設定では日本語テキスト経路が十分に信頼できません。
感情精度
SenseVoice
この自動評価設定では、中国語が日本語より明確に容易です。Qwen3-TTSでは、中国語のSenseVoice精度が53.3%である一方、日本語は15.0%でした。両言語でCERは低いため、問題は単なる聞き取りやすさだけではありません。日本語では、SenseVoiceが認識する感情手がかりがかなり弱い、またはずれていることを示唆しています。
fear と disgust が最も難しいラベルです。SenseVoice再現率は、すべてのモデル・言語ペアで両感情とも0.0%でした。これらのラベルはしばしば sad、neutral、angry、または unknown に崩れます。
行は対象感情、列はSenseVoice予測です。緑の枠は理想的な対角線を示します。
主な失敗パターン:
| ケース | 何が起きたか | なぜ重要か |
|---|---|---|
indextts-2 / ja | happy -> sad 4/10; fear -> sad 5/10; disgust -> angry 10/10. | 日本語テキスト品質が信頼できない場合でも、感情ラベルだけはもっともらしく見える可能性があります。 |
qwen3_tts_customvoice_1_7b / zh | happy -> neutral 5/10; fear -> sad 9/10; disgust -> neutral 9/10. | Qwenはバランス面で最良ですが、難しい感情はまだ崩れます。 |
cosyvoice_300m_instruct / ja | happy -> unknown 10/10; fear -> unknown 9/10; disgust -> unknown 8/10. | 自然性が高くても、認識可能な感情制御を保証しません。 |
fish_audio_s1_mini / zh | happy -> neutral 10/10; fear -> neutral 9/10; disgust -> neutral 8/10. | インライン感情マーカーは生成音声の韻律を十分に変えられませんでした。 |
voxcpm2 / zh | happy -> neutral 7/10; fear -> neutral 6/10; disgust -> neutral 10/10. | プロンプト駆動の制御は、多くの場合ニュートラル音声に崩れました。 |
emotion2vecアンカー
アンカー指標もSenseVoiceと似た傾向を示します。中国語アンカーは日本語アンカーより有利です。正のマージンは、生成音声が最も近い非対象感情重心よりも、対象感情重心に近いことを意味します。Qwen3-TTSは中国語で正のマージンを持ちますが、日本語ではすべてのマージンが負でした。
SenseVoiceとは異なり、アンカー診断はラベル分類器ではなく重心類似度チェックです。そのため、混同行列ではなくヒット率とマージンの分割図が有用です。
自然性
| モデル | 平均NISQA-TTS | 低NISQA-TTS <3.0 | 平均UTMOS | 低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% |
自然性と感情の正しさは別の問題です。CosyVoiceは自然性では最も明確な勝者ですが、感情制御では勝者ではありません。Qwen3-TTSはNISQA-TTSではCosyVoiceに少し劣りますが、感情認識と明瞭なテキスト出力のバランスでは大きく上回ります。
試聴サンプル
下の表は、日本語・中国語の happy と angry で同じプロンプト番号を使っています。これらのクリップは人間によるリスニングテストではなく、自動指標を読むための定性的な参照点です。
| モデル | 言語 | 対象 | SenseVoice予測 | サンプル |
|---|---|---|---|---|
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 |
制約
- 自動感情ラベルは人間の判断ではありません。 SenseVoiceは日本語・中国語に対応し、ベンチマークラベルに対応付けられる出力を返すため有用ですが、分類器バイアスや言語間の偏りを持つ可能性があります。
- アンカー指標はアンカーデータセットに依存します。 日本語アンカーはJVNV、中国語アンカーはCSEMOTIONS由来であり、この実行では
ja/neutralとzh/disgustのアンカーが欠けていました。 - IndexTTS-2の日本語結果は診断用であり、本番利用の根拠ではありません。 総合感情スコアは強く見えますが、この設定では日本語CERが高すぎます。
今後の研究
- Qwen3-TTSとCosyVoiceを対象に、自然性、感情の正しさ、テキスト明瞭性を分けて評価する小規模なネイティブ話者MOS/CMOSテストを行う。
- IndexTTS-2は当面中国語専用として扱うか、日本語トークナイザー・テキスト経路を修正した上で再実行する。
- 欠けている
ja/neutralとzh/disgustの感情アンカーを追加または整備する。 - 自動指標で差が大きく出ている
sad、angry、fear、disgustについて、中国語の人間評価を重点的に行う。 - SenseVoiceは自動スクリーニング指標として維持しつつ、本番判断は人間のリスニングテストで行う。
結論
日本語・中国語の感情TTSでは、Qwen3-TTS CustomVoice 1.7B が本ベンチマークで最もバランスの良いモデルでした。すべての感情を解決しているわけではありませんが、感情認識、低CER、アンカーヒット率、自然性、実行時間の実用的な組み合わせが最も強い結果です。
CosyVoice 300M Instruct は自然性のリーダーであり、人間のリスニング評価に進める価値があります。ただし、6感情制御が解決済みとは扱えません。IndexTTS-2 は特に中国語では診断的に興味深いものの、日本語結果はテキスト経路が修正されるまで信頼すべきではありません。
最大の未解決問題は、生の自然性ではありません。言語をまたいで一貫した感情制御です。この設定では中国語が日本語より容易であり、fear と disgust は評価モデル全体で未解決のままです。


