微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 小红书与上海交大联手打造的"会说话的AI",语音合成技术迎来新突破

小红书与上海交大联手打造的"会说话的AI",语音合成技术迎来新突破

2026-06-11 17:16
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-06-11 17:16 科技行者

这项由小红书(Xiaohongshu Inc.)旗下 dots 团队与上海交通大学计算机科学学院 X-LANCE 实验室联合完成的研究,于2026年6月5日以预印本形式发布在 arXiv 平台,编号为 arXiv:2606.07080。感兴趣的读者可通过该编号查阅完整论文原文。

每天我们都在和各种"会说话的AI"打交道——手机里的语音助手、导航软件的播报声、有声书的朗读器。这些声音听起来越来越像真人,但仔细一听,总还是差那么一点感觉:没有情绪起伏,遇到复杂句子就磕磕绊绊,长篇朗读到后面声音开始"漂移",仿佛原来那个说话的人悄悄换了个人。这背后的技术挑战,比你以为的要深刻得多。

小红书和上海交大的研究团队正是为了解决这些问题,推出了一个名叫 dots.tts 的语音合成系统。它拥有20亿个参数(可以把参数理解为系统内部学到的"经验积累",数量越多,系统越复杂、越强大),在多个国际权威测试中达到了目前开源系统中的最佳水平。团队也慷慨地将训练代码、推理代码以及训练好的模型权重全部以 Apache 2.0 许可证形式对外开放,让全球研究者都能复现和使用。

要理解 dots.tts 到底做了什么,不妨把"让AI说话"这件事想象成培养一位专业配音演员。一个优秀的配音演员需要三种能力:第一,能理解剧本(文字)的语义和情感;第二,有优美的嗓音(音色)能还原角色特征;第三,能把理解和音色自然地融合成一段连贯的表演,而且长篇录制时不会越说越偏。dots.tts 的全部设计,都可以用"如何培养这样一位配音演员"来理解。

一、为什么"让AI说话"比想象中难得多

在深入了解 dots.tts 的具体做法之前,有必要先搞清楚这个领域的历史积累和现存困境。

目前让AI说话的技术路线大体分为两大流派。第一个流派叫"非自回归生成",它的特点是一口气把整段话全部生成出来,就像一个印刷机把整页纸一次性印好。Voicebox、F5-TTS 等系统都属于这一流派,它们速度快,很适合批量生产配音素材。但这个流派的缺点是不太适合实时对话,毕竟对话需要边说边生成,而不是等对方讲完再一口气回答。

第二个流派叫"自回归生成",它更像一个真人说话——一个字接着一个字地生成,每说完一个字都会把它作为下一个字的参考依据。CosyVoice、Qwen3-TTS、Seed-TTS 等系统都走这条路。这种方式天然适合流式输出,很适合实时对话场景。

自回归流派里又分两个细分方向:用"离散音频令牌"的和用"连续表示"的。离散令牌可以理解成把声音先转化成一个有限词汇表里的"音频文字",就像汉字的有限字库一样,然后让语言模型来预测下一个"音频汉字"。这种方法和文字大语言模型非常相似,工程上成熟度高,但问题在于这个"音频词汇表"容量有限,很难同时覆盖普通说话、情绪化表达、唱歌、环境声等所有声音类型。

dots.tts 选择了另一条路:连续表示。声音不再被切割成离散的"音频汉字",而是以一串连续的数字向量来表达,可以无损地记录声音的各种细腻特征。这条路的理论上限更高,但有一个要命的问题:连续表示下每次预测出来的声音向量都可能带着一点点误差,而这些误差会像滚雪球一样在长篇生成中越积越大,最终导致声音"跑偏"——这就是所谓的"长程误差累积"问题。解决这个问题,是 dots.tts 整个设计的核心挑战。

二、系统的基本架构:三个分工明确的"部门"

dots.tts 的整体构造可以用一家唱片公司来打比方。这家公司有三个核心部门各司其职,分工合作。

第一个部门叫"音频仓库",专业名称是 AudioVAE(音频变分自编码器)。它的工作是把真实的人声录音压缩成一种紧凑的数字描述,然后在需要的时候再还原回高保真音频。你可以把它想成一个非常智能的"压缩软件"——不是简单地减少文件体积,而是在压缩的过程中保留声音里最有价值的信息,包括音色、情绪、节奏等细节。这个"仓库"处理的是48千赫兹的高质量音频,每秒只保留25帧的压缩表示,相当于把原始音频压缩了1920倍,但还原质量依然惊人。一旦训练完成,这个部门就被"冻结"起来,固定工作,不再变动。

