会说24种语言、能「捏」出任意音色、还能随手改:小红书FireRedTTS 3发布!
小红书 FireRed 团队发布新一代语音生成与编辑模型 FireRedTTS3。它用同一个模型打通了语音的三大能力——多语言、多方言的零样本音色克隆,用自然语言「描述」就能定制的声音设计,以及「哪里不满意改哪里」的精准语音编辑,并在四大公开评测集上全面达到行业领先水平。
论文标题:FireRedTTS3: Unified Speech Generation and Editing with Semantically Enriched Speech Representations
技术报告: https://arxiv.org/abs/2608.17492
Demo 链接:https://fireredteam.github.io/demos/firered_tts_3/
代码链接:https://github.com/FireRedTeam/FireRedTTS3
给它几秒钟你的声音,它就能用「你」说 24 种语言、21 种中文方言;给它一句话描述,它能凭空「捏」出一个从不存在的声音;给它一段现成的语音,它能像改文档一样,只动你圈出来的那一处,其余分毫不改、音色不飘。克隆、设计、编辑——过去得靠三套系统才能干的事,现在一个模型全包了。
秘密藏在一个叫 RedAE 的语音表示里:它请了一位「语义老师」,在源头就把语义「教」进声音的表示中。于是不堆模块、不搞多阶段训练、不叠复杂架构,就稳稳压住了连续语音生成最头疼的老毛病——「越说越跑偏」。
成绩也够硬:音色克隆的准确率和相似度双料第一(Seed-TTS-Eval 3.04% / 78.8%),24 种语言的克隆同样双料第一(3.75% / 84.8%),声音设计和语音编辑两个榜单也一并领先。
先上耳朵:这几段声音,你能分清真假吗?
继 FireRedTTS-2 把长对话与播客生成做到工业级之后,FireRedTTS3 这次把能力从「把一句话说好」,一路推到了「克隆、设计、编辑一手包办」。道理讲一万句,不如亲耳听一段。先来听四段——留个心眼:哪句是 AI,哪句又被悄悄「动过刀」?
先听听世界各地的朋友怎么聊世界杯。 趁着世界杯的余热,不同语言、不同口音轮番上阵;但你可能想不到,这些声音其实出自同一套模型之口。
接下来,我们来听下各地区的网友们用亲切的方言向大师提问。 你觉得他们的口音正宗不正宗呢?
如果说「说好各类语言」拼的是广度,那下面这个,拼的是「无中生有」。 这一次,我们不给模型提供参考音频,只甩过去一句「需求描述」——想要什么样的声儿,说一句话就行。
能凭空造声,那能不能在一段已经录好的声音上「做手术」? 最后这个有点像变魔术:一段现成的话,我们只想改其中一个词,或调一点语速,其他地方一个字都不许动。来看看它是不是做到了「指哪改哪、改完还听不出痕迹」。
四段听下来,克隆、设计、编辑,它一个没落。那么问题来了: 一个模型,凭什么能同时把这三件事都干好?
要讲清这一点,得先回到一个更根本的问题——我们为什么需要这样一个模型。
过去两年,TTS 在零样本音色克隆上已经相当成熟。但用户的诉求正在快速升级——不再满足于「复刻一个声音」,而是希望:
能用自然语言描述来设计声音 (我说「我要一个什么样的声音」,模型就给我什么样的声音);
能对已有语音做精准的局部修改 (只改我指定的字 / 语速等,别的地方不要动)。
一句话概括,需求正在从「克隆」走向「控制」。而「控制」二字,恰恰是最难啃的骨头。
想让机器「听话」,到底卡在哪?
要做到「控制」,模型必须闯过三关:听懂自然语言指令 → 把指令精确落到某个语音属性或某个片段上 → 且不破坏未指定的部分。而这一切的地基,是语音表示必须同时编码好两类信息:语义(内容 / 风格 / 意图)与声学细节(音色 / 气声 / 音高的细微起伏)。
偏偏现有三条技术路线,在「语义 + 声学 + 可控」上都各有短板:
非自回归 Flow Matching:架构决定了难以借力文本大模型的指令跟随能力;
离散 Token(VQ / RVQ):量化会抹掉细粒度声学细节,在语音编辑这类声学敏感任务上易失真;
连续自回归(LLM-DiT):连续空间无界,微小误差在自回归中不断累积,导致音色漂移、韵律崩溃。
连续自回归目前是最有希望的一条路,但「误差累积」是它绕不开的坎。此前学界主要从两个方向补救:一是给连续表示补语义(如 Ming-UniAudio 额外加模块抽语义、VibeVoice 用单独的语义 VAE、dots.tts 在 VAE 训练里加 ASR 目标);二是在自回归阶段正则化特征空间(如 VoxCPM 引入 FSQ 瓶颈)。但方向一往往要额外挂语义模块,或搞多阶段 tokenizer 训练;方向二则会让架构变复杂。
于是 FireRedTTS3 换了个思路发问: 能不能在「表示」这一层就把误差累积缓解掉,且系统依然简单? 我们的答案,就从最底层的「表示」动起。
破局第一步:让「表示」自己就带语义——RedAE
FireRedTTS3 的第一块基石,是连续语音 tokenizer RedAE。它的核心思路可以一句话概括:不额外加语义模块、不搞多阶段训练,而是请一位「语义老师」,在 tokenizer 训练时就把语义「教」进连续表示里。
主题:声音|语音|FireRedTTS3|模型