SoulX-DuoVoice 端到端全双工语音通话大模型

Soul App 正式升级 自研端到端全双工语音通话大模型

SoulX-DuoVoice 包含一个负责对话理解与生成的 Dialogue Model 和一个负责语音生成的 Speech Model。

新模型摒弃了传统语音交互中依赖的 VAD(话音激活检测)机制与延迟控制逻辑,打破行业中普遍存在的“轮次对话”模式,赋予 AI 自主决策对话节奏的能力。AI可实现主动打破沉默、适时打断用户、边听边说、时间语义感知、并行发言讨论等。同时,模型具备多维度感知(包括时间感知、环境感知、事件感知等),口语化表达(如语气词、结巴、明显情绪起伏),音色复刻等能力,让AI更具“真人感”,支持打造更沉浸、类现实交互的语音互动新体验。

SoulX-DuoVoice 核心技术架构

SoulX-DuoVoice 结构示意图

为了尽可能保证全双工对话模型的基础对话能力,避免模型 “降智”,SoulX-DuoVoice 采用了双 LLMs 的结构。具体而言,SoulX-DuoVoice 包含一个负责对话理解与生成的 Dialogue Model 和一个负责语音生成的 Speech Model。

  • Dialogue Model
  • 接收用户侧的语音 Tokens 作为输入;
  • 负责生成机器人对话的文本 Token 序列;
  • 向下游 Speech Model 传递高维语义上下文表示[应该会比语音token方法效果更好],确保跨模态信息的完整传递
  • Speech Model
  • 接收来自 Dialogue Model 的高维上下文表示和文本 Token 序列
  • 生成机器人侧的语音 Tokens 输出
  • 通过显式的高维上下文传递机制,有效缓解了文本与语音模态间的信息干扰问题。

数据及对话训练策略

  • 精准的说话时机建模
  • 模型通过建模预测静音(Silence)和响应(Response)Token 任务,实现机器人的完全自主决策能力,精准控制对话节奏中的沉默与发声时机。
  • 沉默持续时间建模(Silence Duration Token Prediction)
  • 训练阶段:显式建模静音持续时长预测任务显著提升模型训练效率与收敛速度;
  • 推理阶段:沉默持续时长建模有效规避了 LLM 解码过程中的重复问题,无需依赖复杂的解码惩罚机制,提升了输出语音的时序稳定性,同时显著减少解码步数,降低推理延迟。
  • 可控对话风格建模
  • 支持 Prompt 驱动的个性化对话生成,通过文本和音频 Few-Shot 学习机制,实现特定对话风格驱动。
  • 安全性对齐
  • 采用融合对齐算法与监督微调的混合损失函数设计(KTO-loss 与 SFT-loss 联合优化),显著提升机器人输出的安全性和可靠性。

此次Soul技术升级便重点聚焦在全双工实时语音通话能力在陪伴场景的交互突破。具体来看,升级后AI能力特点包括:

一、全双工语音交互,AI具备自主决策反应能力

新模型支持响应(Response)、倾听(Listen)与打断(Interrupt)流式预测,AI自主决定发言时机,实现完全端到端的全双工交互——AI 与用户可以同时说话(如辩论、吵架、合唱)、适宜打断用户/被用户打断、AI主动打破沉默发起话题。

当AI拥有自主决策反应能力,在边听边说中,掌握互动时机、互动内容的“主动性”,将极大提升人机对话的自然度,并且在较长时间、多轮对话的交互中,实现沉浸的类真实交互体验。

二、日常表达口语化和情感化,情绪更鲜明的人机交互

让AI更具“真人感”,这包括在情绪表达、发音特点、对话内容等多维度的综合指标提升,更加接近现实表达。例如,情绪表达方面,除了具备笑、哭、生气等情绪特色外,新模型的声音情绪起伏更加明显,并能结合对话推进实现同步变化。在发音特点上,具备语气词、结巴、常用口头禅、咳嗽等日常语音元素。此外,AI对话的内容更加口语化、社交化,而非书面语言。

三、时间、事件、环境感知能力,互动更具沉浸感

Soul的新模型基于纯自回归模型架构,统一文本和音频生成(Unified Model),充分利用大语言模型强大的学习能力,让AI发言深度整合人设、时间、环境及上下文对话等信息。这意味着,具备感知、理解能力的AI能够更好塑造“数字人格”,形成丰富的AI故事线,让人机交互真正成为“情感与信息的双向交流”。

值得关注的是,Soul AI团队正在积极推进全双工语音通话模型在多人交互场景的创新应用。该技术突破使得AI在多人语音对话中能够基于智能决策算法,精准把握发言时机,有效引导话题讨论并实现深度延伸,从而在复杂社交场景中构建更自然的交互体验。

Recent Advances in Speech Language Models: A Survey

本文对语音语言模型 (SpeechLM) 领域进行了综述。

想象一下,如果 AI 能够像人类一样自然地进行语音对话,不再需要传统的「语音转文字(ASR)- 文本大模型处理(LLM)- 文字转语音(TTS)」的繁琐流程,而是直接理解和生成语音,那将是怎样的体验?这就是语音大模型(语音语言模型,SpeechLM)要解决的核心问题。