第二个部门叫"语义规划师",对应系统中的大语言模型(LLM)。它的工作是把文字转换成"下一步应该说什么"的计划。它基于 Qwen2.5-1.5B 这个预训练文字语言模型初始化,具备理解文字含义、处理多语言文本规范化以及跟随自然语言风格指令的能力。不使用音素(把文字转成音标再处理)而是直接使用BPE(字节对编码,一种把文字切成小片段的方式)来处理文字,这让它的语言理解能力更强,但代价是需要更多的训练数据。语义规划师以6.25赫兹的速率输出"语义摘要",也就是说每秒只关注声音的大方向,不纠结于每一毫秒的音色细节。

第三个部门叫"音色渲染师",专业名称是 AR-FM 头(自回归流匹配头)。它接收语义规划师传来的"下一步说什么"的指令,以及历史上已经生成的声音片段作为参考,生成具体的声音波形数据。它使用的是一种叫"流匹配"的技术——可以理解为从随机噪声出发,沿着一条优化好的路径,一步步"雕刻"出目标声音。这个部门还会接收说话人的声纹特征,确保生成出来的声音与参考音频的音色一致。

三个部门之间的协作流程是这样的:语义规划师每"想好"一小段语义,就把指令传给音色渲染师;音色渲染师生成对应的声音片段(每次生成4帧,对应约160毫秒的音频);生成好的声音再经过一个"语义编码器"提取摘要,反馈给语义规划师作为下一步的参考。语义规划师看到的始终只是语义摘要,而不是原始声音数据,这一设计至关重要——正是这种"只看大方向不看细节"的反馈机制,让长篇生成时的误差不会雪球式地放大。

三、"音频仓库"的精心打造:两阶段训练

AudioVAE 的训练分为两个阶段,每个阶段有不同的目标,就像培训一名仓库管理员,先学会如何准确储存和取出货物,再学会如何给货物贴上有意义的标签。

第一阶段的目标是"高保真还原"。训练过程中使用了多种损失函数(可以理解为"评分标准"):有衡量生成音频与真实音频在频域相似度的多尺度梅尔谱损失,有通过判别器来判断生成音频是否足够真实的对抗性损失,以及确保压缩后的特征空间平滑、不杂乱的KL正则化和流正则化。整个编码器和解码器都设计成"因果"结构——意思是每一帧的计算只依赖它之前的帧,不依赖后面的帧,这样才能支持实时流式生成。第一阶段训练了50万步,使用约9.6秒的音频片段作为训练素材。

第二阶段的目标是"提升可学性"。纯粹为还原质量优化的压缩表示,虽然还原效果好,但对于下游的语言模型来说太复杂了——里面包含太多细微的声学变化,语言模型无法有效地以它为目标进行预测。为了解决这个问题,第二阶段在保留第一阶段所有损失函数的同时,额外加入了两种监督。一种是与 WavLM(一种强大的语音理解模型)第23层特征对齐的余弦相似度损失,强迫压缩表示在语义层面与已知的语音理解特征对齐。另一种是通过一个小型下游模块,同时学习语音识别(听懂内容)、情绪识别(感知情绪)和说话人分类(区分不同人)三个任务,让压缩表示既包含语义信息也包含说话人和情绪信息。

这个下游模块在训练完成后被丢弃,但它里面的编码器被保留下来作为"语义编码器",用于在生成过程中把每一小段声音转换成语义摘要反馈给语言模型。从表1的重建质量测试来看,dots.tts 的音频仓库在所有测试指标上都表现优异:PESQ-NB 4.09、STOI 0.973、UTMOS 3.75、SIM 0.969、WER 4.14%,全部位于同类连续表示系统的顶级水准,远超各种离散音频编码器。

四、"音色渲染师"的工作方式:全历史条件与并行训练

音色渲染师(AR-FM头)的设计有两个值得细说的巧妙之处。

第一个巧妙之处是"全历史条件"。在生成第N段声音时,渲染师不仅参考当前的语义指令,还能看到从第0段到第N-1段所有已经生成的干净声音片段。这就像一个配音演员不仅在看当前台词,还随时能翻回之前录好的所有片段来确保风格一致。这种全历史条件设计,是 dots.tts 对比其他同类系统的重要差异,它大幅减少了生成过程中的风格漂移。

