Red Alert 2 · Mental Omega — 四阵营副官语音模型

Red Alert 2 · Mental Omega — Four-Faction Adjutant Voice Model

基于 VITS-fast-fine-tuning 微调的多说话人 TTS 模型, 包含《红色警戒 2 · 心灵终结》四个阵营的副官(EVA)音色,支持 中文 / 英文 / 日文 及同句混读。

Ready for VITS-Fast-Fine-Tuning Inference.


Included characters(包含角色)

阵营 Faction 说话人 Speaker Speaker ID 语言标记
盟军 Allied us_eva 3 [EN] [ZH] [JA]
苏联 Soviet su_eva 2 [EN] [ZH] [JA]
焚风 Foehn ff_eva 1 [EN] [ZH] [JA]
厄普西隆 Epsilon ep_eva 0 [EN] [ZH] [JA]

⚠️ Speaker ID 由训练时的目录扫描顺序决定,请以 configs/modified_finetune_speaker.json 里的 speakers 字段为准,不要硬编码。


仓库文件 Files

.
├── OUTPUT_MODEL/
│   └── G_latest.pth                     # 生成器权重(推理只需这一个)159 MB
├── configs/
│   └── modified_finetune_speaker.json   # 模型配置(含 speakers 映射)2.5 KB
├── assets/
│   └── eval/                            # 模型评测图表
│       ├── fig_overview.png
│       ├── fig_secs.png
│       ├── fig_wer.png
│       └── fig_utmos.png
├── README.md
└── 使用协议.txt
文件 说明
OUTPUT_MODEL/G_latest.pth 生成器权重,推理只需要这个文件
configs/modified_finetune_speaker.json 模型配置:sampling_rate=22050、n_speakers=4、text_cleaners=["cjke_cleaners2"]、speakers 映射
OUTPUT_MODEL/D_latest.pth 判别器权重(187 MB),推理不需要,仅用于继续训练
assets/eval/*.png 模型评测图表(SECS / WER / UTMOS),见下方「模型评测」章节

模型信息 Model details

项目 值
架构 VITS(多说话人),n_speakers = 4
底模 Base model CJE / uma_trilingual(22050 Hz,三语底模)
采样率 22050 Hz,单声道,16 bit PCM
文本清洗器 cjke_cleaners2(中日英三语)
音素表 107 symbols
训练方式 VITS-fast-fine-tuning finetune_speaker_v2.py
微调数据 504 条游戏内语音,约 14 分钟
训练量 100 epoch = 3500 step,起步于底模 iteration 419
训练硬件 RTX 3060 Laptop(6 GB),batch 16 + fp16,约 1 小时 57 分
权重更新步 G_latest.pth = iteration 101
权限 只读(gated: false,公开可用)

快速使用 Usage

1. 准备环境

git clone https://github.com/Plachtaa/VITS-fast-fine-tuning.git
cd VITS-fast-fine-tuning
# 按官方 README_ZH.md 装好依赖(Python 3.8 + PyTorch CUDA 版)

2. 下载本仓库

pip install -U "huggingface_hub[cli]"
huggingface-cli download gurentan/RedAlert2_Adjutant_Voice_Model --local-dir ./

或者直接 git clone https://huggingface.co/gurentan/RedAlert2_Adjutant_Voice_Model

3. 单句合成

cmd_inference.py 是官方自带的命令行推理脚本:

python cmd_inference.py \
    -m OUTPUT_MODEL/G_latest.pth \
    -c configs/modified_finetune_speaker.json \
    -o output/vits \
    -on test \
    -l English \
    -t "Warning. Nuclear silo detected." \
    -s us_eva \
    -ls 1
参数 含义 可选值
-m 模型权重路径 本仓库的 OUTPUT_MODEL/G_latest.pth
-c 配置文件路径 本仓库的 configs/modified_finetune_speaker.json
-o 输出目录 例:output/vits
-t 要合成的文本 任意
-s 说话人名称(不是 ID) us_eva / su_eva / ff_eva / ep_eva
-l 语言 English / 简体中文 / 日本語 / Mix
-on 输出文件名(不含扩展名) 默认 output
-ns 感情变化程度 默认 0.667,越大语气起伏越明显
-nsw 音素发音长度 默认 0.6
-ls 语速倍率 默认 1;**-ls 2 = 语速翻倍**(内部按 1/length_scale 计算)

4. 语言标记(多语言混读)

-l 选单一语言时,脚本会自动在文本首尾包裹对应标记; 需要同一句混读多种语言时,用 Mix 并在文本里手写标记:

-l Mix -t "[ZH]核弹发射井已就绪。[ZH][EN]Stand by.[EN]"
语言 标记
英文 [EN] ... [EN]
中文 [ZH] ... [ZH]
日文 [JA] ... [JA]

配套网页服务 Web UI

本模型有一个开箱即用的 Gradio 网页端(四阵营下拉选择、语速 0.1~2.0、 Mix 模式自动识别语言、一键保存 wav),代码与文档见:

https://github.com/lightbryond/RedAlert2_Adjutant_TTS


模型评测 Evaluation

评测采用 80 条「官方参考 → 模型生成」配对样本(每个阵营 20 条):从游戏官方短语音(2–8 s,焚风放宽至 ≥1.5 s)中抽取,人工校对转写文本作为参考;再通过本项目 Web UI,以 英文、感情变化 0.667、语素时长随机度 0.85、语速 0.8× 生成对应音频。官方音频与生成音频统一为 22050 Hz / 单声道 / 16 bit PCM。

三项指标与基线

  • SECS(说话人相似度 ↑):提取 WavLM 说话人嵌入,L2 归一化后计算生成音频与官方参考的余弦相似度。人类基线 = 同阵营官方音频两两互比(每阵营 190 对),代表官方素材自身的一致性水平。
  • WER(内容保真度 ↓):Whisper-large-v3 对生成音频做 ASR 回译,与参考文本同时做文本归一化后按 jiwer 计算。官方 ASR 基线 = 对官方音频跑同一套 ASR 管线,代表 ASR 自身的误差下限。
  • UTMOS(自然度 ↑):UTMOSv2 无参考预测,对生成音频与官方音频分别打分,用于观察相对差距。

评测结果

阵营 SECS ↑
生成 vs 官方
SECS
人类基线
WER ↓
生成
WER
官方 ASR 基线
UTMOS ↑
生成
UTMOS
官方基线
ep_eva 厄普西隆 0.947 0.942 22.3% 13.1% 1.99 2.76
ff_eva 焚风 0.918 0.867 3.2% 3.2% 1.07 1.23
su_eva 苏联 0.956 0.952 18.8% 14.4% 1.90 2.08
us_eva 盟军 0.920 0.938 18.0% 9.9% 2.13 2.38
全部(ALL) 0.935 0.925 15.6% 10.2% 1.77 2.11

数值为各阵营 20 条样本的均值。SECS ≥ 0.80 通常可认为音色接近,≥ 0.85 属于良好水平。 WER 呈长尾分布:80 条整体中位数为 0(41 条完全无误),但少数严重样本会显著拉高均值。 工具:SECS = WavLM-base-plus-sv(WavLMForXVector)+ L2 归一化余弦;WER = Whisper-large-v3(faster-whisper,CPU int8)+ jiwer,参考文本与识别结果使用同一套归一化;UTMOS = UTMOSv2 fusion_stage3 fold0(wav2vec2-base + 4×EfficientNetV2-S),5-TTA。

总体结论

  • 音色还原是本次微调最大的成功点。 四阵营 SECS 均 ≥ 0.918,整体 0.935 已达到甚至略高于官方音频互比的人类基线(0.925),说明模型稳定学到了各阵营副官的说话人特征,且全部超过 0.85 的良好线。
  • 内容保真度整体尚可,错误集中在专有名词。 80 条中 41 条 WER = 0、整体中位数为 0;阵营差异明显(ff 20 条中 17 条全对,ep/us 的错误更普遍)。可复现的错误主要是专有名词发音(Tertiary、Radar、Iron Curtain、Genetic Mutator、Airfield、Chronosphere 等),把均值拉高到 15.6%(官方音频的 ASR 下限为 10.2%)。这类问题可通过发音词典或补充语料针对性解决,而不是整体语言能力不足。
  • 自然度是最弱环节。 生成音频 UTMOS 为 1.77,官方基线为 2.11(相对 -16%)。红警游戏语音本身压缩重、时长短,UTMOSv2 对官方音频也只给出 1.2–2.8 分,绝对值不宜与通用 TTS 横向比较;但相对降幅仍说明自然度有提升空间(训练仅 3500 step,评测使用 0.8× 语速也可能压低评分)。

分阵营结论

su_eva(苏联)综合表现最好:SECS 0.956 全场最高且波动最小(标准差 0.020),与人类基线 0.952 基本打平;UTMOS 相对官方仅下降 8.5%,是四阵营中自然度损失最小的;WER 相对基线差距 4.4pp,位列第二。它是唯一没有任何指标垫底的阵营。

其余阵营各有偏科:

  • ff_eva(焚风)——内容最好,音色最弱。 WER 3.2% 已压到 ASR 误差下限(20 条中 17 条完全正确);但 SECS 0.918 绝对值最低,且官方素材多为 1.5–2.0 s 短音频、阵营内差异大(人类基线仅 0.867),因此「超过基线」更多说明生成结果接近阵营中心,而非音色更精准。UTMOS 1.07 虽全场最低,但官方 ff 本身也只有 1.23。
  • us_eva(盟军)——自然度最高,音色略低于基线。 生成 UTMOS 2.13 为四阵营最高,但它是唯一 SECS 低于自身人类基线的阵营(0.920 vs 0.938),且 WER 相对基线差距 8.1pp,音色还原与咬字都还有欠账。
  • ep_eva(厄普西隆)——音色好,内容与自然度最差。 SECS 0.947 接近基线(0.942),但 WER 相对基线差距最大(+9.2pp),UTMOS 从官方的 2.76 掉到 1.99(-28%),是微调后自然度损失最明显的阵营,应优先排查。

评测图表

SECS 说话人相似度

图 1:SECS 分组条形图,虚线为 0.80 可接受阈值。

WER 内容保真度

图 2:WER 条形图,误差线为 ±1 标准差,菱形为官方音频的 ASR 回译 WER(误差下限)。

UTMOS 自然度

图 3:UTMOS 哑铃图,连线长度即生成音频与官方基线的差距。

评测限制:每阵营 20 条、每条仅生成一次;UTMOS 为预测分数而非人工 MOS;官方参考为单条短语音;ff_eva 素材时长偏短。评测音频与训练语料同源(官方游戏语音),未单独校验是否存在重叠,因此 SECS 更应理解为「对同源音色的还原度」,而非对未见说话人的泛化能力。以上结论适合做相对比较,绝对分数不宜与其他模型跨数据集直接对比。


训练数据与限制 Training data & limitations

  • 数据来自游戏内语音提取,共 504 条 / 约 14 分钟,四个阵营分布不均 (盟军 138 / 苏联 139 / 厄普西隆 138 / 焚风 90)
  • 文本由 Whisper small 转写后人工校对,仍有少量识别误差可能残留
  • 训练步数(3500 step)偏少,音质仍有提升空间;长句、生僻词可能含糊
  • 训练集与验证集内容相同(数据量过小,上游脚本未做划分), 验证 loss 不能反映泛化能力

适用场景:个人学习、同人创作、游戏 Mod 语音补充 不适用场景:商业用途、真实人物语音冒充、任何违法用途


免责声明 Disclaimer

  • 音色来源于《命令与征服:红色警戒 2》及其模组《心灵终结(Mental Omega)》, 版权归原作与模组作者所有
  • 本模型仅供技术学习与个人研究使用,禁止商用
  • 由此产生的一切版权纠纷与本仓库作者无关,如权利方有异议请联系删除

致谢 Credits

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support