传统的语音交互系统存在三大痛点:信息丢失、延迟严重、错误累积。当语音转换为文字时,音调、语气、情感等副语言信息完全丢失;多个模块串联导致响应延迟明显;每个环节的错误会层层累积,最终影响整体效果。

SpeechLM 的出现彻底改变了这一局面。它能够端到端地处理语音,既保留了语音中的丰富信息,又大幅降低了延迟,为真正自然的人机语音交互铺平了道路。

技术架构:三大核心组件构建语音智能

本论文深入剖析了 SpeechLM 的技术架构,发现其由三个关键组件构成:语音分词器、语言模型和声码器。

  • 语音分词器(Speech Tokenizer)负责将连续的音频信号转换为离散或连续的 token 表示。根据建模目标的不同,可以分为语义理解型、声学生成型和混合型三类。语义理解型专注于提取语音的语义内容,声学生成型则重点保留音频的声学特征,而混合型试图兼顾两者的优势。
  • 语言模型(Language Model)是整个系统的核心,主要采用基于 Transformer 的自回归架构。通过扩展词汇表实现同时处理文本和语音 token,实现真正的多模态建模能力。
  • 声码器(Token-to-wav Synthesizer,Vocoder)则将语言模型生成的 token 转换回可听的音频波形,完成从抽象表示到具体语音的最后一步转换。

训练策略:从预训练到指令微调的完整流程

训练一个高质量的 SpeechLM 需要精心设计的训练策略。我们的综述详细梳理了当前主流的训练方法,包括三个关键阶段。

预训练阶段是基础,可以选择冷启动或继续预训练两种方式。冷启动从零开始训练,而继续预训练则基于已有的文本语言模型进行适配,后者通常能获得更好的效果。关键在于如何有效对齐文本和语音的表示空间,使模型能够充分利用两种模态的共同信息与互补信息。

指令微调阶段让模型学会遵循各种指令执行不同任务。研究者们通过构建大规模的指令跟随数据集,让 SpeechLM 具备了处理多样化语音任务的能力。

后对齐阶段则通过人类反馈强化学习等技术,进一步优化模型的输出质量和安全性,确保生成的语音既自然又符合人类偏好。

交互范式:实现真正自然的语音对话

语音交互的未来不仅在于理解和生成,更在于如何实现真正自然的对话体验。传统的语音交互采用「你说完我再说」的模式,但真实对话中人们经常会打断对方或同时说话。为了让 AI 具备这种自然对话能力,研究者们正在开发具有实时交互能力的 SpeechLM。

关键突破在于全双工建模技术,它包括两个核心特性:用户中断能力,即模型可以被用户打断并适当响应;同时响应能力,即模型能够在处理输入的同时生成输出。通过流式处理和全双工架构,SpeechLM 能够支持真正的双向同时通信,让人机交互变得更加自然流畅。

应用场景:重新定义人机交互的边界

SpeechLM 的应用潜力远超我们的想象。在语义相关应用方面,它能够进行自然的语音对话、语音翻译、自动语音识别、关键词检测等任务。更重要的是,这些任务都可以在统一的框架下完成,无需针对每个任务训练专门的模型。

在说话人相关应用中,SpeechLM 展现出了强大的说话人识别、验证和分离能力,甚至可以根据指令生成特定音色的语音。这为个性化语音助手和多人对话系统开辟了新的可能性。

最令人兴奋的是副语言学应用,SpeechLM 能够理解和生成带有特定情感、语调和风格的语音。它不仅能识别说话者的情绪状态,还能根据指令生成相应情感色彩的语音回应,让人机交互变得更加生动自然。

评估体系:多维度衡量模型性能

如何科学评估 SpeechLM 的性能是一个重要课题。我们的论文系统梳理了当前的评估方法,包括自动评估和人工评估两大类。

自动评估涵盖了表示质量、语言学能力、副语言学特征、生成质量和多样性、实时交互能力以及下游任务性能等多个维度。每个维度都有相应的指标和基准测试,为模型比较提供了客观标准。

人工评估则主要通过平均意见分数(MOS)等主观指标,从人类感知的角度评估语音的自然度、韵律质量和音色相似度等特征。

挑战与未来:通往通用语音智能的道路

尽管 SpeechLM 取得了显著进展,但仍面临诸多挑战。组件选择的最优化、端到端训练、实时语音生成、安全风险防控以及稀有语言支持等问题都需要进一步研究。

特别值得关注的是安全性问题。SpeechLM 可能生成有害内容或泄露隐私信息,如何建立有效的安全防护机制是当务之急。同时,如何让 SpeechLM 更好地服务于资源稀缺的语言和方言,也是推动技术普惠的重要方向。

Hibiki- 流式语音翻译[Kyutai]

[Read the paper] [Samples] [HuggingFace]

Hibiki——一款 支持实时、高保真、设备端运行的语音到语音翻译模型。它基于 Moshi 所构建的核心思想和架构,借助自研的合成数据实现高效训练,并支持在移动端进行推理。Hibiki 能忠实传递原说话者的声音特性和语流,其质量和自然度在现有模型中最贴近人工翻译的效果。 Hibiki 的推理代码与模型权重开源,同时在研究论文中公开了所有训练细节。

