日语与中文情感 TTS 基准测试 | VoicePing
Text to Speech Emotional TTS Benchmark Qwen3 TTS CosyVoice IndexTTS Fish Audio VoxCPM Japanese Chinese Speech AI

情感 TTS 基准测试:Qwen3-TTS、CosyVoice、IndexTTS-2、Fish Audio 与 VoxCPM 在日语和中文上的表现

VoicePing Research 4 分钟阅读
情感 TTS 基准测试:Qwen3-TTS、CosyVoice、IndexTTS-2、Fish Audio 与 VoxCPM 在日语和中文上的表现

面向日语和中文六种目标情绪,对五个情感文本转语音模型进行 SenseVoice、emotion2vec 锚点、CER、自然度、运行时间和试听样本评估。

模型与参考资料:

摘要

本文评估了五个面向日语和中文的情感文本转语音系统,目标情绪包括 neutralhappysadangryfeardisgust。评估使用语义中性的提示句,因此模型必须通过语音风格表达情绪,而不是依赖文本本身的情绪词。每个模型生成120个样本,五个完成模型共形成600个 WAV 文件的主基准语料。

综合表现最均衡的候选模型是 Qwen3-TTS CustomVoice 1.7B:在日语和中文文本输出可信的模型中,它拥有最好的综合 SenseVoice 准确率、最低平均 CER、最佳锚点命中率,以及较强的 NISQA-TTS 自然度。CosyVoice 300M Instruct 是自然度领先者,但情绪识别较弱,尤其是在日语中。IndexTTS-2 的综合 SenseVoice 分数较高,但日语 CER 过高,因此不能把该结果视为可靠的日语 TTS 证据。

最重要的模式是语言和情绪的不平衡:在该自动评估设置下,中文始终比日语更容易,而 feardisgust 在所有被评估模型中仍未解决。

动机

情感 TTS 不只是自然度问题。模型可以听起来流畅、悦耳,却无法表达指定风格。对于多语言虚拟人、客服语音、训练模拟、富表现力语音翻译等产品场景,我们需要确认 TTS 系统能否同时保持三件事一致:

  • 说出目标日语或中文句子。
  • 听起来足够自然。
  • 表达指定情绪,而不是退化为中性语音或相近情绪。

CLAP 风格的音频文本相似度适合宽泛检索,但对六标签情感 TTS 基准来说过于间接。因此,本评估结合了离散情绪识别、连续情绪锚点、转写正确性、自然度预测、运行时间和试听样本。目标不是仅凭自动指标宣布最终生产模型,而是筛选出值得进入人工听测的系统。

评估方法

本基准使用按语言、情绪和提示文本均衡组合的生成网格:

实验设计

同一个句子会在六种情绪下重复使用。这样可以让任务保持干净:如果日语句子是“会議は午前十時に始まります。”,中文句子是“资料已经放在桌子上。”,模型就不能依赖带情绪色彩的文本内容,而必须通过语音表达目标情绪。

提示集

日语提示示例:

ID句子
ja_001会議は午前十時に始まります。
ja_002資料は机の上に置いてあります。
ja_003明日の予定を確認してください。
ja_004電車は三番線から出発します。
ja_005受付で名前を伝えてください。

中文提示示例:

ID句子
zh_001会议将在上午十点开始。
zh_002资料已经放在桌子上。
zh_003请确认明天的日程安排。
zh_004列车将从三号站台出发。
zh_005请在前台告知您的姓名。

情绪控制

目标情绪控制文本
neutralSpeak in a clear, neutral, natural voice.
happySpeak in a happy, warm, bright voice.
sadSpeak in a sad, soft, slow, gentle voice.
angrySpeak in an angry, tense, forceful voice.
fearSpeak in a fearful, tense, trembling voice.
disgustSpeak 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主实验中无 prompt/reference WAV。在文本前内联加入控制指令。
indextts-2数据集来源的说话人 prompt WAV:日语使用 JVNV,中文使用 CSEMOTIONS。原始句子加 emo_text 文本情绪条件。

指标

  • SenseVoice 情绪准确率:主要自动筛选指标。SenseVoice 预测被映射到六个基准标签;surprisedunknown 计为不匹配。
  • emotion2vec 锚点命中率和 margin:辅助诊断指标,使用 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中位峰值 VRAMGPU 使用率GPU 功耗CPU中位峰值 RSS