第二个巧妙之处是"块因果并行训练"。训练时如果真的像推理时一样逐段生成,效率会极低。研究团队设计了一种特殊的注意力掩码机制,让整个语音序列可以在一次前向计算中并行训练,同时每个位置看到的上下文与推理时完全一致。具体来说,训练序列被分成两半:一半是"干净历史",包含所有已知的语义指令和干净声音片段;另一半是"带噪生成目标",包含每段声音在随机噪声时间点的加噪版本。通过精心设计的块因果注意力掩码,确保每个生成位置只能看到它在推理时能看到的信息,从而让并行训练和逐步推理产生完全一致的数值结果。位置编码也经过特殊设计,确保训练和推理时每个位置的相对关系完全对应。

音色渲染师的底层架构是一个扩散变换器(DiT),18层,隐藏维度1024,每层都使用旋转位置编码(RoPE)和均方根归一化。说话人的声纹特征通过 CAM++ 声纹编码器提取,作为全局调制信号融入生成过程。训练时以50%的概率分别随机丢弃语义条件和说话人条件,从而支持推理时的"无分类器引导"——也就是说,推理时可以用一个"有条件的预测结果减去无条件的预测结果"乘以一个放大系数,增强生成结果对文字内容和音色的遵从度。

五、两种推理模式:普通模式与实时对话模式

dots.tts 支持两种工作模式,对应不同的应用场景。

第一种叫"普通模式",文字作为整段前缀放在声音生成之前。这相当于配音演员先把整个剧本读完,完全理解所有上下文,然后再开始录音。这种模式下生成质量最高,适合事先准备好文字内容的场景,比如有声书制作、广告配音等。

第二种叫"1T1A交错双流模式",专门为实时对话设计。它的工作方式是:一个文字令牌(T)交替出现一个音频步骤(A),形成 T-A-T-A-T-A 这样的交错序列,直到文字结束标记出现,之后声音继续单独生成直到停止。这种设计的妙处在于,上游的对话语言模型每生成一个文字令牌,声音模型就能立刻消化它并开始生成对应的声音,不需要等整句话生成完再开始说。这样就实现了真正的边"想"边"说",用户几乎感知不到延迟。两种模式共用同一套模型参数,只是输入序列的布局不同。

六、训练数据:1.5百万小时的"听课积累"

要培养出一位经验丰富的配音演员,光有好的训练方法还不够,还需要大量的练习素材。dots.tts 的训练共使用了约150万小时的音频数据,相当于一个人不间断地听170年的声音材料。

这些数据来自三个来源。最主要的是小红书内部的中英文语音语料库,经过一套完整的预处理流程:人声增强去除背景噪声、音源分离剔除混音干扰、说话人感知的自动切分、多语言语音识别(英文和大多数语言用 Whisper-Large-v3,普通话用 Paraformer),然后再通过多维度质量过滤(跨ASR一致性检验、有效带宽估计、UTMOS音质评分、同一片段内声纹一致性检验),最终得到约120万小时高质量带转录的语音数据。

第二个来源是精心筛选的开源语料库混合包,包括 Emilia、LibriTTS-R、HiFi-TTS 及其第二版、WenetSpeech4TTS、AISHELL-3、Magicdata、MLS、MSR-86K、IndicVoices-R、EuroSpeech、WaxalNLP-TTS 和 FLEURS,合计约30万小时,主要贡献了非中文的语言覆盖。

第三个来源是约7000小时的字幕配对数据,用于初步建立自然语言风格控制能力。这部分数据将声音描述("一个温柔的女声,语气中带着一丝忧伤"之类)与对应的音频配对,为系统学习按描述生成相应风格的声音奠定基础。

七、训练流程:循序渐进的三步法

整个骨干模型的训练分三个阶段,就像学习配音先练基础再练技巧最后精修打磨。

第一阶段叫"模态对齐"。训练刚开始时,声音端和文字端还像两个陌生人,需要先建立沟通渠道。这一阶段冻结语言模型,只训练语义编码器和音色渲染师,使用 Emilia 这一个数据源,全局批次约0.5小时,训练10万步。实验中发现如果直接在全量数据上训练,由于梯度通路尚未建立,训练极不稳定。这一阶段结束后,系统虽然读音错误率还高达42%,但已经能生成可辨认的语音,说明声音-语言的"翻译渠道"已经打通。

第二阶段叫"全量通用训练"。解冻所有模块,在全部150万小时数据上端对端联合训练,全局批次约8小时,训练70万步(大约是整个语料库的4个完整轮次)。这一阶段的目标是把文字到声音的映射关系在大规模多语言多领域数据上打牢。