什么是 Hibiki? Hibiki 是一款用于流式语音翻译的模型(也称为同声传译模型)。与传统的离线翻译不同(离线翻译需等到说话人完整表达完毕后才开始翻译),Hibiki 能动态地积累刚好足够的上下文,并实时逐段输出准确的翻译内容。当用户说话时,Hibiki 会一边生成目标语言的自然语音(含声音迁移),一边输出对应的文字翻译。

架构:Hibiki 是一个仅包含解码器的同声传译模型。Hibiki 利用 Moshi 的多流架构,同时建模源语音和目标语音。这使得 Hibiki 能够在生成目标语音的同时持续处理输入音频流。Hibiki 以恒定的 12.5Hz 帧率生成文本和音频标记,从而实现连续的音频输出流,并附带带时间戳的文本翻译。Hibiki 的主干模型包含 20 亿个参数。我们还训练了一个移动版本 Hibiki-M,具有 10 亿个参数,用于设备端推理。

训练:Hibiki 依赖于对来自同一说话人的源语音与目标语音及文本之间对齐数据的监督训练。由于此类数据的实际数量非常有限,我们依赖于合成数据生成。在源语言和目标语言的转录文本之间,通过一种上下文对齐的弱监督方法进行词级匹配,该方法利用了一个现成的 MADLAD 机器翻译系统。由此得出的对齐规则是:一个词应当仅在可以根据源语言预测出来时才出现在目标语言中。这一规则通过插入静音或使用具备语音控制和对齐感知能力的语音合成系统(TTS)生成目标语音来实现。