cosyvoice_300m_instruct2.26s0.853.96 GB30.3% avg / 39.0% peak145.0W avg / 155.6W peak127.8% peak; 100% coverage5.54 GB
qwen3_tts_customvoice_1_7b4.20s1.588.13 GB22.9% avg / 25.0% peak126.3W avg / 127.1W peak138.1% peak; 100% coverage6.22 GB
fish_audio_s1_mini7.06s3.4713.05 GB25.3% avg / 69.0% peak150.4W avg / 183.7W peaknot captured; 0% coverage0.80 GB
indextts-226.39s6.977.29 GB18.2% avg / 100.0% peak131.3W avg / 199.6W peaknot captured; 0% coverage7.69 GB
voxcpm228.44s9.8412.79 GB12.3% avg / 100.0% peak106.7W avg / 191.5W peaknot captured; 0% coverage10.65 GB

CosyVoice 在本次运行中最快、VRAM 最低,但不是最强的情绪控制候选。Qwen3-TTS 比 CosyVoice 需要更多 VRAM,但比 IndexTTS-2 和 VoxCPM2 快得多,同时保持了情绪识别和文本忠实度之间最好的平衡。Fish Audio 的进程 RSS 很小,但 GPU 显存占用是完成模型中最大的。

JA/ZH 指标概览

这张拆分表是对比日语和中文行为的最快方式,涵盖三个核心自动检查:SenseVoice 情绪准确率、CER 文本忠实度、emotion2vec 锚点对齐。

模型JA SenseVoiceZH SenseVoiceJA CERZH CERJA anchor hitZH anchor hitJA anchor marginZH anchor margin
qwen3_tts_customvoice_1_7b15.0%53.3%8.6%9.7%40.0%64.0%-0.066450.04480
indextts-243.3%16.7%91.0%10.3%38.0%30.0%-0.08293-0.04063
voxcpm26.7%35.0%18.6%4.4%40.0%36.0%-0.04479-0.02693
cosyvoice_300m_instruct1.7%36.7%43.9%11.1%24.0%72.0%-0.054810.03796
fish_audio_s1_mini6.7%16.7%12.7%16.8%20.0%24.0%-0.08972-0.09542

从自动情绪指标看,中文整体更容易。但 CER 与情绪准确率并不总是同步变化。Qwen3-TTS 在两种语言上都保持较低 CER,而 IndexTTS-2 既有最高的日语 SenseVoice 分数,也有最差的日语 CER。

文本忠实度(CER)

按语言划分的 CER

在文本忠实度方面,Qwen3-TTS 是最稳定的 JA/ZH 结果:日语 CER 为8.6%,中文 CER 为9.7%。IndexTTS-2 是需要警惕的案例。它的综合情绪分数看起来有竞争力,但日语 CER 达到91.0%,说明在该设置下日语文本路径并不可靠。

情绪准确率

SenseVoice

按语言划分的 SenseVoice 准确率

在这个自动评估设置中,中文明显比日语更容易。以 Qwen3-TTS 为例,中文 SenseVoice 准确率为53.3%,日语为15.0%,尽管两种语言的 CER 都较低。这说明问题不只是可懂度:SenseVoice 能识别到的日语情绪线索更弱,或与目标标签不够一致。

按模型和语言划分的逐情绪 SenseVoice 召回率

feardisgust 是最难的标签。所有模型/语言组合中,SenseVoice 对这两个情绪的召回率都是0.0%。这些标签经常退化为 sadneutralangryunknown

行表示目标情绪,列表示 SenseVoice 预测。绿色框标出理想对角线。

日语 SenseVoice 混淆矩阵

中文 SenseVoice 混淆矩阵

主要失败模式:

案例发生了什么为什么重要
indextts-2 / jahappy -> sad 4/10; fear -> sad 5/10; disgust -> angry 10/10.即使日语文本质量不可靠,情绪标签仍可能看起来合理。
qwen3_tts_customvoice_1_7b / zhhappy -> neutral 5/10; fear -> sad 9/10; disgust -> neutral 9/10.Qwen 是平衡性最强的模型,但困难情绪仍会坍缩。
cosyvoice_300m_instruct / jahappy -> unknown 10/10; fear -> unknown 9/10; disgust -> unknown 8/10.自然度并不能保证可识别的情绪控制。
fish_audio_s1_mini / zhhappy -> neutral 10/10; fear -> neutral 9/10; disgust -> neutral 8/10.内联情绪标记没有可靠地改变生成语音韵律。
voxcpm2 / zhhappy -> neutral 7/10; fear -> neutral 6/10; disgust -> neutral 10/10.提示驱动控制经常坍缩为中性语音。