第三阶段叫"退火精修"。用质量阈值更严格的筛选子集再训练10万步,同时学习率从2×10??线性衰减到3×10??。这一阶段就像专业运动员赛前的精细调整,目的是在高质量数据上强化系统表现。所有"预训练"阶段的评测数字都来自这一阶段结束时的检查点。

八、自我纠错的后训练:像练习"抗差错恢复"

预训练结束后还有一个关键的后训练阶段,叫做"自我纠错对齐"(SOAR,Self-Corrective Alignment)。

预训练时,音色渲染师见到的训练样本都是从干净的真实数据出发加噪再去噪,预测路径非常规整。但推理时,前面每一步生成的声音都难免有微小误差,渲染师必须基于这些"不太完美"的历史来生成下一段声音。训练和推理之间的这种差距,会导致长篇生成时误差累积。

自我纠错对齐直接解决这个问题。训练时,先用当前渲染师的有引导预测(CFG引导,引导比例γ=1.2)执行一步Euler积分,得到一个"偏轨"状态——相当于故意制造一个略有误差的历史片段。然后对这个偏轨状态施加不同程度的随机噪声,生成6个辅助训练样本,每个辅助样本的学习目标是"如何从当前偏轨位置回到干净的声音终点"。这样,渲染师不仅学会了在理想情况下如何生成,还学会了在遇到偏轨历史时如何纠偏。

这整个过程不需要任何外部奖励模型或人类偏好数据,完全是渲染师用自己生成的错误来训练自己纠错,因此被称为"无奖励"的自我纠错。这一阶段冻结语言模型、语义编码器、AudioVAE和声纹编码器,只更新音色渲染师,训练5万步,全局批次约4小时。

九、MeanFlow蒸馏:让推理速度飞起来

自我纠错对齐完成后,得到的是一个需要用10步欧拉积分(每步还要额外做一次无条件前向传播用于CFG,实际共20次前向计算)才能生成一小段声音的系统,速度有限。

为了加速,研究团队使用了 MeanFlow 蒸馏技术。核心思路是训练一个"学生渲染师",它的任务不是预测某一时刻的瞬时速度,而是直接预测从某一时间点到另一时间点的平均速度,用一步就能跨越原来需要多步走完的路程。而且,CFG的引导效果被融入蒸馏目标中,学生模型推理时不再需要额外的无条件前向传播,每一步只需要一次前向计算。

具体来说,教师模型(已经自我纠错对齐的渲染师)用16步欧拉积分生成一段从时间ta到时间tb的轨迹,然后计算轨迹的平均速度作为学生的学习目标。学生模型在教师模型基础上初始化,额外增加一个小小的时间间隔嵌入器,用5万步的蒸馏训练学会用一步计算出该平均速度。推理时,学生只需2到4步就能完成整个生成过程,大幅降低了延迟。

十、测试结果:在多个国际榜单上的表现

经过这一系列精心设计,dots.tts 在多个权威测试集上的表现如何?

在业界最广泛使用的零样本语音克隆测试集 Seed-TTS-Eval 上,测试分三个子集:英文(test-en)、中文(test-zh)以及更难的中文(test-zh-hard)。评测指标是词错误率(WER,越低越好)和说话人相似度(SIM,越高越好)。dots.tts 在平均WER和平均SIM上都达到了所有参与对比的系统中的最佳——平均WER 2.92%(SOAR版本),平均SIM 79.2(SOAR版本),在中文子集上WER低至0.94%,SIM高达81.0。相比之下,CosyVoice 3 的平均WER为3.06%,Seed-TTS 的平均SIM为77.8,VoxCPM 2 的平均SIM为76.7。MeanFlow蒸馏4步版本在平均WER上与SOAR版本几乎持平(2.94% vs 2.95%),代价是SIM略降约1个点。

在覆盖24种语言的 MiniMax 多语言测试集上,dots.tts(SOAR版本)以83.9的平均SIM领先所有对比系统,比第二名 VoxCPM 2 高出1.6个点。在24种语言中,dots.tts 有19种语言取得最高SIM分,2种并列最高。WER方面,dots.tts 在大多数语言上具有竞争力,但在阿拉伯语、印地语、土耳其语等低资源语言上WER偏高,主要原因是直接使用BPE处理文字对这些语言的字符覆盖不够充分。MeanFlow 4步蒸馏版本与SOAR版本在平均指标上几乎持平(6.8% / 83.5 vs 6.8% / 83.9)。