推理:Hibiki 会持续编码源语音并生成目标语音。Hibiki 依赖简单的温度采样,因此兼容批处理,不同于依赖复杂推理策略的模型。此外,Hibiki 的语音转换保真度可以通过调整无分类器引导(Classifier-Free Guidance)的系数来控制:系数越大,语音相似度越高,但系数过大会导致翻译质量下降。Hibiki 目前仅支持法语到英语的翻译。得益于其仅解码器架构,Hibiki 可在单个 H100 GPU 上批处理最多 320 条并行翻译(使用无分类器引导时为 160 条)。其更小的替代模型 Hibiki-M 可以在智能手机硬件上本地运行。当前模型训练时支持最长 120 秒的序列,使用 40 秒的上下文窗口。

  • High-Fidelity Simultaneous Speech-To-Speech Translation
  • 摘要:

    Hibiki 利用多流语言模型同步处理源语音和目标语音,并联合生成文本和音频标记,以实现语音到文本和语音到语音的翻译。还解决了同步传译中的挑战,这与其顺序式翻译不同—后者在源语句结束后才开始翻译,而同步传译需要在实时过程中根据上下文的积累逐步生成准确的翻译。为此,我们引入了一种弱监督方法,该方法利用现成文本翻译系统的困惑度,按词识别最优延迟,并构造对齐的合成数据。在监督训练之后,Hibiki 可通过标准的温度采样方法实现自适应的同步语音翻译。在法语-英语同步语音翻译任务中,Hibiki 在翻译质量、说话人一致性和自然度方面展现了当前最先进的性能。

    Introduction

    为了训练 Hibiki,我们通过对单语音频的转录文本进行翻译与再合成,生成合成的平行数据。尽管这提供了在序列层面对齐的输入输出对,但无法学习细粒度的对齐信息。为此,我们引入了“上下文对齐”方法,这是一种基于现成机器翻译系统困惑度的简单方法,用于推导词级对齐。随后通过在目标语音中适当插入静音,使 Hibiki 能够在不依赖复杂推理策略的前提下,实现实时自适应的翻译流程。

    困惑度(Perplexity)是一种衡量语言模型预测样本的好坏的指标,常用于自然语言处理中。如果一个模型预测得越准确,则其困惑度越低。
    
    想象你在玩一个猜词游戏。你的朋友正在说一个句子,说到一半突然停下来,让你猜下一个词是什么。比如:
    
    "今天天气真..."
    "我想吃一碗..."
    如果你能很容易地猜出下一个词(比如"好"或者"面"),说明这个句子对你来说"困惑度很低"。 如果你完全猜不到下一个词会是什么,那么这个句子对你来说"困惑度很高"。
    
    在人工智能和语言模型中,困惑度就是用来衡量模型对文本的预测能力:
    
    困惑度越低 = 模型越自信 = 预测越准确
    就像你很容易猜到"今天天气真好"中的"好"一样
    困惑度越高 = 模型越困惑 = 预测越不确定
    就像面对"今天我遇到了一只..." 这样的句子,下一个词可能是"猫"、"狗"、"兔子"等很多可能,很难准确预测

    此外,鉴于训练数据中说话人相似度差异较大,我们提出为训练样本标注说话人相似度类别。该方法避免了对训练数据的过滤,同时在推理阶段通过无分类器引导(classifier-free guidance)倾向生成说话人高度相似的语音输出。

    方法

    我们考虑一个源语言的语音话语,将其表示为单声道波形X∈Rfs​⋅d,采样率为 fs=24kHz,时长为 d。类似地,其目标语言的翻译表示为 Y∈Rfs​⋅d。我们假设对 X 进行了填充,以确保 X 和 Y 拥有相同的时长。我们的目标是建模条件概率 P[Y∣X]。此外,我们增加了一个约束:在已知 X 的情况下对 Y 的建模应具有因果性,并且相对于源语音具有最小延迟,例如与人工同声传译员在实时翻译场景中所面临的约束相同。

    为了通过监督学习学习这一约束,目标语音 Y 本身必须构建为满足因果性约束。我们首先假设 Y 满足这一约束,并介绍如何对其分布进行建模。随后,我们引入一个信息论准则,用以验证 Y 相对于 X 是否具有因果性并进一步将一个非因果的翻译转换为一个因果的翻译

    模型

    以 Moshi框架为基础,对从神经音频编解码器中获得的多个离散标记序列进行联合建模。

    Neural audio codec

    我们使用预先训练的因果和流式 Mimi 编解码器将 X 和 Y 编码为低帧率的离散标记序列。

    编码器将持续时间为 d 的输入波形转换为一个潜在向量 U∈RC×fr⋅d,其中 C是潜在空间的维度,帧率 fr​=12.5 Hz。随后,U被投影到其在一个包含NA​ 个条目的码本中的最近邻。该投影的残差接着被投影到另一个具有相同大小的码本中,如此重复,直到完成 Q 次投影。最后一次的残差被舍弃,解码器则被训练为从这些投影张量的总和中重构原始输入波形。

    在语言建模任务中,我们关注的不是量化后的潜在向量及其残差,而是其在码本中投影对应的离散索引。我们将这些索引表示为 (At,q)∈{1,…,NA}fr⋅d×Q。在 Mimi 中,帧率为 fr=12.5 Hz,投影次数 Q 最多为 32,但我们实际使用不超过 16 个。

    第一层量化输出被训练用于复现来自 WavLM 自监督音频模型中获得的语义信息。我们将 At,1​ 称为语义标记(semantic tokens),而将 At,q≥2​ 称为声学标记(acoustic tokens)

    这些声学标记按从粗到细的层级排列:前几层承载最重要的音频信息,后续层则建模更精细的音频细节,从而确保感知上的平滑与自然性。

    Joint modeling of discrete audio tokens

    音频流的离散标记无法轻易地被压缩为一个具有合理基数和帧率的单一离散序列。因此,我们采用 RQ-Transformer在时间轴 t 和量化器轴 q上联合建模 At,q。

    该模型由一个大型的 时序 Transformer(Temporal Transformer) 组成,其运行帧率与编解码器相同,即 fr,并接收至今为止生成的所有标记作为输入,即所有 t≤fr的标记

    A0 被定义为指示生成开始的确定性标记。然后,较小规模的深度变换器在量化器轴上对标记 At,1,…,At,Q 进行自回归建模,例如,对于所有 t≤fr⋅d 和 q≤Q :

    At,0 也是一个特殊令牌,其目标是:

    我们进一步引入了2个时间步长的声学延迟,这意味着我们建模的是 τ(A)t,q而非直接的 At,q。

    0 为特殊标记。在使用编解码器解码音频之前,会移除延迟。

    生成“内心独白”(即与生成音频内容对齐的填充文本标记)有助于提升生成音频的质量和稳定性

    Translation as multistream modeling

    我们已经介绍了方程(1)和(2)中的 RQ-Transformer 如何实现对多路离散标记流的联合建模。我们将该框架改编用于联合语音到语音与语音到文本的同步翻译任务。具体做法是将目标译文 Y 的音频标记 AY 与源语音 X的标记 AX 在量化器维度 q 上进行拼接,即:

    Hibiki 还预测一个文本流 Wt​,对应于输出 Y 的转录文本,并在词与词之间加入足够的填充以保证其与音频保持对齐。需要注意的是,与以往多任务翻译工作不同,Hibiki 在推理阶段主动利用了这一能力。这里我们用 Wt表示文本流,其基数为 NW​,且帧率与音频流相同,均为 fr​。

    Alignment and synthetic interpretation data

    我们假设对 (X,Y) 尊重同声传译的限制。 我们现在引入一个无监督的标准来估计和执行因果关系 源语句和目标语句之间的依赖关系。

     文本域比齐

    我们首先在文本域中形式化地表达这些约束。设 S=(S1,…,Sn)表示源语句 X中的词序列,T=(T1,…,Tm) 表示目标语句 Y 中的词序列。

    理想对齐(Ideal alignment):我们希望定义一个理想的对齐序列 (ajideal​)∈{1,…,n}m,其中 ajideal​ 表示第 j个目标词 Tj 在生成前应等待的源词 Si​ 的索引,以最小化对 Tj​ 的不确定性。

    若训练使用的对齐比 aideal 激进(即目标词提前生成),则模型在推理时可能出现幻觉现象(hallucination);而若对齐更保守(即目标词延后生成),则模型依然保持因果性,但会引入额外的延迟

    上下文对齐(Contextual alignment)

    我们引入一个标准来估计  aideal  。我们将其表示为条件对数似然:

    我们预期 logpj,i​ 随着 i 的增加而上升,因为更多的上下文信息通常更有利于生成正确的翻译。我们的假设是,对于某个目标词 Tj​,增量 δj,i=log⁡(pj,i)−log⁡(pj,i−1) i=aj​ 时达到最大值。也就是说,j个目标词的生成在该位置获得了最大的上下文收益

    为估计 log⁡(pj,i),我们使用现成的文本翻译语言模型 MADLAD-3B,将其输入截断为前 i 个源词,并计算预测第 j个目标词的对数概率log(p^​j,i)。据此,我们定义了一种上下文对齐方法,用以估算每个目标词最优的等待位置,并以图 3 的形式加以示意。

    图3:我们使用一个预训练的文本翻译模型,计算目标词 “into” 在不同输入截断条件下的对数似然(log-likelihood)。当对应的源词 “en” 出现在输入中时,我们观察到“into”的对数似然显著上升(详见公式(6))。这表明该源词提供了关键的上下文信息,从而支持了我们对最优对齐点的判定方法。

     音频域对齐

    给定一对语音对齐样本 (X,Y),我们使用 Whisper 模型对其进行转录并提取时间戳,然后应用公式(6)计算对齐位置。如果目标语句 Y 中第 j 个词的时间戳在源语句 X 中第 ajctx​ 个词之后,则认为该对齐 ( ajctx​ ) 是被遵守的。

    为了降低对齐错误的影响,我们要求目标语音 Y 相比上下文对齐结果至少滞后 2 秒;同时,我们会排除局部延迟中高于滑动窗口(5 个词)平均延迟 25% 的“尖峰”异常【某个词的时间延迟相对于其上下文明显偏高,高出周围词平均延迟的 25% 以上】。

    静音插入(Silence insertion)

    若 Y 不满足对齐要求,可通过在目标词前插入适量静音段来调整其时序,如图 1 所示。然而该方法存在两点限制:

    1. 当时间戳不准确或词之间没有自然停顿时,静音插入可能造成生硬的语音切断;
    2. 调整后的 Y 可能相对理想对齐严重滞后,例如当 Y的语速慢于 X 时。

    该方法用于语音翻译训练阶段的样本对齐。

    对齐感知的语音合成(Alignment-aware TTS)

    为了获得更加自然的对齐语音数据,我们使用具备硬性与软性位置控制能力的 TTS 模型对 Y 进行(重新)合成,同时保留对说话人风格的准确建模。这种方法不仅可以生成对齐更好的训练数据,还可提升词错误率(WER)和说话人相似度。

    我们训练一个 TTS 模型,其输出同时包括音频和与之同步的文本序列,并在输入中加入说话人条件。文本流被强制与目标文本完全一致,模型仅允许插入填充标记。音频输出相对于文本是滞后的,以便其内容受文本控制,不论是内容还是时间戳。

    当 TTS 提前于对齐点 actx 时,填充标记会被强制插入以延迟下一个词的生成;当 TTS 滞后于目标时,会在填充标记的 logits 上施加惩罚,惩罚值随着滞后时间从 1 秒增加到 2 秒时线性从 0 增加到 -2。这样能平滑提升语速,从而追上源语音的节奏。

    我们对每个输入生成 6 到 8 个候选样本,优先根据词错误率选出最佳结果,其次考虑说话人相似度。该方法仅应用于语音翻译微调数据集的构建。

    声音迁移(Voice Transfer)

    改进语音迁移数据:在训练带有声音迁移功能的语音翻译模型时,通常采用同一说话人的合成配对序列进行监督训练。然而,图 4 显示,该数据集中源语音和目标语音的说话人相似度(以说话人嵌入的余弦相似度衡量)平均仅为 0.23,相当低。作为参考,当前最先进的跨语种声音迁移系统的平均说话人相似度约为 0.40。因此,我们使用对齐感知的 TTS 重新生成了 CVSS-T 数据,这使得迁移语音可以更好地保留说话人特征。如图 4 所示,重新合成后的 CVSS-T 数据的平均说话人相似度提升至 0.47。尽管如此,我们的训练数据混合了合成数据与重新合成的 CVSS-T,整体相似度仍分布较广泛,其中仍有大量样本低于 0.40。

    条件训练(Conditional Training)如果直接筛选出说话人相似度高的数据用于训练,确实可以提高声音迁移效果,但会导致训练样本显著减少,从而可能损害翻译质量。例如,若仅保留说话人相似度大于 0.40 的样本,将导致 训练数据减少约 45%。因此我们采用条件训练(conditional training),在训练过程中告知生成模型每个样本在声音迁移方面的可靠性。我们为每个训练样本打上一个离散的“声音迁移评分”,其标签来自以下集合:

    { very_bad, bad, neutral, good, very_good }
    

    评分依据是说话人相似度的分位数划分,每个评分标签对应一个可学习的嵌入(embedding),在模型的每个时间步加入输入中。值得注意的是,这些分位点是在合成数据和 CVSS-T 数据合并前计算的,以确保模型学习的是实际的说话人相似度,而不是将某标签“误绑定”到某特定数据集。在推理阶段,我们始终传入 “very_good” 标签,以期生成具有良好说话人保持能力的语音。

    无分类器引导(Classifier-Free Guidance)我们采用**无分类器引导(classifier-free guidance)**来增强条件训练的效果。具体做法是:分别使用 very_goodvery_bad 条件下计算输出 logits,然后结合两者以调整采样过程,从而增强模型在推理时对说话人风格的控制能力。

    这与实时推理兼容,因为它能以批大小为 2 同时生成两组 logits。结果表明,这种方法能显著提升语音转换效果。

    Experiments

    训练策略

    通过以下步骤训练一个法语-英语的语音翻译系统:

    文本预训练。 我们首先在多语言的纯文本数据上,从头开始预训练 Temporal Transformer,采用下一个词预测任务

    音频预训练。 在预训练好的文本模型基础上,使用非平行的法语和英语数据,在单流设置下进行音频预训练

    语音翻译训练。 我们构建了一个约包含 4 万小时法语和英语语音的翻译数据集。首先从一批富有表现力的法语音频中提取约 230 万条单说话人的语音片段,每段时长约 60 秒。我们使用 Whisper的 large-v3 模型对这些片段进行转录,并借助 PySBD将转录文本分句,然后使用 MADLAD-3B分别翻译每个句子,最后重新拼接成英文翻译文本。我们利用 TTS 系统合成语音,条件是原始法语说话人的身份(使用一段 10 秒的语音)。我们应用静音插入技术,以获得同声传译的语音对。

    我们进行基于说话人相似度的条件训练,并对源语音频施加噪声增强。在每对训练数据中,我们在源语音流中语音结束后首帧加入一个特殊的输入 EOS 标记,在文本流中也加入另一个特殊 EOS 标记,指示模型生成语音的结束。

    语音翻译微调。 我们使用引入的对齐感知 TTS 技术,构建了一个包含长句式的合成数据集,并改进了 CVSS-T/train 数据集,具有自然停顿和较高的说话人相似度,总计约 900 小时。

    Hibiki-M 的训练。 其训练流程与 Hibiki 相同,先进行文本和音频预训练。在语音翻译训练阶段,通过软蒸馏从 Hibiki 获得知识,再进行相同的微调步骤(不再进行蒸馏)。

    推理:

    我们使用流式编解码器对音频进行编码,并将生成的 token 输入 Hibiki,同时解码输出 token 以获得流式翻译。在输入结束时,我们向模型发送一个 EOS(结束)标记,并持续采样,直到模型自行生成一个 EOS。推理参数通过对 Audio-NTREX 的保留 8% 数据和 CVSS-C 的验证集分别进行交叉验证来确定。对于 Audio-NTREX,最优参数为 γ = 3.0,温度为 0.8,audio token 的 top-k 为 250,text token 的 top-k 为 50。在 CVSS 上,除了对 text token 使用温度为 0.1 的采样外,其余配置相同。我们推测,较低的文本采样温度通常有助于提升翻译质量,但可能导致模型过早生成 EOS 标记

    Results

    表 1: 与离线基线系统的对比结果。我们还报告了一个闭源流式模型(*)的性能,因为它采用了相同的评估协议。

    表 1 将 Hibiki 与在翻译时可以访问完整源音频的离线基线模型进行了比较。尽管 Hibiki 进行的是同声传译,但它的表现优于所有模型,包括 StreamSpeech 的离线版本。表 2 将 Hibiki 与可用的同声传译基线模型进行了对比。在短格式设置中,我们的模型优于 StreamSpeech 和 Seamless,但平均延迟时间增加了 0.7 秒。长格式数据集的挑战更大,因为 StreamSpeech 无法生成清晰易懂的翻译。Hibiki 的表现优于 Seamless,但延迟时间平均高出 0.8 秒。

    音频保真度。

    如表 2 所示,关于说话人相似度的客观评估结果表明,Hibiki 在语音转换方面显著优于 Seamless(我们未评估 StreamSpeech,因为它不执行语音转换)。表 3 中的人类评估结果进一步验证了这一点,并显示 Hibiki 在音质和自然度方面远高于 Seamless,接近专业人工口译音频的真实水平。

    这意味着 Hibiki 不仅能够生成高质量的音频,还能在语流中插入流畅且自然的停顿。

    消融实验:对齐策略。
    我们将所提出的上下文对齐方法与其他方案进行比较。表 4 显示,在训练时对目标语音不施加延迟会导致翻译质量非常低,这是可以预期的,因为模型缺乏足够的上下文来生成翻译。为训练样本添加延迟能够提升 ASR-BLEU 分数,其中 10 秒的延迟表现为一个合理的选择;但平均延迟(以 LAAL 表示)比使用上下文对齐差得多,因为模型无法根据上下文自适应调整生成节奏。“句子对齐”作为常量延迟与上下文对齐之间的折中方案,将每个输出句子的起始时间对齐到相应源语句子的结束时间。这种做法提高了翻译质量,但延迟反而更严重。

    总体而言,上下文对齐在翻译质量与延迟之间提供了最佳平衡。


    消融实验:无分类器引导(Classifier-free guidance)。
    表 5 显示,使用“very good”标签时,说话人相似度为 0.42,与 Seamless(0.43)相当。采用无分类器引导(γ = 3.0)可以显著提升说话人相似度,同时不会明显损害翻译质量。但如果权重设得过高,模型性能会下降,表现为生成的语音不可理解。

    附录中有趣地展示了:将 γ 增大到极端值时,会导致生成的语音出现夸张的法语口音(即我们的实验中使用的源语言),我们认为这是由于用于标注数据的说话人模型存在偏差所致。


    消融实验:通用消融。
    同时预测文本 token 如何作为语音生成的框架。表 4 验证了这一点:将 Hibiki 作为单模态模型训练(即不预测文本输出),会导致性能大幅下降;同样地,从一个预训练文本语言模型出发,直接进行语音到语音翻译(S2ST)训练,效果也很差。

    推理能力

    批量推理。Hibiki 的推理采用恒定帧率下的温度采样,这使得流式的无分类器引导和多个语音源的并行处理变得非常简单。这一点不同于 Seamless 和 StreamSpeech,它们的推理策略更复杂,需对每个序列做出动态且不规则的决策,因而难以批量处理。图 5 显示,即便同时处理 320 条语音序列(或在无分类器引导下处理 160 条),Hibiki 在 H100 上仍能保持快于实时的推理速度。

    端侧推理。我们蒸馏得到的 Hibiki-M 在短文本和长文本翻译任务上都能与 Seamless 相媲美,如表 2 所示。我们将其在长音频上的较低说话人相似度归因于其建模的量化器数量较少(8 个而非 16 个),这使得音频比特率降低了一半。图 6 展示了 Hibiki-M 在 iPhone 16 Pro 上的推理轨迹。即使使用支持无分类器引导所需的批量大小为 2,Hibiki-M 在一分钟的推理过程中仍能保持快于实时的速度。若使用滑动窗口注意力对 Hibiki-M 进行训练,还可进一步提升其实时性能。


    局限性

    本研究仅聚焦于一个翻译任务(法语到英语),若扩展到更多语言,可能需要借助 MADLAD 这类大规模多语言模型,但这也意味着需为更多语言训练相应的 TTS 系统。此外,虽然 Hibiki 在与 CVSS-C 的真实目标对比时能达到 35.5 的 ASR-BLEU 分数,但若将其输出与 MADLAD 的文本翻译对比,则可达到 47.9 的 ASR-BLEU。这表明 Hibiki 非常擅长生成与 MADLAD 类似的翻译结果;若使用更优或更丰富的伪目标(pseudo-target)对其进行训练,Hibiki 有望进一步提升相对于真实目标的翻译质量。

    Kyutai’s STT and TTS:Delayed Streams Modeling framework

    关于Kyutai:Kyutai 是一家位于法国巴黎的非营利性人工智能研究实验室,成立于 2023 年 11 月。该实验室致力于推动人工智能的开放研究,特别关注多模态大模型的开发与创新算法的研究,旨在提升 AI 的能力、可靠性和效率,并促进其民主化。

    延迟流建模 (DSM) :一种用于解决多种流式 X 到 Y 任务的技术(其中 X 和 Y 可以是语音或文本),它将我们在 MoshiHibiki 中采用的方法形式化了。

    Kyutai STT

    Kyutai STT 是一种流式语音转文本模型架构,在延迟与准确率之间实现了无与伦比的平衡,非常适合交互式应用。它支持批处理,可在单个 GPU 上处理数百条并发对话。发布了两个模型:

    • kyutai/stt-1b-en_fr:一个低延迟模型,支持英语和法语,并内置语义级语音活动检测器
    • kyutai/stt-2.6b-en:一个更大的仅支持英语的模型,经过优化以实现尽可能高的准确率

    Streaming and accurate: 在英文测评集上的WER指标

    Word error rate, lower is better.

    Kyutai STT 是一个流式模型,这意味着它在接收音频的同时实时转录,而不是假设音频在开始处理前已全部可用。这使其非常适合诸如 Unmute [Make any LLM listen and speak using Kyutai’s speech-to-text and text-to-speech.] 之类的实时应用。

    它输出格式良好的转录文本,包含标点符号,同时还提供词级时间戳

    在准确性方面,它的表现仍可与那些能够一次性访问完整音频的最先进非流式模型相媲美

    语义语音活动检测器

    对于像 Unmute [Make any LLM listen and speak using Kyutai’s speech-to-text and text-to-speech.] 这样基于串联式语音对话的应用程序,需要一种方式来判断用户是否已经说完,以便生成回应。最常见的方法是使用一个独立的语音活动检测(VAD)模型,判断用户是否在说话,并在用户说完之后等待一个固定的时间。但在实际应用中,不可能找到一个适用于所有情况的等待时间。人们在说话时经常会出现长时间停顿,这会导致这种朴素方法出现误判。

    为了解决这个问题,Kyutai STT 不仅预测文本,还预测用户是否已经说完话的概率。对于停顿的判断延迟会根据用户说话的内容和语调自适应调整。

    低延迟

    kyutai/stt-1b-en_fr延迟设定为 500 毫秒,也就是说,每个词会在说出后约 500 毫秒被转录。而 kyutai/stt-2.6b-en 的延迟为 2.5 秒

    在 Unmute [Make any LLM listen and speak using Kyutai’s speech-to-text and text-to-speech.]中,我们使用一种称为 “flush trick”(刷新技巧)的方法来进一步降低响应延迟。当语音活动检测器预测用户已经说完时,我们还需再等 500 毫秒(即 STT 模型的延迟),以确保不会截断转录的结尾部分。

    为了减少这段延迟,我们利用了语音转文本服务器“比实时更快”的处理能力。当检测到说话结束时,我们请求 STT 服务器尽可能快地处理此前已发送的音频。服务器的运行速度约为实时的 4 倍,因此可以在大约 125 毫秒内处理这段 500 毫秒的音频(即 500ms ÷ 4 = 125ms)。通过这种方式,我们“扭曲时间”,只需等待这 125 毫秒,即可确保所有内容已被转录。

    高吞吐量

    Kyutai STT 非常适合在生产环境中部署:在一块 H100 GPU 上,它可以同时转录 400 路实时音频流。这得益于其采用的延迟流建模架构(见下文),该架构允许我们在无需任何额外“粘合代码”的情况下,以大批量运行模型,并实现流式处理。

    相比之下,将 Whisper 改造成流式模型需要一个完全独立的研究项目——Whisper-Streaming。该系统会反复在最近几秒的音频上运行 Whisper,并将重叠的转录结果拼接在一起。

    Whisper-Streaming 在技术上令人印象深刻,但它不支持批处理,这导致吞吐量大大降低。若目标延迟更低,其吞吐量会进一步下降,因为需要更频繁地重新运行 Whisper。

    延迟流建模

    Kyutai STT 的主要创新是一种在 Kyutai 开发的技术,称为延迟流建模(delayed streams modeling),最早在 Moshi 项目中率先使用了这一方法。

    传统的语音转文本方法通常是将整段音频一次性输入模型,并由模型逐步(自回归地)生成文本。例如,Whisper 就是这样做的,它使用的是编码器-解码器结构的 Transformer 模型。

    在 Kyutai STT 中,将数据表示为时间对齐的文本流和音频流。本质上,音频和文本是“并列”存在的,而不是一个接着另一个。文本流会进行填充,以确保文本的时间与音频对齐。只是将文本流延迟了几个帧,以便语音转文本模型能够进行一定程度的前瞻。

    使用这种表示方式的文本-音频数据来训练 Kyutai STT,教它同时建模音频流和文本流。在推理阶段,我们保持音频流固定,实时输入接收到的音频,利用模型预测文本流

    这种方法的另一个巧妙之处在于其对称性。我们可以通过延迟音频流而非文本流,并保持文本固定(教师强制),来实现文本到语音的转换,进而预测音频为使模型能够预测填充符号以对齐文本流和音频流的时间,需要一些技巧

    Kyutai TTS

    Kyutai 文本到语音(TTS)最初是我们在 Moshi 开发过程中使用的内部工具。作为我们对开放科学的承诺的一部分,我们现在向公众发布了改进版的 TTS:kyutai/tts-1.6b-en_fr,一个拥有 16 亿参数的模型。该模型包含多项创新,使其特别适合实时使用。

    State of the art

    Kyutai TTS 在文本到语音领域树立了新的技术水平。词错误率(WER)衡量 TTS 未能准确遵循文本脚本的频率。说话人相似度则是评估在语音克隆时生成音频与原始样本声音相似程度的指标。我们在 NTREX 数据集中,选取了 15 篇英文和 15 篇法文新闻文章,对 Kyutai TTS 与其他模型进行了对比。除 Kyutai TTS 和 ElevenLabs 外,所有模型均按句子逐句生成,因为我们观察到这样能获得最佳效果。

    适合大语言模型(LLM)

    Kyutai TTS 无需提前获取完整文本,从接收到第一个文本标记到生成第一段音频的延迟为 220 毫秒。在 Unmute.sh 部署环境中,我们通过批处理同时处理最多 32 个请求,使用 L40S GPU 测得的延迟约为 350 毫秒。

    其他被描述为流式的 TTS 模型仅在音频上实现流式处理,仍然需要提前知道完整文本。

    Kyutai TTS 是首个同时支持文本流式处理的文本到语音模型。你可以边由大语言模型生成文本边输入,Kyutai TTS 会即时开始处理,从而实现超低延迟。这在大语言模型生成耗时较长的情况下尤为有用,比如资源受限环境或生成长文本段落时。

    文本流式处理得益于下文详细介绍的延迟流建模技术。

    语音克隆

    为了指定语音,我们使用一段 10 秒的音频样本。TTS 能够匹配源音频的声音、语调、说话习惯和录音质量。

    长时段生成

    大多数基于 Transformer 的 TTS 模型针对生成少于 30 秒的音频进行了优化,通常不支持更长时间的生成,或者在处理较长音频时表现不佳。Kyutai TTS 在生成更长时段音频方面没有任何问题。

    词级时间戳

    除了音频本身,Kyutai TTS 还会输出生成词语的精确时间戳。这对于为 TTS 提供实时字幕非常有用。

    延迟流建模

    Kyutai TTS 独特的能力,如文本流式处理、批处理和时间戳功能,均得益于 Kyutai 开发的一项技术——延迟流建模,该技术最早由我们在 Moshi 项目中开创。

    传统使用语言模型进行文本到语音转换的方法,是基于输入文本与音频的分词输出拼接在一起进行训练:

    这意味着这些模型是流式的,但仅限于音频:在已知完整文本的情况下,它们开始生成音频,并允许你在生成过程中访问部分结果。然而,完整文本仍需提前获知。

    而在 Kyutai TTS 中,我们将问题建模为时间对齐的文本流和音频流。本质上,音频和文本是“并列”存在的,而不是一个接着另一个。我们只是将音频流延迟了几个帧,以便文本到语音模型能够进行一定程度的前瞻:

    这意味着一旦知道了前几个文本标记,无论最终文本多长,我们都可以开始流式输出音频。

    在输入端,我们接收到一个没有时间信息的词语流,但模型需要使用填充符使文本流与音频对齐。这就是动作流(action stream)的作用:当它预测到 [word] 时,表示“我已完成当前词的发音,请给我下一个词”,此时我们将下一个词输入到文本流中