冻结音频编码器当老师,FireRedTTS3把连续TTS平均错误率压到3.04%

FireRedTTS3: Unified Speech Generation and Editing with Semantically Enriched Speech Representations

Feiyu Shen, Kun Xie, Yichen Wu, Ziqi Dai, Yichen Han, Junjie Li, Xuelong Geng, Fenglong Xie, Lei Xie, Xu Tang, Yao Hu

cs.SD

2026-08-18

小红书提出FireRedTTS3,用冻结音频理解编码器给连续语音潜变量灌语义。Base版在Seed-TTS-Eval上平均错误率3.04%、说话人相似度78.8%,Instruct版把音色设计与编辑收进同一套模型。

这篇在解决什么

连续自回归 TTS 直接在连续语音表示上建模,量化会丢掉的声学细节还在,文本 LLM 的指令跟随也能接上。代价是潜空间没有边界:一步预测偏了,后面会把音色漂、韵律崩一起滚下去。

现有补丁两条路。一条给 tokenizer 再加语义模块或分阶段训练,Ming-UniAudio、VibeVoice、dots.tts 都走这条。另一条像 VoxCPM 那样加 FSQ 瓶颈,把连续特征先卡住再送进自回归。都能用,系统也更重。小红书这条线要的是:语义从表示里灌进去,生成侧还保持简单的 LLM-DiT。

方法

核心是 RedAE,一个连续语音 tokenizer。24 kHz 波形切成 480 点非重叠帧,得到 50 Hz 序列;两级 Qwen3 风格 Transformer 再压到 25 Hz。重建走 GAN,判别器跟 X-Codec,目标含对抗、多尺度 Mel、特征匹配,外加一项语义监督。

语义从哪来:先训 FireRedAudio,覆盖 ASR、说话人验证这类理解任务,再把它的 Audio Encoder 冻住当老师。RedAE 的 25 Hz 潜变量去对齐老师特征,MSE 即可。tokenizer 训完,老师丢掉,下游生成不再碰它。潜空间不加 KL,免得声学被压没。RedAE 在 32 张 H800 上训 55 万步,数据 50 万小时,干净语音 50%、带噪 25%、音效 10%、音乐 15%。

生成侧是 LLM-DiT。Aggregator 把 25 Hz 再池化成 6.25 Hz 的 patch;Backbone 初始化自 Qwen3-1.7B,自回归建模文本 token 和这些 patch;DiT 按 Backbone 隐状态做 patch 级去噪。每步输入当前 4 帧噪声 patch,加上 12 帧干净历史潜变量,时间步用 AdaLN 注入。训练时以 0.1 的概率丢掉 Backbone 条件,做 CFG。

两条产品线。FireRedTTS3-Base 用 Qwen3-1.7B-Base,外接 CAM++ 说话人嵌入和语言标签。先在 260 万小时中英语音上训 17 万步,再在覆盖 24 种语言、21 种中文方言的 56 万小时上续训。FireRedTTS3-Instruct 用 Qwen3-1.7B,ChatML 加任务系统提示,没有显式说话人嵌入。指令先被写成结构化文本计划:音色设计压成 12 个声学属性,编辑则展开成目标转写和编辑区 mask。第二阶段用 33 万小时音色设计与编辑数据训 4 万步。

结果

零样本克隆看 Seed-TTS-Eval。FireRedTTS3-Base 平均错误率 3.04%、说话人相似度 78.8%,两项都是对比里最好。Qwen3-TTS 是 3.07% / 74.5%,CosyVoice3-1.5B 是 3.06% / 75.3%,dots.tts 预训练检查点 3.14% / 78.7%。中英单测上,SIM 分别拿到 Test-ZH 80.9% 和 Test-EN 77.2%。

MiniMax-MLS-Test 覆盖 24 种语言。平均错误率 3.75%,略优于 MiniMax-Speech 的 3.77%;平均相似度 84.8%,高于 dots.tts 的 83.5%。24 语里相似度拿第一或第二的有 22 种。葡萄牙语和乌克兰语不在 Audio Encoder 与 RedAE 的训练覆盖里,乌克兰语错误率仍到 0.55%。粤语 CER 全场都高,论文把锅主要甩给 Whisper-large-v3 的粤语识别。

指令音色设计看 InstructTTSEval。官方 Gemini-2.5-pro-preview 不可用,评测改成 Gemini-2.5-pro。Instruct 版中英 APS/DSD/RP 全是对比最好:中文 85.8 / 82.0 / 69.7,英文 80.7 / 82.3 / 72.0。最接近的 Qwen3-TTS-VD 是中文 83.7 / 81.7 / 65.8,英文 76.4 / 81.4 / 64.2。

编辑对标 Ming-UniAudio-Edit。语义编辑(删、插、替,模板指令加开放指令)平均 WER 中文 6.97% 对 8.53%,英文 10.22% 对 12.22%;编辑准确率 87.27% 对 82.91%(中)、78.91% 对 71.06%(英)。声学编辑里,中文语速 WER 从 5.88% 降到 2.27%,音量相对幅度误差从 14.9% 降到 3.58%。

设置指标FireRedTTS3最强对照
Seed-TTS-Eval 平均WER/CER ↓3.04%CosyVoice3 3.06%
Seed-TTS-Eval 平均SIM ↑78.8%dots.tts 78.7%
MiniMax-MLS 平均错误率 ↓3.75%MiniMax 3.77%
InstructTTSEval-ZH RP准确率 ↑69.7%Qwen3-TTS-VD 65.8%

为什么重要

给做连续 TTS 的人一个更省事的答案:语义监督可以停在 tokenizer,不必再给生成器加语义分支或 FSQ 瓶颈。1.7B 的 Backbone 加上 patch 级 DiT,已经能在克隆、指令设计和编辑三条线上把公开对照压过去。

落地条件很硬。RedAE 用 32 张 H800 训 55 万步,Base 第一阶段就吃了 260 万小时中英语音。架构简单,数据一点都不简单。代码和模型已开源。

局限与存疑

论文没有消融:语义蒸馏到底扛了多少错误累积,看不到「去掉语义损失」的对照表。错误累积是开篇的核心叙事,实验只报了端到端分数。

Base 和 Instruct 是两套权重,不是一个模型同时干三件事。InstructTTSEval 换了评测模型,跟官方工具包不完全可比。语义编辑只对了 Ming-UniAudio-Edit 一家。全程没有 MOS,也没有实时率。粤语数字被 ASR 污染,论文自己也承认。

「简单架构」成立的前提是上游已经有 FireRedAudio 当老师,以及百万小时级数据。复现门槛在数据,不在模块数。

术语

原文与代码

社区讨论

相关论文

全部论文解读