在 CV3-Eval 测试集上,这个测试包含跨语言声音克隆的专项考核(用英文参考音频说中文,或用中文参考音频说英文)。dots.tts 在跨语言SIM两个方向上都大幅领先:英转中方向SIM 75.0,中转英方向SIM 72.8,比第二名 CosyVoice 3(66.9 / 66.4)高出约6到8个绝对点。

在评估表达力的 EmergentTTS-Eval 测试集上,这个测试用 Gemini-2.5-Pro 作为裁判,将各系统的生成结果与 gpt-4o-mini-tts 进行头对头比较,评估情绪表现、外语词汇、副语言(叹气、笑声等)、复杂发音、疑问语气和句法复杂度六个维度。dots.tts 预训练版本以49.2%的总体胜率领先所有开源系统(50%以上表示超过参考系统),SOAR版本在句法复杂度上以65.7%的胜率不仅领先所有开源系统,甚至超过了 Gemini-2.5-Pro-TTS(61.8%)等商业系统,是表中全场最高分。预训练版本在情绪表现维度(72.7%)也领先所有开源系统。

十一、推理效率:54毫秒延迟,实时对话没问题

在单张 NVIDIA H800 GPU 上,使用 vllm-omni 框架(LLM部分用 vLLM 运行,AR-FM头和语义编码器用 torch.compile 编译),MeanFlow蒸馏4步版本的表现如下:普通模式下,从收到请求到第一包音频输出的延迟为85.4毫秒,实时因子(生成时长/音频时长)为0.231,即生成速度约是实时播放速度的4.3倍;交错双流模式下,延迟进一步降低到54.4毫秒,实时因子0.245。这两种模式都可以在普通硬件上轻松支撑实时对话应用。

说到底,dots.tts 做的这件事可以这样概括:它把"让AI说话"这个问题拆解成三个专门的模块,用语义编码器屏蔽掉声学细节对语言模型决策的干扰,用全历史条件保持长篇生成的风格一致,用自我纠错后训练弥合预训练和推理之间的差距,再用MeanFlow蒸馏把速度推到实时可用的水平。每一步都在解决具体的工程痛点,而不是泛泛地"加大规模"。

目前系统还有几个明确的局限。直接处理BPE文字对低资源语言的覆盖不够,导致阿拉伯语等语言的字错误率偏高,增加这些语言的训练数据或引入音素辅助输入是直接的改进方向。系统目前只在标准零样本条件下评测,还没有经过指令微调,无法通过自然语言指令控制说话风格(如"用慢速温柔的语气朗读这段文字")。虽然 AudioVAE 在原理上可以处理非语音的声音,但目前的骨干网络是在以语音为主的数据上训练的,唱歌和语音加环境声的混合生成在这个版本中尚未覆盖。此外,高保真声音克隆技术本身存在被滥用的风险,研究团队也在论文中明确提示使用者需要结合合规的参考音频授权政策、合成语音检测工具和内容水印机制负责任地使用。

感兴趣深入研究这套技术的读者,可以通过 arXiv 编号 2606.07080 查阅完整论文,也可以直接访问 GitHub(rednote-hilab/dots.tts)获取代码和模型权重。

Q&A

Q1:dots.tts 和普通 TTS 系统相比,有哪些实质性区别?

A:dots.tts 最大的不同在于它完全用连续数字向量来表示声音,而不是像大多数系统那样先把声音转成离散的"音频词汇"。这让它能更完整地保留音色、情绪等细腻特征。此外,它采用了独特的三模块分工架构(语义规划、音色渲染分离),配合自我纠错后训练机制,在长篇生成时比同类系统更稳定,不容易出现声音漂移。

Q2:dots.tts 的实时对话延迟是多少,在手机上也能用吗?

A:在单张 NVIDIA H800 GPU 上,dots.tts 交错双流模式的首包延迟约为54毫秒,普通模式约85毫秒,实时因子约0.23到0.25,生成速度约为播放速度的4倍。目前论文中只测试了服务器GPU,手机上的性能需要进一步优化,但研究团队已开放全套代码和模型权重,方便后续适配工作。

Q3:dots.tts 的声音克隆效果怎么样,克隆只需要几秒钟的参考音频吗?

A:在 Seed-TTS-Eval 测试中,dots.tts 的标准零样本协议使用约3秒参考音频进行克隆,在说话人相似度(SIM)上达到平均79.2分,中文子集更高达81.0分,是所有参与对比系统中的最高值。跨语言克隆(如用中文参考音频说英文)的相似度也比第二名高出约6到8个绝对点,说明音色与语言内容的解耦效果较好。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-