emotion2vec 锚点

按语言划分的 emotion2vec 锚点命中率和 margin

锚点指标与 SenseVoice 显示出类似趋势:中文锚点比日语更有利。正 margin 表示生成音频比最近的非目标情绪中心更接近目标情绪中心。Qwen3-TTS 在中文上有正 margin,而所有日语 margin 都为负。

与 SenseVoice 不同,锚点诊断是中心相似度检查,而不是标签分类器。因此,有用的可视化是命中率/margin 拆分图,而不是混淆矩阵。

自然度

按模型划分的自然度诊断

模型平均 NISQA-TTS低 NISQA-TTS <3.0平均 UTMOS低 UTMOS <3.0
cosyvoice_300m_instruct4.2670.0%3.28220.8%
indextts-24.06311.7%2.07893.3%
qwen3_tts_customvoice_1_7b4.0070.8%2.93951.7%
fish_audio_s1_mini3.9353.3%2.93255.8%
voxcpm23.7888.3%2.59676.7%

自然度和情绪正确性是两个不同问题。CosyVoice 是最明确的自然度赢家,但不是情绪控制赢家。Qwen3-TTS 的 NISQA-TTS 略低于 CosyVoice,但在情绪识别和文本可懂度的平衡上明显更好。

试听样本

下表在日语和中文的 happyangry 中使用相同提示编号。这些片段不是人工听测,而是帮助理解自动指标的定性锚点。

模型语言目标SenseVoice 预测样本
qwen3_tts_customvoice_1_7bJAhappyunknown
qwen3_tts_customvoice_1_7bJAangryangry
qwen3_tts_customvoice_1_7bZHhappyneutral
qwen3_tts_customvoice_1_7bZHangryangry
cosyvoice_300m_instructJAhappyunknown
cosyvoice_300m_instructJAangryunknown
cosyvoice_300m_instructZHhappyhappy
cosyvoice_300m_instructZHangryneutral
indextts-2JAhappysad
indextts-2JAangrysurprised
indextts-2ZHhappyneutral
indextts-2ZHangryneutral
fish_audio_s1_miniJAhappyhappy
fish_audio_s1_miniJAangryhappy
fish_audio_s1_miniZHhappyneutral
fish_audio_s1_miniZHangryneutral
voxcpm2JAhappyunknown
voxcpm2JAangryangry
voxcpm2ZHhappyhappy
voxcpm2ZHangryangry

局限性

  • 自动情绪标签不是人类判断。 SenseVoice 很有用,因为它支持日语和中文,并输出可以映射到基准标签的情绪标签,但它可能存在分类器偏差和语言不平衡。
  • 锚点指标依赖锚点数据集。 日语锚点来自 JVNV,中文锚点来自 CSEMOTIONS;本次运行中缺少 ja/neutralzh/disgust 锚点。
  • IndexTTS-2 的日语结果只适合作诊断参考,不能作为生产证据。 它的综合情绪分数看起来较强,但该设置下日语 CER 过高。

后续研究

  • 对 Qwen3-TTS 和 CosyVoice 进行小规模母语听者 MOS/CMOS 测试,并分别评价自然度、情绪正确性和文本可懂度。
  • 暂时将 IndexTTS-2 视为中文专用,或在修复日语 tokenizer/文本路径后重新运行。
  • 添加或整理缺失的 ja/neutralzh/disgust 情绪锚点。
  • sadangryfeardisgust 做聚焦中文人工检查,因为自动指标显示这些标签之间差异明显。
  • 继续将 SenseVoice 作为自动筛选指标,但最终生产决策应基于人工听测。

总结

对于日语和中文情感 TTS,Qwen3-TTS CustomVoice 1.7B 是本基准中最均衡的模型。它并没有解决所有情绪,但在情绪识别、低 CER、锚点命中率、自然度和运行时间之间取得了最实用的组合。

CosyVoice 300M Instruct 是自然度领先者,值得进入人工听测,但不应被视为已经解决六情绪控制。IndexTTS-2 在诊断上很有意思,尤其是中文部分;但在修复文本路径之前,日语结果不应被信任。

最大的开放问题不是原始自然度,而是可靠且跨语言一致的情绪控制。在该设置中,中文比日语更容易,而 feardisgust 在所有被评估模型中仍然是开放问题。

分享这篇文章

免费试用 VoicePing

借助 AI 翻译跨越语言障碍。立即开始使用免费计划。

免费开始