ThinkSound:多模态大语言模型中的链式思维推理,用于音频生成与编辑

ThinkSound 是一个统一的 Any2Audio 生成框架,通过链式思维(Chain-of-Thought, CoT)推理进行流匹配指导

基于 PyTorch 的多模态音频生成与编辑实现:可基于视频、文本、音频及其组合,生成或编辑音频,底层由多模态大语言模型(MLLMs)逐步推理驱动。

主要特性

  • Any2Audio:支持任意模态(视频、文本、音频或其组合)生成音频。
  • 视频转音频 SOTA:在多个 V2A 基准上取得最新最优结果。
  • CoT 驱动推理:基于链式思维推理,实现可组合、可控的音频生成。
  • 交互式面向对象编辑:通过点击视觉对象或文本指令,细化或编辑特定声音事件。
  • 统一框架:单一基础模型,支持生成、编辑与交互式工作流。

Abstract

ThinkSound 将音频生成与编辑分为三个交互式阶段均由基于 MLLM链式思维(CoT)推理指导

  1. 拟音生成(Foley Generation): 从视频生成基础、语义与时序对齐的声景。
  2. 面向对象的细化: 通过点击或选择视频中的对象区域,对用户指定对象的声音进行细化或添加。
  3. 定向音频编辑: 使用高级自然语言指令对生成音频进行修改。

在每个阶段,一个多模态大语言模型都会生成与上下文相符的 CoT 推理内容,用以指导统一的音频基础模型。此外,我们还引入了 AudioCoT,一个包含结构化推理标注的综合数据集,用于建立视觉内容、文本描述与声音合成之间的联系。

带有链式思维(CoT)的 ThinkSound:(1) 由 CoT 驱动的拟音合成,捕捉语义与时间细节;(2) 面向对象的交互式精细化处理,实现用户控制;(3) 有针对性的音频编辑。

为视频生成真实的声音不仅仅是识别物体,它还需要对复杂的视觉动态和上下文进行推理,比如判断一只猫头鹰是在鸣叫还是在拍打翅膀,识别树枝轻微的摆动,并在一个场景中同步多个声音事件。

ThinkSound——在技术上,提出了三个关键创新:

  • a) 对 MLLM 进行 AudioCoT 微调,使其能生成结构化、面向音频的推理链,明确捕捉时间依赖关系、声学属性与复杂音频事件的分解过程;
  • b) 设计了一个基于 flow matching 的统一音频基础模型,支持所有三个阶段,能够从任意组合的输入模态(视频、文本、音频)中合成高保真音频。该模型直接受益于 MLLM 提供的细致 CoT 推理,将复杂音频场景分解为可控组件,在保证整体连贯性的同时实现重点声音事件的精确合成;
  • c) 引入了一个新颖的基于点击的交互界面,使用户能够选择特定视觉对象进行音频精修,CoT 推理机制将视觉关注转化为语境合理的声音合成过程。

AudioCoT Dataset for CoT-Guided Generation and Editing

Multimodal Data Sources

AudioCoT 数据集包含视频-音频和音频-文本对。对于视频-音频数据,我们利用 VGGSound 和 AudioSet中精选的非语音子集,以确保广泛覆盖现实世界的视听事件。对于音频-文本数据,我们聚合了来自 AudioSet-SL 、Freesound 、AudioCaps和 BBC Sound Effects数据对,从而构建了一个用于训练多模态模型的多样化且具有代表性的语料库。

首先移除静默的音频-视频片段,仅保留含有效内容的素材。针对AudioSet子集,根据标签信息进一步剔除了含有人声的片段,以专注于非语音音频。随后将所有音视频片段统一分割为9.1秒的固定时长,舍弃较短片段以保证数据 uniformity(统一性)。为实现数据平衡,保持音乐与音效样本的比例约为1:1,确保两类别的均衡表征。

自动化 CoT 生成流程:

 AudioCoT 数据集构建流程概览

第一阶段:基础拟音思维链生成

  • 视频-音频对处理
    1. 使用VideoLLaMA2通过差异化提示策略提取视频的时序与语义信息
    2. 结合Qwen2-Audio生成音频描述
    3. 将视频描述与音频描述通过GPT-4.1-nano整合为完整思维链
  • 纯音频-文本对处理
    采用简化流程(无需VideoLLA2),直接生成音频描述后与现有文本标注整合
    该阶段生成的思维链能捕捉内容条件与对应音频元素的复杂关联,确保两类数据共同促进音频生成推理的全面理解

第二阶段:交互式对象中心思维链生成
为实现对象聚焦的音频生成,开发基于Grounded SAM2的ROI提取框架:

  1. 对象定位:以音频描述为提示,生成潜在发声物体的边界框
  2. 时序追踪:跨视频帧持续跟踪坐标变化
  3. 语义增强:VideoLLA2为每个ROI片段提供详细语义描述
  4. 复杂操作处理
    • 建立分层推理结构,合并目标视频CoT 与参考视频的思维链CoT 以构建全局上下文
    • 结合ROI特定生成信息,通过GPT-4.1-nano生成连贯的操作逻辑

第三阶段:基于指令的音频编辑思维链生成
针对指令引导的音频编辑任务,基于四类核心(扩展、修复、添加和移除)分析并整合来自第一阶段的 CoT 信息。这些操作涵盖从扩展序列到删除不需要的片段的各种场景。GPT-4.1-nano 处理这些整合的信息,生成特定于指令的 CoT 推理链,同时执行相应的音频操作,创建(指令-CoT、输入音频、输出音频)三元组,用于模型训练和评估。

ThinkSound

 ThinkSound 架构概览。 左图: 我们的多模态 LLM 框架,其中经过微调的 VideoLLaMA 2 模型生成用于音频生成和编辑的 CoT 推理。 右图: 我们增强型多模态 Transformer 架构,该架构以 MM-DiT 为骨干,具有用于处理多模态输入的专用路径和 CoT 驱动的条件反射,从而实现高保真、基于情境的音频生成。

Overview

ThinkSound 引入了一个新颖的分步式交互式音频生成和编辑框架,该框架由 CoT 推理引导。我们的方法将复杂的 V2A 任务分解为三个直观的阶段:(1) 基础拟音生成,创建语义和时间匹配的音景;(2) 通过用户点击进行基于区域的交互式细化;以及 (3) 基于高级指令的定向音频编辑。在每个阶段,MLLM 都会生成 CoT 推理,引导统一的音频基础模型制作和细化音轨。

使用多模态 LLM 进行 CoT 推理

为了实现分步式、情境感知的音频生成,我们利用 VideoLLaMA2 作为核心多模态推理引擎。VideoLLaMA2 之所以被选中,是因为其在融合视频、文本和音频模态方面拥有领先的能力,而其先进的时空建模对于捕捉视觉事件与其对应听觉表现之间的微妙相互作用至关重要。

通过AudioCoT数据集对VideoLLA2进行微调,使其适配音频推理领域。该数据集包含专为视听任务定制的丰富标注推理链,通过微调过程使模型具备三大核心能力:

(1)音频中心化理解能力

  • 声学特性推断(如材料属性、空间混响等)
  • 声音传播建模
  • 视听对应关系推理(包括音频事件间的时序与因果关系,例如”脚步声先于开门声,随后出现对话声”)

(2)结构化思维链分解能力
将复杂音频生成/编辑任务拆解为明确可执行的步骤序列

(3)多模态指令跟随能力
可靠地解析并执行跨模态的多样化生成/编辑指令

如图3所示,微调目标采用标准的下一个token预测交叉熵损失。通过这种针对性适配,VideoLLA2被转化为专用音频推理模块,能够生成上下文精确的思维链指令,驱动ThinkSound流程的每个阶段。

CoT 引导的统一音频基础模型

ThinkSound 的核心是我们统一的音频基础模型,它能将 CoT 推理无缝转换为高质量音频,具体细节见图 3 右侧部分。使用预训练的 VAE将音频编码为潜在表示,并采用条件流匹配对模型进行训练,其中速度场预测以多模态上下文为条件,包括视觉内容、CoT 推理、文本描述和音频上下文。为了支持任意组合的输入模态,我们在训练过程中引入了无分类器引导的随机丢弃方法。通过以概率 p_drop 随机丢弃不同模态的组合,使模型在推理阶段能够处理任意输入配置——这对于我们的交互式框架至关重要。我们还结合了策略性音频上下文遮蔽,以支持音频修补和扩展等高级编辑操作

在文本处理方面,我们采用了双通道编码策略:MetaCLIP对视觉字幕进行编码,提供场景级上下文;而 T5-v1-xl则处理结构化的 CoT 推理,以捕捉详细的时间和因果关系。这两种互补的表示被有效融合,MetaCLIP 的特征作为全局条件信号,而 T5 的输出则支持基于推理的精细控制。

我们改进的 MM-DiT 架构基于多模态生成建模领域的最新进展,包含三大关键组件:(1)采用混合型 Transformer 主干网络,在模态专用与共享处理之间交替进行。多流 Transformer 块为每个模态维护独立参数,同时共享注意力机制,从而高效处理多样输入,同时兼顾跨模态学习。(2)设计了自适应融合模块,通过门控机制对视频特征进行上采样并与音频潜变量融合。这不仅能够突出显著的视觉线索、抑制无关信息,还确保视频信息直接参与后续的单流 Transformer 块。通过将视频整合到音频潜变量空间,模型可以更好地捕捉细微视觉细节及其对声景的微妙影响,实现比仅依赖音频潜变量更丰富的跨模态推理。(3)通过对字幕和视频的 CLIP 特征进行均值池化,实现全局条件控制,并借鉴 MMAudio,引入同步特征以提升音视频时间对齐效果。最终得到的全局条件被添加到时间步嵌入中,并通过自适应层归一化(AdaLN)注入多流与单流块。

 逐步 CoT 引导的音频生成和编辑

通过支持输入模式与 CoT 的灵活组合,ThinkSound 支持将音频生成分解为图 1 所示的三个直观阶段。该三阶段流程通过直观的交互式工作流程,实现了逐步精细化、高度定制化的音频生成,CoT 推理在每个步骤中将用户意图与音频合成连接起来。

阶段 1:基于 CoT 的拟音生成
在第一阶段,系统分析整段视频以识别声学要素及其关系。经过微调的 MLLM 生成详细的 CoT 推理,明确识别主要声事件、环境元素、声学属性以及它们的时间依赖关系——确定物体何时发声及声音间的相互作用。这种结构化推理指导音频基础模型生成高保真音频,精准匹配视觉场景的语义内容与时间动态。借助 CoT 推理将复杂音频场景拆解为显式声源,模型能够生成多样且连贯的声景,捕捉微妙视觉线索与运动动态,实现逼真的音频合成。

阶段 2:交互式对象聚焦音频生成
第二阶段引入交互框架,让用户通过关注特定视觉元素来优化初步声景。借助简单的点击界面,用户可以选择感兴趣的物体进行音频强化。不同于第一阶段的整体生成方式,此阶段采用基于目标区域(ROI)的局部细化,利用分割出的目标区域指导定向音频合成。经过微调的 MLLM 针对所选 ROI 生成专门的 CoT 推理,关注该物体在全局背景下的声学特性。模型在这些结构化推理引导下生成物体专属声音,与第一阶段生成的音轨自然融合。值得注意的是,此阶段的基础模型将已有音频上下文作为附加条件信号纳入考虑。

阶段 3:基于指令的音频编辑
在最后阶段,用户可通过高层次的编辑指令来优化音质或修改特定元素。MLLM 将自然语言指令转译为具体的音频处理操作,利用 CoT 推理综合视觉内容和当前音频状态。基础模型在此推理及现有音频上下文条件下执行定向修改,同时保持整体连贯性。通过自然语言控制,非专业用户也可以完成复杂的音频操作,包括添加声音、移除声音、音频修补以及音频延展。

Results

虽然目前的 MLLM 模型能够很好地理解和推理语义信息,但它们在理解视频的精确时间和空间信息方面仍然存在局限性。例如,在定位声音事件的精确时间戳时,MLLM 模型经常无法提供准确的结果或给出错误的结果。此外,目前用于音频生成的开源视音频数据集在多样性和覆盖范围方面存在局限性,可能缺少稀有或特定文化的声音事件。未来,我们将继续探索更加多样化和全面的数据集,以提升模型的性能。此外,我们还将探索更有效的方法来提升生成音频的时间和空间对齐效果。

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] 时,表示“我已完成当前词的发音,请给我下一个词”,此时我们将下一个词输入到文本流中

    StreamSpeech:“All in One”流式语音模型,支持语音识别、翻译、合成

    两种主要结构:编码器-解码器框架(Transformer 及其变体)和多任务框架。 数据难题:数据增强、预训练、知识提炼和多语言建模。 应用:实时性、分段、命名实体、性别偏见和代码转换

     2024年6月,中国科学院计算技术研究所自然语言处理团队发布“All in One”流式语音模型——StreamSpeech。该模型可以在用户说话的同时,以端到端的方式实现语音识别、语音翻译、语音合成的多任务实时处理,延时低至320毫秒。StreamSpeech是能够以端到端方式同时完成多项离线和流式语音任务的开源模型。StreamSpeech可以部署在手机、耳机、AR眼镜等设备,助力国际会议、跨国旅行等场景下的低延时跨语言交流需求。

     StreamSpeech采用先进的two-pass架构,集成了流式语音编码器、实时文本解码器和同步的文本到语音合成模块。通过引入连接时序分类(Connectionist temporal classification,CTC)对齐机制,StreamSpeech能够控制模型在用户说话的同时理解并生成语音识别、翻译和合成结果。StreamSpeech在离线和实时语音到语音翻译上超过Meta的UnitY架构,在开源数据集上取得当前的最佳性能。此外,StreamSpeech还能在翻译过程中生成中间文本结果为用户提供“边听边看”的流畅体验

    StreamSpeech 采用两遍架构,首先将源语音转换为目标文本隐藏状态(自回归语音到文本翻译,AR-S2TT),然后通过非自回归文本到单元生成生成目标语音。引入源/目标/单元 CTC 解码器,通过语音识别 (ASR)非自回归语音到文本翻译 (NAR-S2TT)语音到单元翻译 (S2UT) 等多个任务学习对齐,从而指导 StreamSpeech 何时开始识别、翻译和合成。

    • 1. StreamSpeech 在离线和同步语音到语音翻译方面都实现了最先进的性能 。
    • 2. StreamSpeech 可以通过 “All in One”无缝模型执行流式 ASR、同步语音到文本翻译和同步语音到语音翻译。
    • 3. StreamSpeech 可以在同声翻译过程中呈现中间结果(即 ASR 或翻译结果) ,提供更全面的低延迟通信体验。
    图 2: StreamSpeech 采用两遍架构,首先将源语音转换为目标文本隐藏状态 Dtext
     (自回归语音到文本翻译,AR-S2TT),然后通过非自回归文本到单元生成生成目标语音。引入源/目标/单元 CTC 解码器,通过语音识别 (ASR)、非自回归语音到文本翻译 (NAR-S2TT) 和语音到单元翻译 (S2UT) 等多个任务学习对齐,从而指导 StreamSpeech 何时开始识别、翻译和合成。

    StreamSpeech:

    Architecture

    StreamSpeech 由三部分组成:流式语音编码器、同步文本解码器和同步文本到单元生成模块。引入多个 CTC 解码器,通过辅助任务学习对齐,并据此指导策略。

    流式语音编码器: Conformer 架构通过堆叠注意力模块和卷积模块。在语音建模方面展现出显著优势,但在流式语音输入建模方面却存在困难,这主要是由于双向自注意力和卷积运算涉及整个序列的感受野。为此,我们提出了基于块的 Conformer 架构,旨在赋予 Conformer 架构编码流式输入的能力,同时保留局部块内的双向编码

    图 3 展示了基于块(chunk-based)的 Conformer 架构。首先,原始语音输入会被转换为语音特征(在我们的工作中使用的是滤波器组特征,每个语音特征通常对应约 40 毫秒的时长。基于块的 Conformer 会将流式语音划分为若干个块(chunk),每个块包含 C 个语音特征,其中 C 是一个控制块大小的超参数。在基于块的 Conformer 中,自注意力(self-attention)和卷积操作在块内部是双向的,在块之间则是单向的,从而能够处理流式输入。

    对于基于块的自注意力机制,特征 xi​ 会关注那些位于相同块内前面块内的特征 xj,其计算方式如下:

    其中,Attn(xi,xj)是标准的多头注意力机制,而⌈⋅⌉ 表示向上取整操作。

    对于基于块的卷积(chunk-based convolution),卷积操作的上界会被截断在当前块的边界处。即当使用核大小为 k 的卷积时,其计算方式为:

    在实现上,基于块的卷积可以通过掩码操作(屏蔽掉那些被截断的位置)并行计算。通过流式编码器,计算源语音的隐藏状态,记为 H=(h1,⋯,h|H|) 。基于块的 Conformer 使得流式语音编码器不仅能够满足流式编码的需求,还能对语音进行局部双向编码。

    H≤g(i)​ 的语义范围:

    • 包括了从起始到第 g(i) 帧为止的语音输入(多个 chunk 累积的结果);
    • 每一个帧的表示都融合了:
      • chunk 内的 双向上下文(强表征)
      • chunk 之间的 单向依赖(因果性)

    同步文本解码器: 在流式编码器之后,文本解码器通过关注源语音隐藏状态 H ,同时生成目标文本 Y 。为了实现这一点,StreamSpeech 需要一个策略来决定何时生成每个目标标记(即,解码器可以关注多少个语音状态)。合理的策略应该确保模型等到识别源语音中的源文本(读取),然后再生成相应的目标文本(写入)。

    Simultaneous Text Decoder(同步文本解码器)是在流式语音编码器之后,边接收源语音隐藏状态 H边生成目标文本 Y。为实现低延迟输出,需要一个策略(policy)来判断:

    • 何时 READ(读取更多源语音)
    • 何时 WRITE(生成目标 token)

    核心做法:通过 CTC 对齐引导策略

    1. 引入两个 CTC 解码器

    • Source CTC Decoder:对齐源语音 → 源文本(ASR)
    • Target CTC Decoder:对齐源语音 → 目标文本(NAR-S2TT)

    分别计算两个任务的 CTC Loss:

    构建 READ / WRITE 策略函数。用上面两个 CTC 的输出计算当前语音段 X≤j对应的:

    • 已识别的源 token 数 Njasr
    • 已预测的目标 token 数 Njnar-s2tt

    然后定义策略函数 g(i),表示在什么时间步 j可以生成目标 token yi

    StreamSpeech 在接收到语音 X≤g⁢(i) 后自回归生成目标标记 yi 

    READ 检测(左条件):ASR 模块识别出一个新的源 token,说明我们“听”到了新语义,应该考虑进入写入阶段。

    WRITE 准备(右条件):非自回归模块预测当前语音内容足以包含第 iii 个目标 token,我们可以放心翻译了。

    尽管 NAR-S2TT 用来预测 token 数以对齐,但最终目标 token yi 是通过 AR-S2TT 来生成的,以提升翻译质量:

    基于由 ASR 和 NAR-S2TT 派生的对齐策略指导的策略,同步文本解码器在接收到语音 X≤g⁢(i) 后生成 yi ,并通过自回归语音转文本翻译(AR-S2TT, X→Y )的交叉熵损失进行优化

    Non-autoregressive Text-to-Unit Generation:为了同步生成当前目标文本所对应的语音单位(unit),StreamSpeech 采用了一种 非自回归的文本到单位(T2U)架构(Gu et al., 2018),该架构由一个 T2U 编码器 和一个 单位 CTC 解码器 组成。

    • T2U 编码器的输入是来自同步文本解码器生成的隐藏状态 Dtext​。
    • 鉴于音频单位序列 U 通常比文本序列 Y 更长,我们将 T2U 编码器的输出上采样 r 倍作为解码器输入

     it⁢h 输入对应于 D⌈i/r⌉t⁢e⁢x⁢t 。然后,单元 CTC 解码器通过关注位于 D⌈i/r⌉t⁢e⁢x⁢t 之前的 T2U 编码器输出,以非自回归的方式生成单元序列 U 。正式地,单元 CTC 解码器 CTCDecU 的输出 Du⁢n⁢i⁢t 计算如下:

    NAR T2U 生成通过 CTC 损失在语音到单元翻译任务(S2UT, S→U )上进行了优化:

    最终,使用一个基于单位的 HiFi-GAN 声码器(Kong et al., 2020)来根据生成的单位序列合成目标语音。注意,这个声码器是预训练的并被冻结,不参与 StreamSpeech 的联合训练。

    训练(Training):

    StreamSpeech 中涉及的所有任务都是通过**多任务学习(multi-task learning)端到端(end-to-end)**的方式联合优化的。总体训练目标L 包括以下几个任务的损失:

    • S2UT(语音到单位翻译)
    • AR-S2TT(自回归语音到文本翻译)
    • ASR(语音识别)
    • NAR-S2TT(非自回归语音到文本翻译)

    多任务学习能够有效地将同步策略的学习翻译能力的学习整合进一个统一框架中。此外,像 ASR 和 AR-S2TT 等辅助任务生成的高质量中间结果,也可以在推理过程中展示给用户,作为补充参考内容。

    多块训练(Multi-chunk Training):在推理过程中,Simul-S2ST(流式语音到语音翻译)可能会面临不同的延迟需求。为每种延迟分别训练一个模型代价很高。为了解决这个问题,我们提出了 多块训练(multi-chunk training),以提升 StreamSpeech 在不同延迟水平下的性能表现。

    在多块训练中:

    • 流式语音编码器的块大小 C不是固定的
    • 而是从 U(1,∣X∣) 的均匀分布中随机采样,其中 ∣X∣ 表示整个输入语音序列的长度;
    • 特殊情况C=∣X∣ 即对应于离线 S2ST设置。

    通过多块训练,单个 StreamSpeech 模型就能适应不同的延迟需求。

    Inference:

    在推理过程中,StreamSpeech 会基于设定的块大小 C 来处理流式语音输入,其中每个语音特征通常对应 40 毫秒的音频时长(例如,C=8 表示每 320 毫秒处理一次语音输入)。

    然后,StreamSpeech 会使用 ASR 和 NAR-S2TT 的 CTC 解码器对当前接收到的语音 X^ 进行解码,分别生成源语言 token A^ 和目标语言 token Y^。

    当满足以下两个条件时:

    1. 识别出了新的源 token(即 ∣A^∣>∣A∣)
    2. 当前语音中预测的目标 token 数超过已生成的目标 token(即 ∣Y^∣>∣Y∣)

    模型将会进入 WRITE 阶段

    • 更新源文本 A
    • 持续自回归地生成新的目标 token,直到达到 Y^ 的数量上限或遇到 <eos> 结束符
    • 根据目标文本生成对应的单位序列 U
    • 使用声码器合成出目标语音 S

    否则,如果上述条件不满足,模型会进入 READ 阶段,等待接收下一个大小为 C 的语音块。

    由于引入了多块训练(multi-chunk training),StreamSpeech 可以通过动态调整块大小 C 来控制推理延迟。其中:

    • 较小的 C 意味着更低的延迟
    • 较大的 C 则带来更完整的上下文,提升质量。

    实验

    预处理
    源语音转换为 16000Hz,将目标语音生成为 22050Hz。对于源语音,我们计算 80 维的 Mel 滤波器组特征,并进行全局的倒谱均值-方差归一化,每个语音特征对应 40 毫秒的时长。对于目标语音,通过 mHuBERT3提取离散单元,并使用预训练的基于单元的 HiFi-GAN 语音生成器进行语音合成。对于源文本和目标文本,我们分别使用 SentencePiece生成大小为 6000 的 unigram 词汇表。

    离线语音到语音翻译(Offline S2ST):StreamSpeech 采用 双阶段(two-pass)架构,相比使用单阶段(one-pass)架构的 S2UTTranslatotron,在性能上取得了显著提升。多任务学习(multi-task learning)不仅能指导策略学习,还能为翻译提供中间监督信号,从而进一步提升了离线 S2ST 的性能。

    StreamSpeech 推理加速效果
    为评估 StreamSpeech 的推理效率,表 2 报告了其相对于 UnitY 的加速比(speedup)。
    在该双阶段架构中,StreamSpeech:

    • 第一阶段翻译使用自回归结构(更适合处理复杂语言重排);
    • 第二阶段语音合成使用非自回归结构(尽管序列较长,但几乎单调对齐,易于并行)。

    这种 先 AR 后 NAR 的两阶段架构,在保持翻译质量的同时,实现了 显著的推理速度提升

    Simul-S2ST(同步语音到语音翻译):

    在所有延迟设置下,StreamSpeech 的表现都优于 Wait-k,尤其是在低延迟条件下,BLEU 分数提升约 10 分

    Wait-k 策略是目前使用最广泛的同步策略,在同步文本到文本(T2TT)和语音到文本(S2TT)任务中表现良好。StreamSpeech 在同步语音到语音翻译中,不仅兼顾了延迟与质量,还通过对齐驱动策略实现了更自然的发声节奏,在多个基线之上取得了系统性提升。

    CosyVoice 3:语音合成领域迎来里程碑式突破

    CosyVoice 2 在语言覆盖范围、领域多样性、数据量和文本格式多样性方面存在明显局限性,在实现野外语音生成方面仍有较大改进空间。阿里巴巴团队全新发布的CosyVoice 3,以超越人类基线的自然度、覆盖 9 国语言 18 种方言的超强泛化能力,重新定义了「野外语音生成」的标准。

    摘要

    尽管 CosyVoice 2 在中文和英文广播场景中表现良好,但它在语言覆盖范围、领域多样性、数据规模以及文本格式多样性方面仍存在明显局限,距离实现真实环境中的语音生成还有较大提升空间。此外,针对语音生成模型的模型和数据的扩展规律,以及训练后的优化技术尚未被充分探索。

    为了解决上述问题,我们推出了 CosyVoice 3 —— 一款面向真实环境应用的大规模零样本语音生成模型,具备更广泛的语言覆盖和多样化的使用场景,在内容一致性、说话人相似度和韵律自然度等方面显著超越其前代产品 CosyVoice 2。

    我们的主要贡献如下:

    • 1)通过监督多任务训练开发的新型语音分词器用于改善韵律自然度,包括自动语音识别、语音情感识别、语言识别、音频事件检测和说话人分析
    • 2)一种适用于后期训练的新型可微分奖励模型[DiffRO],不仅适用于 CosyVoice 3,还适用于其他基于 LLM 的语音合成模型。
    • 3)数据集规模扩展:训练数据从万小时扩展到百万小时,涵盖 9 种语言和 18 种汉语方言,跨越多个领域和文本格式
    • 4)模型规模扩展:模型参数从 5 亿增加到 15 亿,由于更大的模型容量,在多语言基准测试中性能得到提升。这些进展显著推动了野外语音合成的发展。
    • 为应对真实世界中语音合成场景的多样性与泛化挑战,我们发布了面向零样本真实场景语音合成的评测基准集 CV3-Eval。该基准集基于 Common Voice、FLUERS、EmoBox 及网络爬取的真实音频数据构建,涵盖广泛的语言与方言、应用领域与环境、情绪与风格。

    技术方案

    图2:(a)监督式多任务训练的语音分词器 和(b)CosyVoice 3 的训练流程示意图。虚线框中的模块仅在训练阶段使用。语音分词器通过监督训练,涵盖自动语音识别(ASR)、语言识别(LID)、语音情感识别(SER)、音频事件检测(AED)以及说话人分析(SA)等任务。CFM 表示条件流匹配模型(Conditional Flow Matching model)。

     通过监督多任务训练实现语音分词器

    CosyVoice 3 的语音分词器基于 MinMo语音大模型[基于sensevoice-large的encoder],这是一种在多个语音任务中表现优异的大规模预训练语音理解模型。

    CosyVoice 2 将有限标量量化(FSQ)模块插入 SenseVoice-Large ASR 模型的编码器不同,CosyVoice 3 将 FSQ 模块插入到了 MinMo 模型的语音编码器【也是 SenseVoice-Large encoder,但重新进行了多任务训练】中。相比于 SenseVoice-Large ASR 模型,MinMo 是一款更为先进的多模态大语言模型(LLM),在超过140万小时的语音数据上进行了训练,在多种基准任务中展现出更优越且达到了SOTA水平的表现,包括口语对话、多语种语音识别、以及情感识别等任务。

    为了进一步增强语义信息的捕捉能力,我们在 MinMo 的训练数据中选取了约53万小时的数据子集,针对我们的语音分词器进行监督多任务学习,涵盖了多语种ASR、语言识别(LID)、语音情感识别(SER)、音频事件检测(AED)以及说话人分析(SA)等任务

    在训练阶段,如图2a所示,输入语音 X 首先经过 Voice Encoder1 【 SenseVoice-Large Encoder】得到中间表示 H,其中 Voice Encoder1 包含12个带旋转位置嵌入(RoPE)的Transformer模块。接着,中间表示H 被送入 FSQ 模块进行量化,量化后的表示再传递至 MinMo 的其余模块,包括 Voice Encoder2 和 MinMo LLM,用于预测对应文本标记的后验概率。

    Voice Encoder1、FSQ 模块中的低秩投影器、有限舍入操作(bounded round operation)以及索引计算模块共同构成了 CosyVoice 3 的语音分词器。我们的语音分词器的标记速率为 25 Hz,即每秒生成 25 个语音标记(speech tokens)。

    可微奖励优化的强化学习

    强化学习(RL)在提升生成语音质量方面是有效的,目前尚未建立一个通用适用于语音生成任务的强化学习方法论。与自然语言处理任务中的大语言模型(LLMs)不同,TTS 系统需要额外的下游条件流匹配(CFM)模块和声码器模型,将离散的语音标记转换为音频波形。这些下游模型带来了巨大的计算负担。更严重的是,经过下游处理后生成的语音通常表现出高度相似性,因此在训练奖励模型时,很难区分正反馈与负反馈

    为了解决这些问题,我们提出了可微奖励优化(DiffRO)方法,该方法直接优化语音标记,而非合成音频。DiffRO 首先在 ASR 训练数据上训练一个类似 ASR 的 Token2Text 模型,并将后验概率作为奖励。为了进一步简化训练策略,DiffRO 使用 Gumbel-Softmax 操作对大语言模型预测的标记进行采样,并通过反向传播直接优化语音标记,以最大化奖励分数,而无需传统的强化学习训练循环。

    Gumbel-Softmax 是一种用来在离散空间中实现可微分采样的技巧,常用于需要从分类分布中抽样但又想保持梯度可传播的场景,比如强化学习中的策略采样、生成模型中的词生成,以及如 DiffRO 中对离散语音 token 的优化。

    其中,µₜ 和 µ̃ₜ 分别表示第 t 个时间步的真实语音标记和其采样预测值。RASR 是基于类似 ASR 的 Token2Text 模型计算得到的奖励函数。由于 RASR(Y) 旨在鼓励 µ̃ 捕捉文本中的全部信息,因此它有助于 TTS 系统更清晰、准确地理解文本。因此,我们可以直接优化大语言模型(LLM),使其输出标记与 ASR 偏好对齐,并使用 Kullback-Leibler(KL)散度来防止模型偏离参考模型太远。与其他强化学习方法不同,我们在输出标记级的 logits 上计算 KL 散度,而非在序列级的后验概率上计算。

    除了 Token2Text 模型之外,DiffRO 还利用情感识别(SER)、MOS 评分预测、音频事件检测(AED)以及其他音频理解任务,用于多任务奖励(MTR)建模。MTR 机制可以帮助 TTS 系统根据指令控制语音属性Ai

    发音修复

    基于大语言模型的语音合成(TTS)系统主要采用基于BPE的文本分词器,输入为原始文本。与传统的基于音素的方法相比,这类系统在发音的可控性方面存在不足。具体来说,对于由多音字或训练数据中稀少或未出现的罕见词引起的错误发音,缺乏基于人工干预的稳健方法。
    为了实现一个在发音上具备有效可控性的工业级TTS系统,我们对CosyVoice 3进行了扩展,使其能够通过扩充分词器词汇表来建模混合的词和音素序列。为实现该目标,我们构建了一个辅助训练集,将中文单音字替换为拼音,将英文单音词用CMU发音词典中的音素替换,并将该辅助数据集加入基础训练集中。

    文本规范化的自我训练

    在文本分词之前,TTS系统通常通过文本规范化(TN)模块处理原始文本,将数字和特殊符号转换为其对应的口语化文本,这一过程依赖大量手工设计的规则;然而,手工规则在覆盖特殊符号方面面临持续挑战。
    我们探索利用大语言模型(LLM)执行文本规范化任务,从而构建更加统一的端到端TTS系统。
    以原始文本为输入,我们采用三种方式构建辅助训练集:
    1)通过内部基于规则的文本规范化模块处理原始文本,得到规范化文本,再通过CosyVoice 2合成音频。
    2)利用Qwen-Max模型进行文本规范化,然后对规范化文本通过CosyVoice 2合成音频。
    3)利用Qwen-Max对已有的文本-音频对中的文本进行逆向文本规范化,恢复为原始(未规范化)文本,将该原始文本与对应音频作为配对样本,直接加入基础训练集。
    我们验证了基于扩展训练集训练的新系统可以直接合成原始文本,同时在处理各种特殊符号时展现出更好的鲁棒性和覆盖能力。

    指导式语音生成

    为了提升CosyVoice 3的可控性和表现力,相较于CosyVoice 2,我们在基础训练集中融入了更多富有表现力的语音数据。高质量指令跟随数据的时长从1500小时扩展到5000小时,覆盖了更广泛的类型,包括情感、语速、声调、方言、口音及角色扮演。类型总数增加到100多种,如表1所示。
    与CosyVoice 2类似,CosyVoice 3也支持语言指令和细粒度指令。对于自然语言指令,在合成语音的输入文本前添加自然语言描述及特殊结束标记“<|endofprompt|>”
    对于细粒度指令支持在文本标记间插入声音爆发(vocal bursts)和声音特征标签以实现控制。例如,输入文本中的“[laughter]”与“[breath]”标记可分别用来生成明显的笑声和呼吸声。标签“<strong>XXX </strong> ”用于强调特定词语。

    说话人微调中的能力迁移

    将单语说话人转变为多语者:CosyVoice 3 相较于前代的显著提升之一是语言支持的扩展。为了使单语目标说话人能够说多种语言,我们构建了一个辅助训练数据集,包含来自随机选择说话人的高质量单语录音,覆盖所有支持的语言。每条语音的说话人ID和语言ID均通过自然语言指令进行指定。

    指令生成能力的迁移:通过对预训练模型进行说话人特定数据的微调,可以提升个别说话人生成语音的质量和表现力。我们构建了一个部分标注说话人ID的训练数据集,该数据集包含目标说话人的高质量数据以及预训练时使用的指令跟随数据集。在自然语言指令提示中,我们指定说话人提示和风格提示。例如,一个完整的指令提示可能是:“你是说话人A,请高兴地和我说话。”然而,部分数据条目可能缺少说话人ID或风格标签,此时在提示中对应字段留空。微调过程中,我们还会随机屏蔽说话人提示或风格提示,以增强模型的迁移能力。
    该方法确保了不同说话人间指令的全面覆盖,并有助于防止预训练模型在指令生成时发生灾难性遗忘。

    多语言数据处理流程


    相比中文和英文,获取其他语言的大规模高质量TTS数据更具挑战性。为应对这一挑战,我们主要从网络有声书、视频和播客中收集野外多语言音频数据。随后,实施多语言数据处理流程,产出质量充足的模型训练数据。该流程包括六个步骤:

    1. 语音检测与分段
    2. 降噪
    3. 自动语音识别(ASR)转录
    4. 标点调整
    5. 音量标准化
    6. 过滤异常音频-文本长度比例的数据

    语音检测与分段:原始数据依次通过说话人分离(speaker diarization)语音活动检测(VAD)音频事件检测模块处理,得到说话人级别且时长小于30秒的语音片段。该步骤虽采用内部模块,但同类开源方案也能实现类似效果。

    降噪:采用MossFormer2模型进行降噪。接着,根据语句起始和结束帧的能量水平,筛除因异常截断导致开头或结尾单词不完整的语句剩余语句去除开头和结尾的静音后保留用于后续处理。

    ASR转录:为获得足够可靠的文本转录,首先使用FasterWhisper Large-V3进行语言识别,然后分别使用多款开源ASR模型(包括Faster-Whisper Large-V3、NVIDIA NeMo Canary-1B、Meta FAIR seamlessM4T-V2-large)对语句进行转录。随后进行交叉验证,选取不同系统ASR结果间平均成对字错误率(WER)低于15%的转录结果

    标点调整:由于ASR生成文本中的标点可能不能准确反映对应音频的实际停顿,我们采用Montreal Forced Aligner计算词与词、句或短语间的时长,并根据预设阈值对标点进行增删(停顿时间≥300毫秒时添加逗号,≤50毫秒时移除表示停顿的标点,如逗号、分号、冒号、句号、问号和感叹号)。

    音量标准化:对音量进行简单直接的归一化处理,

    过滤异常音频-文本长度比例的语句:在完成上述所有处理步骤后,对每个生成的语音-文本对提取语音标记和文本标记,计算并排序语音标记长度与文本标记长度的语句级比例。
    我们丢弃长度比例最小的1%和最大的5%的语句,以过滤可能存在异常的情况,例如:音频很短且无有效人声但对应较长文本转录,或音频较长但仅包含目标语言的短语音片段,从而对应较短文本转录。

    Experimental Settings

    Training Data for Speech Tokenizer

    使用 53 万小时的监督多任务数据集,以标准化转录为标签,训练语音分词器,包括自动语音识别 (ASR)、语种识别 (LID)、语音情感识别 (SER)、音频事件检测 (AED) 和说话人分析 (SA)。训练数据详情如表 3 所示。多语言 ASR 训练数据包括中文、英语、日语、韩语、俄语、法语和德语。

    Scaling up Dataset Size and Model Size for CosyVoice 3

    在 CosyVoice 3 中,我们从多个角度扩展数据量。针对广泛使用的中英文数据,我们采用低成本数据生产流程与自训练数据构建相结合的方式,增强领域、风格、文本格式和稀有案例的多样性。在领域多样性方面,我们收集了电商、导航、金融、教育等多个领域的语音数据。在风格多样性方面,我们添加了对话、演讲、歌唱等多种语言在文本多样性方面,我们通过文本规范化 (TN) 和逆文本规范化 (ITN) 为同一段语音构建不同的文本格式,增强模型对各种文本格式的鲁棒性。此外,我们利用早期版本的 CosyVoice 3 策略性地自训练构建了大量的稀有案例,以提高合成的稳定性。在语言覆盖方面,我们在中英文数据集中新增了日语、俄语、法语、德语、西班牙语、韩语和意大利语等七种常用语言,数据覆盖比例如图 3a 所示。前期工作表明,监督式多任务语音分词器在一些新语言(例如 CosyVoice 3 中的西班牙语和意大利语)上表现良好。除了标准的常见方言发音外,我们还增加了对汉语口音和方言的覆盖范围,目前已支持 19 种常见口音或方言,数据占比如图 3b 所示。通过这些数据扩展,CosyVoice 3 的训练数据已达到百万小时,涵盖了日常生活中的大多数用户案例,并朝着自然界零样本语音生成的目标迈进。

    除了扩展数据集大小之外,扩大模型大小对于当前的大规模模型至关重要。因此,我们在 CosyVoice 3 中增加了文本转语音语言模型 (LM) 和条件流匹配 (CFM) 模型的大小。具体而言,文本转语音 LM 的参数数量从 0.5 亿增加到 1.5 亿。对于 CFM,我们采用最新的扩散变换器 (DiT) 作为骨干网络,将参数数量从 1 亿增加到 3 亿。初步实验证明了 DiT 架构的强大性能;因此,复杂的文本编码器和长度正则化模块不再需要,并从 CosyVoice 3 中移除。我们通过简单的插值操作解决了语音标记和 Mel 特征之间的帧率不匹配问题。

    为了评估 CosyVoice 3 的零样本语音生成能力,我们关注三个关键方面:内容一致性、说话人相似度和音频质量。对于内容一致性,我们使用 Whisper-large V3测量 ASR 转录文本与给定文本的字符错误率 (CER) 或词错误率 (WER)。对于英文 ASR,我们使用 Paraformer  测量中文 ASR。为了评估说话人相似度,我们使用 ERes2Net 说话人验证模型从生成的语音中提取说话人嵌入,并计算与参考语音嵌入的余弦相似度。对于音频质量,我们使用 DNSMOS 网络对生成的语音进行评分,该网络的得分与人类听觉感知高度相关。

    为了更好地评估 CosyVoice 3,我们建立了一个多语言基准 CV3-Eval,其中包括客观和主观评估的子集。

    Experimental Results

     SEED-TTS-Eval 上的客观 TTS 结果

    CosyVoice 3 与基线在 SEED 测试集上的内容一致性 (WER/CER) 和说话人相似度 (SS) 方面的零样本 TTS 性能比较。对于说话人相似度,括号外的结果由基于 WavLM 的模型测量,括号内的结果由 ERes2Net 测量。 粗体表示最佳结果,下划线表示次佳结果

     在多语言基准 CV3-Eval 上的客观评估:

    对于 CosyVoice 3 来说,生成生僻词、绕口令和领域特定术语仍然很困难,这突显了未来有待改进的地方。

     跨语言语音克隆结果:CosyVoice 3 在跨语言语音克隆方面相较 CosyVoice 2 的显著提升。值得注意的是,由于两种语言的字符重叠,CosyVoice 2 在将语音从日语转换为中文时遇到了困难。CosyVoice 3 通过将所有日语字符转换为假名解决了这个问题。此外,扩大模型规模也带来了益处:与 CosyVoice3-0.5B 相比,CosyVoice3-1.5B 在所有条件下都表现出了更佳的字错误率 (WER),同时保持了与 CosyVoice 2 相似的说话人相似度。这表明,由于容量的增加,更大的模型可以提升在挑战性任务上的表现。总体而言,CosyVoice3-1.5B 仍然是 zh2en 和 en2zh 跨语言语音迁移任务中的领先模型。

    在与文本无关的任务中,情感准确率显著下降,尤其是“悲伤”和“愤怒”情感。这表明 TTS 系统主要从文本情绪中推断输出音频的情感基调。这一观察结果为了解不太令人满意的表现提供了宝贵的见解,并突出了未来需要改进的地方。

    主观评价结果:

    Nexa AI OmniAudio-2.6B:全球最快的边缘部署音频语言模型

    OmniAudio 是全球最快、最高效的音频语言模型——OmniAudio – 2.6B 是一款高性能的多模态音频语言模型,参数量为 2.6B,能够高效处理文本和音频输入。它将 Gemma – 2 – 2B、WhisperTurbo 以及定制的 Projector 模块集成到一个统一框架中,突破了传统模型串联 ASR(自动语音识别)和 LLM(大语言模型)的架构限制,实现了更低延迟、更高效能的音频 – 文本一体化处理。这种一体化的设计使得音频信息能够直接在模型内部进行处理和转换,避免了传统架构中多次数据传输和处理带来的延迟和资源浪费。

    huggingface : https://huggingface.co/NexaAIDev/OmniAudio-2.6B

    二、技术原理

    1、模型架构

    Gemma – 2 – 2B:作为负责文本处理的基础语言模型,它拥有强大的语言理解和生成能力。其内部的神经网络结构经过精心设计和训练,能够对音频文本转换后的文本进行深入分析和理解。例如,在处理复杂的语义关系时,Gemma – 2 – 2B 可以准确地识别出词汇之间的逻辑联系,从而为后续的语言生成提供准确的基础。

    • WhisperTurbo是优化后的音频编码器,能够生成高质量的音频嵌入。它通过对音频信号进行特征提取和编码,将音频信息转化为模型可处理的形式。WhisperTurbo 在处理音频信号时,能够捕捉到音频中的细微特征,如语音的语调、语速变化等,这些特征对于准确理解音频内容至关重要。
    • 定制Projector模块:将 Whisper 的音频 token 转化为与 Gemma 文本嵌入对齐的序列,确保音频 – 文本模态的高效融合。它通过一种特殊的映射机制,使得音频和文本在向量空间中能够准确对应,同时保持语言模型的原始性能。这种对齐方式使得模型在处理音频输入时,能够像处理文本输入一样高效地进行语言理解和生成。

    2、训练方法

    • 预训练阶段:基于 MLSEnglish10K 转录数据集进行基础的音频 – 文本对齐能力训练。为了支持多任务应用,数据集中引入了特殊的 <|transcribe|>token,用以区分语音转文本和内容补全任务,确保模型在不同场景下性能的一致性。在预训练过程中,模型通过大量的音频 – 文本对数据学习,逐渐掌握音频和文本之间的对应关系,形成初步的音频处理和语言理解能力。
    • 监督微调阶段(SFT):使用合成数据集进行指令调优。数据集同样以 MLSEnglish10K 为基础,结合专有模型对上下文进行扩展,生成丰富的 “音频 – 文本” 对。通过这种方式,模型具备了更强的音频输入语义理解和会话生成能力。例如,在处理特定领域的音频数据时,模型能够根据微调数据中的领域知识,准确理解音频中的专业术语和特定表达方式。
    • 直接偏好优化(DPO):利用 GPT – 4O API 对模型初始输出进行评估,标注不正确的输出为 “拒绝”(rejected),并生成替代答案作为 “偏好”(preferred)参考。为了保持 Gemma – 2 的文本处理性能,额外增加了偏好训练步骤,使用 Gemma – 2 的原始文本作为 “标准” 训练模型,在处理音频输入时匹配其高水平表现。通过 DPO,模型能够不断优化自己的输出,使其更加符合人类的语言习惯和实际需求。

    三、功能特点

    1、处理速度快

    在 2024 Mac Mini M4 Pro 上,使用 Nexa SDK 并采用 FP16 GGUF 格式时,模型可实现每秒 35.23 个令牌的处理速度,而在 Q4_K_M GGUF 格式下,可处理每秒 66 个令牌。相比之下,Qwen2 – Audio – 7B 在相似硬件上只能处理每秒 6.38 个令牌,展示出显著的速度优势,能够满足实时音频处理的需求。例如,在实时语音翻译场景中,快速的处理速度可以确保翻译结果几乎与语音同步输出,大大提高了沟通效率。

    2、资源效率高

    模型的紧凑设计有效减少了对云资源的依赖,使其成为功率和带宽受限的可穿戴设备、汽车系统及物联网设备的理想选择,降低了设备的运行成本和对网络的依赖。在一些网络信号不稳定的偏远地区,或者在电池续航有限的可穿戴设备上,OmniAudio – 2.6B 能够凭借其低资源消耗的特点,稳定地运行并提供准确的音频处理服务。

    3、高准确性和灵活性

    尽管 OmniAudio – 2.6B 专注于速度和效率,但其在准确性方面也表现不俗,适用于转录、翻译、摘要等多种任务。无论是实时语音处理还是复杂的语言任务,OmniAudio – 2.6B 都能够提供精准的结果。例如,在处理学术讲座的音频转录时,模型能够准确识别专业术语和复杂的句子结构,生成高质量的文字转录稿。

    四、应用场景

    1、智能家居

    可以集成到智能家居设备中,如智能音箱、智能家电等,实现语音控制和交互。用户可以通过语音指令控制家电的开关、调节温度、查询信息等,提供更加便捷的智能家居体验。例如,用户只需说出 “打开客厅的灯”,智能音箱中的 OmniAudio – 2.6B 模型就能准确识别指令并控制灯光设备,让家居生活更加智能和便捷。

    2、车载系统

    在汽车中,OmniAudio – 2.6B 可以用于语音导航、语音娱乐系统、车辆状态查询等功能。驾驶员可以通过语音与车辆进行交互,提高驾驶安全性和便利性。比如,驾驶员在行驶过程中无需手动操作,只需说出 “导航到最近的加油站”,车载系统就能快速响应并规划路线,避免了分心驾驶带来的安全隐患。

    3、远程医疗

    在远程医疗领域,该模型可以用于实时转录医生与患者的对话、翻译医疗文件和语音指令等,提高医疗服务的效率和质量,方便医患之间的沟通。例如,在跨国远程会诊中,OmniAudio – 2.6B 可以实时翻译不同语言的对话,让医生和患者能够无障碍交流,确保诊断和治疗的准确性。

    4、可穿戴设备

    如智能手表、智能耳机等可穿戴设备可以利用 OmniAudio – 2.6B 实现语音助手功能,用户可以通过语音查询天气、设置提醒、发送短信等,为用户提供更加便捷的操作方式。比如,用户在运动时双手不方便操作,只需对着智能手表说出 “设置明天早上 7 点的闹钟”,手表就能快速完成设置,提升了用户体验。

    Baichuan-Auido端到端训练语音交互大模型

    Baichuan-Auido 是Baichuan最新的端到端训练的语音交互大模型,无缝集成了音频理解和生成功能,支持高质量可控的中英双语实时对话。

    • Baichuan-Audio-Base: 为促进语音大模型发展,我们开源了使用高质量海量数据训练的端到端语音基座模型。该模型未经SFT指令微调,可塑性强。
    • Baichuan-Audio: 接受文本、音频作为输入,并生成高质量文本和语音输出,能够在保持预训练 LLM 智商能力下实现无缝的高质量语音交互,和用户进行实时语音对话

    Introduction

    Baichuan-Audio,这是一款为实时语音交互设计的端到端音频大语言模型。与 MoshiGLM-4-Voice [输出 文本+speech token,speech token 接入cosyvoice解码器合成音频 ] 类似,Baichuan-Audio 扩展了预训练的大语言模型(LLM),以支持端到端的音频输入和输出。该模型通过集成 Baichuan-Audio-Tokenizer 和流匹配解码器来实现上述功能,前者将音频信号离散化为音频标记,后者则将音频标记解码为语音波形。

    Baichuan-Audio-Tokenizer 的运行帧率为 12.5 Hz,并采用多码本离散化技术,以保留语义和声学信息,从而支持 LLM 中语音模态的有效建模。Baichuan-Audio 还引入了独立的音频头(audio head),以提升模型处理和捕捉音频特征的能力。

    我们在包含约 1000 亿个标记的音频-文本数据上进行了大规模预训练。基于包含 88.7 万小时的大型音频语料库,我们采用了交错数据处理方法,以在 LLM 框架内实现高效的知识迁移。

    贡献:

    • 统一且卓越的语音能力:我们设计了一个 8 层 RVQ 音频分词器Baichuan-Audio-Tokenizer),在 12.5 Hz 帧率下实现了对语义和声学信息的最佳平衡,支持高质量、可控的中英文双语实时对话。
    • 端到端语音交互Baichuan-Audio 能够处理文本和音频输入,并生成高质量的文本和语音输出,支持无缝的高质量语音交互,同时保持智能响应能力。
    • 开源支持:我们已开源训练数据和基础模型,为语音交互领域的研究与创新提供了宝贵的资源与工具。

    模型

    该模型结构围绕三大核心组件构建:Baichuan-Audio分词器音频大语言模型(audio LLM),以及音频解码器

    处理流程从音频分词器开始,它通过捕捉语义与声学信息,将原始音频输入转化为离散的token。这一步是通过 Whisper编码器残差矢量量化(RVQ)技术相结合实现的。

    随后,音频LLM以交替方式生成对齐的文本与音频token,并借助一个特殊的token实现文本与音频模态间的无缝切换。接下来,这些音频token将由一个独立的音频head进一步处理。

    最后,模型通过一个基于Flow-Matching的方法的音频解码器,从这些token中重建出高质量的Mel谱图,再通过 声码器(vocoder)将其转换为音频波形。

    Audio Tokenization

    当前音频分词器面临的主要挑战,在于如何在捕捉语音信号中的语义信息与声学信息之间取得最佳平衡。相较于像 HuBERT 这样的自监督学习方法,Baichuan-OmniQwen-Audio 这类模型在捕捉语义特征方面提供了更直接的路径。【ASR任务

    与此同时,像 EncodecSpeechTokenizer这样的音频分词器则在完整重建音频特征方面表现尤为出色。【音频重建任务

    为了结合这两类方法的优点,提出了 Baichuan-Audio-Tokenizer:一个基于 残差矢量量化(RVQ)多目标训练【重建音频任务以及ASR任务】 的音频分词器,如图2所示。Baichuan-Audio-Tokenizer 保留了来自 Baichuan-Omni音频编码器语言模型组件,并在编码器之后新增了一个 音频解码器结构,用于重建输入的 Mel 频谱图。该音频分词器采用多目标优化方法进行训练,从而能够有效捕捉输入语音中的语义信息与声学信息。

    Baichuan-Audio-Tokenizer 采用了每秒 12.5 个 token 的帧率设计。高层次的音频特征首先通过 Whisper Large 编码器Mel 频谱图(Mel spectrogram) 中提取,随后通过一个 残差卷积网络 进行 4× 下采样,以获得低帧率的音频特征。

    由于 Whisper 编码器输出的音频特征是高维的,在量化过程中需尽可能减少信息损失,因此我们使用了 8 层残差矢量量化(RVQ)。我们设计了逐层递减的码本大小,依次为:{8K, 4K, 2K, 1K, 1K, 1K, 1K, 1K}

    音频解码器采用与 Whisper 编码器完全对称的结构,通过一个 反卷积模块(deconvolution module) 对输入进行 4× 上采样。之后,序列经过一系列 Transformer 层,并进一步进行 2× 上采样,最终得到每秒 100 个 token 的粗略 Mel 频谱表示。设计了一个 精细化网络,以提升 Mel 频谱重建的精度,最终获得高质量的精细 Mel 频谱特征。

    在音频重建损失函数的设计中,我们,采用 L2 损失与 L1 损失的组合 作为重建损失。其形式定义如下:

    为提升音频重建的质量,我们引入了一种 多尺度 Mel 频谱损失(multiscale Mel loss) 方法,使用了两种不同的 hop length(帧移)window size(窗长)。该方法有效缓解了在从解码器输出转换为 Mel 频谱过程中,由于降维和下采样插值所导致的信息损失。通过在多个尺度上进行优化,该方法能够保留更多细粒度的音频特征,从而提升重建的保真度和训练的稳定性。

    对于预训练的语言模型(LLM),其目标是在音频理解任务中最大化文本输出的 softmax 概率。为了确保语义对齐,我们在训练过程中保持预训练语言模型参数不更新(冻结),仅最大化其在音频理解任务中预测文本的 softmax 概率。这种做法有助于保持音频分词器与文本LLM之间的语义对齐关系

    在选择 LLM 的规模时,我们观察到,在音频理解模型的训练过程中,不同规模的 LLM 对于 ASR(自动语音识别)指标的影响很小。因此,我们最终选用了一个拥有 15亿参数(1.5B) 的预训练 LLM 进行持续训练。这个规模的模型与音频解码器在训练过程中表现出良好的匹配性,两者的梯度范数差距较小,有助于提升整体训练的稳定性。

    在量化模块的训练中,我们采用了 指数移动平均(EMA) 策略来更新码本,并使用 直通估计器(STE, Straight-Through Estimator) 来反向传播梯度至编码器。此外,我们还使用了 向量量化承诺损失(VQ commitment loss),以确保编码器的输出能够紧密对齐至码本中的条目。

    VQ 承诺损失定义如下:

    总损失是多尺度重建损失、文本音频对齐损失(对于LLM)和 VQ 承诺损失的加权组合:

    训练数据。 除了自动语音识别 (ASR)、音频查询回答 (AQA) 和语音到文本翻译 (S2TT) 等传统任务外,我们还将一定比例的音频文本交错数据纳入训练过程。此策略旨在增强 VQ 模块对复杂上下文场景进行建模的能力。具体来说,训练数据集包括 135k 小时的 ASR 数据、11k 小时的 AQA 数据、9k 小时的 S2TT 翻译数据和 52k 小时的音频文本交错数据。

    Evaluation of Baichuan-Audio-Tokenizer. 我们使用相同的数据和基础模型训练了音频理解模型的非 VQ 版本作为基线。对于 VQ 和非 VQ 模型,LLM 的参数在训练期间保持冻结,以确保公平比较并隔离 VQ 机制对整体性能的影响。从表 1 中,我们可以看到 8 层 vq 更接近基线,并且语义内容损失最少。如表 2 所示,8 层 VQ 模型和基线在多个数据集上的 ASR 结果表明,训练后的 8 层 VQ 模型实现了具有竞争力的性能。

    基于流匹配的音频解码器

    为了提升合成音频的质量与保真度,我们对音频解码模块进行了增强,引入了 Flow-Matching 模型,在 24 kHz 采样率的音频数据上训练,用于生成目标 Mel 频谱图。该 Flow-Matching 解码器 包括两个主要部分:Pre-Net条件解码器(Conditional Decoder),如图 3 所示。

    Pre-Net 负责将中间表示映射为供声码器(vocoder)使用的先验分布,结构上由一个 多层感知机(MLP) 和一个 12 层 Transformer 组成:MLP 将输入的 1280维、50 Hz 的音频特征压缩投影至 512维;接着,Transformer 对其进行精细建模;最后通过一个线性层转换为 80维的 Mel 频谱图

    条件解码器(Flow-Matching Conditional Decoder)。该部分采用基于 U-Net 的结构,并结合 OT-CFM(Optimal Transport Conditional Flow Matching) 方法进行训练,灵感来源于 Matcha-TTSCosyVoice

    U-Net 结构包括:一个下采样模块、一个上采样模块,以及 12 个中间模块,每个模块由一个 ResNet1D 层 和一个 Transformer 层(256维)组成。最终,再通过一个线性层将特征投影为 80维 Mel 频谱图

    需要注意的是,由于模型已通过重建损失编码了声学信息(如说话人音色),因此 不需要额外的说话人嵌入(speaker embeddings)。生成的 Mel 频谱图将通过 HiFi-GAN 声码器转换为音频波形。

    训练细节: 流匹配模型在约 27 万小时的音频上进行了训练,包括普通话、英语、各种方言和多语言数据。使用集成 ASR 和 MOS 过滤来改善数据质量。在训练期间,AudioEncoder、VQ 层和 AudioDecoder 是固定的,而流匹配 Pre-Net 和解码器则在 Pre-Net 中添加了先验损失进行训练。

    重建性能评估

    Audio LLM

    Baichuan-Audio 通过整合新推出的 Baichuan-Audio-Tokenizer(包括音频嵌入层和独立的音频头)扩展了预训练的 LLM。具体来说,来自 Baichuan-Audio-Tokenizer 的音频标记首先通过音频嵌入层转换为音频嵌入。音频 LLM 交替生成对齐的文本标记和音频标记,并通过特殊标记实现文本和音频之间的模态切换。生成的音频标记由独立的音频头处理,该头由 3 层深度转换器和 8 个分类头组成。最后,音频嵌入通过音频编码器(例如基于流匹配的音频编码器和声码器)以重建音频波形。

    音频嵌入。 首先,将 8 个离散音频标记通过相应数量的嵌入层相加以获得音频嵌入。由于包含一个额外的特殊标记来表示音频标记生成的结束,因此每个嵌入层的输入维度都比相应码本的大小大一。

    音频头。生成的音频标记使用独立的音频头进行处理,该音频头由 3 层深度转换器和 8 个分类头组成。深度转换器的深度为 8,可预测 8 个码本的音频嵌入。最后,分类头用于获取与音频标记相对应的每个码本的逻辑值。

    与纯文本大模型相比,语音语言模型(speech language models) 往往在生成语义连贯的输出方面存在困难。研究 [36] 指出,这一问题主要源于语音中引入了 时长信息(duration)副语言信息(paralinguistic information),例如语调、语气等。

    为了解决这一问题,我们在预训练阶段引入了两种类型的交错数据(interleaved data)音频-文本交错数据(INTLV, Audio-Text Interleaved)文本到语音交错数据(ITTS, Interleaved Text-to-Speech)

    这两种数据设计有助于提升模型的音频理解与生成能力

    在推理阶段,离散音频 token 会被送入 LLM,模型随后以交替的方式生成对齐的 文本 token音频 token。我们引入了特殊 token,用于在文本与音频模态间切换。这种强制对齐策略(forced alignment approach)确保了模型会优先生成连贯完整的文本内容,再生成对应的音频 token,从而有效引导音频 token 的生成,缓解语义退化问题

    Pre-training details

    数据: 交错数据由交替的文本和音频模态组成,并用标点符号分隔以促进跨模态知识传输。交错对齐的生成数据由完全对齐的文本和音频内容组成,旨在增强模型在文本监督下生成音频标记的能力。音频-文本配对数据(例如,ASR 和 TTS 数据)提高了基本语音任务的性能。另一方面,纯音频数据增强了独立处理音频模态的能力。交错数据收集流程如图 4 所示,分为爬取数据和合成数据两种,共获取了 14.2 万小时的 ITTS 数据和 39.3 万小时的 INTLV 数据。交错数据采用LLM进行切分,即根据文本内容中的标点符号或自然停顿进行自然切分。对于合成数据的切分文本数据,我们还采用了大型语言模型进行文本归一化 。在预训练过程中,我们排除了音频文本交错数据中音频片段的损失计算,这一设计选择与 GLM-4-Voice 不同。 在当前约 50B 的训练音频数据规模下进行的经验观察表明,计算 INTLV 数据中音频片段的损失会导致性能下降。这一决定的合理性还在于音频和文本之间固有的模态冲突,以及推理过程中不需要文本到音频的延续。因此,我们省略了 INTLV 数据中音频片段的损失计算。对于 ITTS 数据,除了初始文本片段外,还计算了音频和文本片段的损失,以增强模型在文本引导音频生成方面的能力。

    两阶段训练策略。 为了解决语音特征与文本特征的不同特征可能导致的LLM中原始文本知识的潜在破坏,我们提出了一种两阶段训练策略来缓解模态之间的训练冲突。在第一阶段,LLM的参数保持不变,只允许更新音频嵌入层和音频头的参数。在第二阶段,除文本嵌入层和 LM 头的参数外,所有参数都可训练

    监督微调细节

    监督微调阶段旨在增强模型在一系列任务中遵循复杂指令的能力。音频 SFT 数据来自大量文本指令。使用基于指令类型、多样性和整体质量的过滤策略选择高质量指令。使用 10,000 种不同语音音调的精选数据集合成音频指令。在自然对话停顿处生成和分割相应的文本响应,然后使用指定的语音音调转换为音频。这些数据集涵盖多项任务,包含大约 242k 个音频数据对。

    为了确保合成音频的质量,自动语音识别 (ASR) 被应用于生成的音频文件。将 ASR 输出与原始文本进行比较以验证质量。此过程可创建高质量的端到端对话数据集。有错误的合成音频文件将添加到文本转语音 (TTS) 数据集,而有 ASR 错误的案例将合并到 ASR 训练数据集中。这种合并具有挑战性的示例的迭代方法可增强 TTS 和 ASR 的性能。

    需要特别注意处理文本转音频导致原始文本响应不适合作为音频回复的情况。此问题是由于文本和音频之间的语调、速度和表达方式的差异而产生的。某些文本内容在转换为音频时可能无法传达预期含义或引入歧义。因此,在生成过程中仔细检查和调整此类情况至关重要。这可确保合成数据准确反映现实世界的语音交互场景,从而提高数据可靠性并提高模型的实际适用性。

    Experiment

     综合智力测评

    基于语音的对话模型面临的一大挑战是,与纯文本对话模型相比,其性能往往会下降。为了评估语音模型的“智能”,我们​​以文本到文本的建模能力为基准,评估预训练的语音到文本模型的性能。评估数据集包括两种类型:故事延续能力和常识推理能力。

    Performance in ASR/TTS Tasks

    Fleurs 、 WenetSpeech 和 KeSpeech 上的主要结果 

    Performance in Audio Understanding Tasks

    模型在音频理解基准测试中表现优异,超越了最新的开源模型。

    两种不同的设置:1)非级联方式的语音到语音生成(表示为 S → S),其中输入是音频,输出是交错的文本和音频。然后合并输出文本并用于评估。2)语音到文本生成(表示为 S → T,其中输入是音频,输出是文本,用于评估。

    总结

    Baichuan-Audio,这是一种专为音频设计的端到端大型语言模型,集成了语音理解和生成功能。该模型通过预训练的 ASR 模型对 12.5 Hz 的语音信号进行多码本离散化,从而保留了语音标记中的语义和声学信息。此外,还专门设计了一个独立的音频头来高效处理这些标记。为了平衡音频建模和语言能力保留,采用了交错数据的两阶段预训练策略。所提出的框架通过文本引导的对齐语音生成来支持语音交互,从而进一步保留了模型的基础认知能力。

    Qwen2.5-Omni -多模态端到端大模型

    这是 Qwen 系列中全新的旗舰级多模态大模型,专为全面的多模式感知设计,可以无缝处理包括文本、图像、音频和视频的各种输入,同时支持流式的文本生成和自然语音合成输出

    主要特点

    • 全能创新架构:我们提出了一种全新的Thinker-Talker架构,这是一种端到端的多模态模型,旨在支持文本/图像/音频/视频的跨模态理解,同时以流式方式生成文本和自然语音响应。我们提出了一种新的位置编码技术,称为TMRoPE(Time-aligned Multimodal RoPE),通过时间轴对齐实现视频与音频输入的精准同步。
    • 实时音视频交互:架构旨在支持完全实时交互,支持分块输入和即时输出
    • 自然流畅的语音生成:在语音生成的自然性和稳定性方面超越了许多现有的流式和非流式替代方案。Qwen2.5-Omni 支持修改输出语音的音色类型,目前支持2种音色类型。
    • 全模态性能优势:在同等规模的单模态模型进行基准测试时,表现出卓越的性能。Qwen2.5-Omni在音频能力上优于类似大小的Qwen2-Audio,并与Qwen2.5-VL-7B保持同等水平。
    • 卓越的端到端语音指令跟随能力:Qwen2.5-Omni在端到端语音指令跟随方面表现出与文本输入处理相媲美的效果,在MMLU通用知识理解和GSM8K数学推理等基准测试中表现优异。

    摘要:

    Qwen2.5-Omni,这是一种端到端的多模态模型,能够感知多种模态信息,包括文本、图像、音频和视频,同时以流式方式生成文本和自然语音响应。为了实现多模态信息输入的流式处理,Qwen2.5-Omni 的音频和视觉编码器采用了 分块处理(block-wise processing) 方法。该策略有效地解耦了长序列多模态数据的处理,将感知任务交由多模态编码器,而将长序列建模任务交由大语言模型(LLM),这种分工机制通过共享注意力机制增强了不同模态的融合。

    为同步视频输入的时间戳与音频,我们采用 交错(interleaved) 方式对音视频数据进行序列化,并提出了一种新颖的位置编码方法——TMRoPE(Time-aligned Multimodal RoPE,时间对齐多模态旋转位置编码)ps:关于旋转位置编码

    在同时生成文本和语音的过程中,为了避免两种模态之间的相互干扰,我们提出了 Thinker-Talker 架构。在该框架下:

    • Thinker 作为大语言模型,负责文本生成;
    • Talker 是一个 双轨自回归模型(dual-track autoregressive model),它直接利用 Thinker隐藏表示来生成音频标记(audio tokens)作为输出

    ThinkerTalker 均以端到端方式进行训练和推理。此外,为了实现流式音频标记解码,我们引入了 滑动窗口 DiT(sliding-window DiT),通过限制感受野来减少初始数据包延迟。

    Qwen2.5-Omni 的关键特性可总结如下:

    • Qwen2.5-Omni 是一个 统一多模态模型,能够感知所有模态信息,并以流式方式同时生成文本和自然语音响应。
    • 我们提出了一种新颖的位置编码算法 TMRoPE(Time-aligned Multimodal RoPE),该方法显式融入时间信息,以实现音视频的同步。
    • 我们设计了 Thinker-Talker 架构,以支持 实时理解语音生成
    • 在多模态基准测试中,Qwen2.5-Omni 展示了卓越的性能,相较于类似规模的单模态模型表现更优,尤其在语音指令跟随任务上,其能力可与纯文本输入任务相媲美。
    • 在需要整合多种模态的信息处理任务中(如 OmniBench 评测),Qwen2.5-Omni 达到了 最先进(state-of-the-art) 的性能。
    • 在语音生成方面,Qwen2.5-Omniseed-tts-eval 评测中表现出色,展现出强大的语音生成能力和稳健性。
    Thinker 负责 文本生成
    Talker 通过直接接收 Thinker 提供的高级表示,专注于 流式语音标记生成

    Architecture:

    图 2 所示,Qwen2.5-Omni 采用 Thinker-Talker 架构,其中:

    • Thinker 类似于大脑,负责处理和理解 文本、音频、视频 等模态输入,生成高级表示和对应的文本输出。
    • Talker 类似于人类的嘴巴,以流式方式接收 Thinker 生成的高级表示和文本,并顺畅地输出离散语音标记。

    架构细节

    • Thinker 采用 Transformer 解码器,并配备 音频编码器图像编码器,以增强信息提取能力。
    • Talker 采用 双轨【同时接收文本token和语音token】自回归 Transformer 解码器 结构(受 Mini-Omni [Xie & Wu, 2024] 启发)。
    • 训练和推理 过程中,Talker 直接接收 Thinker 的高维表示,并共享其全部历史上下文信息,使整个架构作为一个统一模型进行 端到端训练和推理
  • Mini-Omni
  • 感知:

    Qwen2.5-Omni 通过 Thinker文本、音频、图像和视频(无音频) 进行处理,将它们转化为一系列隐藏表示作为输入。具体步骤如下:

    1. 文本输入
      • 对于文本输入,我们采用 Qwen 的分词器(Byte-level Byte-pair Encoding),词汇表包含 151,643 个常规标记。
    2. 音频输入和视频中的音频
      • 音频输入(包括视频中的音频部分)首先被重采样至 16kHz 的频率,然后将原始波形转化为 128 通道的梅尔频谱图(mel-spectrogram),窗口大小为 25ms,步幅为 10ms
      • 音频编码器采用 Qwen2-Audio 的音频编码器(Chu et al., 2024b),每一帧音频表示大约对应于 原始音频信号的 40ms 时长。
    3. 图像和视频输入
      • 对于图像输入,我们采用 Qwen2.5-VL 的视觉编码器(基于 Vision Transformer(ViT) 模型,约 6.75 亿个参数),能够有效处理图像和视频输入。
      • 视觉编码器使用混合训练方法,结合图像和视频数据,确保其在图像理解和视频理解上的高效表现。
      • 为了最大程度地保留视频信息并适应音频采样率,我们采用 动态帧率(dynamic frame rate)进行视频采样。此外,为保持一致性,每个图像都被视为两个相同的帧。

    视频与TMRoPE

    TMRoPE

    我们提出了一种 音视频时间交错算法(time-interleaving),并引入了新的 位置编码方法 —— TMRoPE(Time-aligned Multimodal RoPE)。如 图 3 所示,TMRoPE 编码了多模态输入的三维位置,采用 多模态旋转位置编码(M-RoPE)ps: Qwen2-VL多模态旋转位置编码 多模位置编码】,并结合绝对时间位置。具体方法是将原始的旋转位置编码分解为三个组件:时间、图像高度和宽度。

    • 文本输入 使用相同的位置信息(位置 ID)来处理各组件,使得 M-RoPE 在文本输入中与 1D-RoPE 等效。
    • 音频输入 也使用相同的位置信息,并引入绝对时间位置编码,每 40ms 对应一个时间 ID
    • 图像输入,每个视觉标记的时间 ID 保持不变,而高度和宽度组件则根据标记在图像中的位置分配不同的 ID。
    • 音视频输入 情况下,音频依然使用相同的时间位置 ID 编码,每帧 40ms。视频则作为一系列图像处理,每帧对应的时间 ID 增量,同时高度和宽度组件的 ID 分配与图像一致。由于视频的帧率不是固定的,我们根据每帧实际时间动态调整时间 ID,以确保每个时间 ID 对应 40ms。

    在多模态输入场景下,每种模态的位置信息初始化时会将前一模态的最大位置 ID 增加 1。

    视频与音频时间交错方法

    为了使模型能够同时接收视觉和听觉信息,我们采用 时间交错方法(time-interleaving) 对带有音频的视频进行特殊设计。具体做法是:

    • 将视频的音频表示按 实际时间2 秒 切分为块。
    • 在每个 2 秒块中,先安排视频的视觉表示,再安排音频表示,从而将视频和音频的表示交错排列。

    生成:

    文本生成由 Thinker 直接生成,其逻辑与广泛使用的大型语言模型(LLM)相同,文本通过基于词汇表的概率分布进行自回归采样生成。生成过程中可能会采用一些技术,如 重复惩罚(repetition penalty)top-p 采样以提高文本生成的多样性

    语音生成中,Talker 接收 Thinker 生成的高维表示和采样的文本标记高维表示和离散采样标记的结合是这个过程中的关键。作为流式算法,语音生成需要在整个文本完全生成之前预测文本的语气和态度。Thinker 提供的高维表示隐含了这些信息,使得语音生成过程更自然。此外,Thinker 的表示主要体现语义相似性而非语音相似性,因此,即使是发音上差异较大的词,其高维表示可能非常相似,这就需要输入离散的采样标记来消除这种不确定性。

    我们设计了一个高效的语音编解码器 qwen-tts-tokenizer,它能够高效地表示语音的关键信息,并通过因果音频解码器流式解码成语音。接收到信息后,Talker 开始自回归地生成音频标记和文本标记语音生成过程中不需要与文本进行逐字和逐时间戳的对齐,这大大简化了训练数据的要求和推理过程。

    流式设计:

    在音频和视频流式交互的背景下,初始包延迟是衡量系统流式性能的关键指标。这个延迟受到多个因素的影响:1)多模态信息输入处理引起的延迟;2)从接收到第一个文本输入到输出第一个语音标记之间的延迟;3)将第一个语音段转换为音频的延迟;4)架构本身的固有延迟,这与模型大小、计算 FLOP 数以及其他因素相关。本文将随后讨论在这四个维度上减少这些延迟的算法和架构改进。

    支持预填充(Support Prefilling)

    块状预填充(Chunked-prefills) 是现代推理框架中广泛使用的一种机制。为了支持模态交互中的预填充机制,我们修改了音频和视觉编码器,以支持沿时间维度的 块状注意力(block-wise attention)。具体而言,音频编码器从对整个音频的全局注意力改为对每个 2 秒 的音频块进行注意力计算。视觉编码器则使用 Flash Attention 来实现高效的训练和推理,并通过一个简单的 MLP 层 将相邻的 2×2 标记合并为一个标记。补丁大小设置为 14,允许不同分辨率的图像被打包成一个序列。

    流式编解码器生成(Streaming Codec Generation)

    为了促进音频的流式传输,特别是对于长序列的流式处理,我们提出了一种 滑动窗口块注意力机制(sliding window block attention),该机制限制了当前标记访问的上下文范围。具体来说,我们采用了 Flow-MatchingDiT 模型。输入的code通过 Flow-Matching 转换为 梅尔频谱图(mel-spectrogram),然后通过修改后的 BigVGAN 将生成的梅尔频谱图重建回波形。

    DiT中用于编解码到波形生成的滑动窗口块注意力机制的示意图

    预训练

    Qwen2.5-Omni 由三个训练阶段组成。在第一阶段,我们锁定大型语言模型(LLM)的参数,专注于训练视觉编码器和音频编码器,利用大量的音频-文本和图像-文本对来增强 LLM 的语义理解能力。在第二阶段,我们解冻所有参数,并使用更广泛的多模态数据进行训练,以实现更全面的学习。在最后阶段,我们使用长度为 32k 的数据来提升模型理解复杂长序列数据的能力。

    该模型在一个多样化的数据集上进行预训练,数据类型包括图像-文本、视频-文本、视频-音频、音频-文本和文本语料库。我们将层次标签替换为自然语言提示,遵循 Qwen2-Audio(Chu et al., 2024a)的方法,这可以提高模型的泛化能力和指令跟随能力。

    在初始预训练阶段,Qwen2.5-Omni 的 LLM 组件使用 Qwen2.5(Yang et al., 2024b)中的参数初始化,视觉编码器与 Qwen2.5-VL 相同,音频编码器则使用 Whisper-large-v3(Radford et al., 2023)初始化。两个编码器分别在固定的 LLM 上进行训练,最初都专注于训练各自的适配器,然后再训练编码器。这个基础训练对装备模型具有坚实的视觉-文本和音频-文本关系和对齐的理解至关重要。

    预训练的第二阶段标志着一个重要的进展,它增加了 8000 亿个图像和视频相关的数据标记,3000 亿个音频相关的数据标记,以及 1000 亿个视频带音频相关的数据标记。这一阶段引入了更多的混合多模态数据和更广泛的任务,增强了听觉、视觉和文本信息之间的互动,并加深了理解。加入多模态、多任务数据集对于培养模型同时处理多任务和多模态的能力至关重要,这是一项处理复杂现实世界数据集的关键能力。此外,纯文本数据在保持和提高语言能力方面也起着重要作用。

    为了提高训练效率,我们在之前的阶段将最大标记长度限制为 8192 个标记。随后,我们引入了长音频和长视频数据,并将原始文本、音频、图像和视频数据扩展到 32,768 个标记进行训练。实验结果表明,我们的数据在支持长序列数据方面取得了显著的改进。

    Post-training

    数据格式:

    Thinker

    在后训练阶段,我们采用 ChatML 格式(OpenAI, 2022)进行指令跟随数据的微调。我们的数据集包括纯文本对话数据、视觉模态对话数据、音频模态对话数据以及混合模态对话数据。

    Talker

    我们为 Talker 引入了一个三阶段训练过程,使 Qwen2.5-Omni 能够同时生成文本和语音响应。在第一阶段,我们训练 Talker 学习上下文延续。在第二阶段,利用 DPO(Rafailov et al., 2023)增强语音生成的稳定性。在第三阶段,我们应用了多语者指令微调,以提高语音响应的自然性和可控性。

    上下文学习(ICL) 训练阶段,除了像 Thinker 那样使用文本监督外,我们还通过下一标记预测执行语音延续任务,利用包含多模态上下文和语音响应的广泛对话数据集。Talker 学会了从语义表示到语音的单调映射,同时获得了根据上下文生成具有多样化属性(如韵律、情感和口音)的语音的能力。此外,我们还实施了音色解耦技术,以防止模型将特定的声音与不常见的文本模式关联。

    为了扩大语者和场景的覆盖范围,预训练数据不可避免地包含标签噪声和发音错误,这可能导致模型产生幻觉。为了解决这个问题,我们引入了强化学习阶段来提高语音生成的稳定性。具体来说,对于每个请求和响应文本与参考语音配对的情况,我们构建了一个数据集 D,其中包含三元组数据 (x, yw, yl),其中 x 是输入序列的输入文本,ywyl 分别是良好和不良生成的语音序列。我们根据这些样本的奖励分数进行排名,奖励分数与 词错误率(WER)标点停顿错误率 相关。

    最后,我们对上述基础模型进行了语者微调,使 Talker 能够采用特定的声音并提高其自然性。

    Performance  

    我们对 Qwen2.5-Omni 进行了全面评估,与类似大小的单模态模型和 Qwen2.5-VL-7B、Qwen2-Audio 和 Gemini-1.5-pro 等闭源模型相比,该模型在所有模态中均表现出色。在需要集成多种模态的任务(例如 OmniBench)中,Qwen2.5-Omni 实现了最佳性能。此外,在单模态任务中,它在语音识别(Common Voice)、翻译(CoVoST2)、音频理解(MMAU)、图像推理(MMMU、MMStar)、视频理解(MVBench)和语音生成(Seed-tts-eval 和主观自然度)等领域表现出色。

    语音理解模型—OSUM

    OSUM: Advancing Open Speech Understanding Models with Limited Resources in Academia

    大型语言模型(LLMs)在各种下游任务中取得了显著进展,启发了业界对语音理解语言模型(speech understanding language models, SULMs)的研发,以期实现基于语音情感、性别等副语言的高表现力交互。然而,大多数先进的SULM是由行业头部公司开发的,消耗大规模的数据和计算资源。而这些资源在学术界并不容易获得。此外,虽然训练好的模型和推理代码被开源了,但训练框架和数据处理流程依然缺乏透明度,这也为进一步研究产生了障碍。在本研究中,我们提出了OSUM,一个开放的语音理解模型,旨在探索在有限的学术资源下训练SLUM的潜力。OSUM模型将Whisper编码器与Qwen2 LLM相结合,支持广泛的语音任务,包括语音识别(ASR)、带时间戳的语音识别(SRWT)、语音事件检测(VED)、语音情感识别(SER)、说话风格识别(SSR)、说话者性别分类(SGC)、说话者年龄预测(SAP)和语音转文本聊天(STTC)。通过采用ASR+X训练策略,OSUM通过同时优化模态对齐和目标任务,实现了高效稳定的多任务训练。除了提供强大的性能,OSUM还强调透明度,提供公开可用的代码,并详细介绍了数据处理流程,以期为学术界提供有价值的参考,旨在加速先进SULM技术的研究和创新。

    方案设计 

    OSUM模型将Whisper编码器与Qwen2 LLM相结合,支持广泛的语音任务,包括语音识别(ASR)、带时间戳的语音识别(SRWT)、语音事件检测(VED)、语音情感识别(SER)、说话风格识别(SSR)、说话者性别分类(SGC)、说话者年龄预测(SAP)和语音转文本聊天(STTC)。通过采用ASR+X训练策略,OSUM通过同时优化模态对齐和目标任务,实现了高效稳定的多任务训练。

    模型结构

    模型的输入包括语音和自然语言提示。不同于 Whisper 和Qwen-Audio 依靠指令标签,Osum采用描述性文本,将所有八个支持任务转换为图2所示。当前,我们的模型仅支持基于文本的响应,但是音频输出功能正在积极开发。

    如图2所示,OSUM模型由一个Speech Encoder、一个Adaptor和一个LLM组成。在训练过程中,Speech Encoder和Adaptor中的所有参数都会更新,而大语言模型则使用LoRA方法进行微调。各部分具体配置如下:

    • Speech Encoder: Whisper-Medium (769M);
    • Adaptor: Conv1D * 3 + Transformer * 4,4倍下采样;
    • LLM: Qwen2-7B-Instruct带LoRA。LoRA hyperparameters-α, rank, and dropout ratio are set to 32, 8, and 0.1,

    多任务监督训练

    训练过程包括两个阶段:

    首先,在没有LLM的情况下,对原始的Whisper模型进行多任务监督微调,多任务数据微调了 Whisper ,以确保OSUM模型的更快收敛。此外,此阶段使我们能够验证多任务数据的可靠性。具体来说,我们扩展了Whisper的指示标签,以适应更多的任务,每个前向推理仅执行一个任务。

    其次,将微调后的Whisper编码器与Qwen2大语言模型相结合,构建出完整的OSUM系统,然后使用更大的数据集进行进一步的监督训练。

    OSUM模型的输入包括一段语音和一个自然语言描述的prompt,而输出在现阶段仅支持文本回复,音频输出功能正在开发中。为节省计算资源,OSUM的多任务训练引入了一种“ASR+X”范式,即同时训练ASR任务和一个附加任务X。这在加速训练的同时,允许执行X任务时参考文本和声学两种特征,从而提升性能和训练稳定性。“ASR+X”范式是在LLM的自回归框架内通过调整预测标签来实现的,无需对模型架构或损失函数进行修改。执行不同的X任务是通过给LLM不同的自然语言prompt来实现的,每个任务有5个候选prompt,训练时随机选择一个。prompt的示例如表1所示。

    训练数据

    OSUM旨在使用多样化的语音数据集进行多任务训练,目标是构建一个能够在对话场景中全面理解输入语音的统一模型。多任务训练过程使各个任务能够从共享学习中获益,从而提升模型的整体性能。有关用于训练的数据集的详细信息见表2所示,本版本模型的训练数据规模大约为5万小时。

    技术性能

    总览

    如图2所示,OSUM 模型和Qwen2-Audio 相比,在大多数任务中,尽管 OSUM 使用的计算资源和训练数据明显更少,但它的表现优于Qwen2-Audio。

    图2 OSUM与Qwen2-Audio各项任务性能对比的雷达图。雷达图中每个模型各项任务的值是基于公开测试集和内部测试集的平均结果得出的

    各项指标与性能演示

    ASR(语音识别):如表4所示,OSUM在中文ASR上表现优越,具体地,在WenetSpeech test meeting、3个AISHELL-2子测试集以及4个内部使用的SpeechIO测试集上优于其他模型。OSUM在英语测试集上性能也可与SenseVoice-S相媲美。值得注意的是,这些结果是在使用少得多的训练数据的情况下取得的。此外,我们发现,即使在训练过程中未纳入中英混语料数据集,OSUM在识别中英混语音方面也展现出了令人惊讶的出色能力。

    表4公开测试集和内部测试集上ASR任务的评估结果。加粗字体表示同一测试集中的最佳结果。所有内部测试结果均由我们自行推理得出

    表45公开测试集和内部测试集上多任务的评估结果。每个测试集的最佳结果都用粗体突出显示。蓝色字体显示的结果以及内部测试集的结果,均是我们使用原始发布的模型自行推理得出的

    SRWT(带时间戳的语音识别):如表5所示,OSUM模型在SRWT任务上的性能显著优于Whisper-Large-v3,相对优势达到了36.70%,并且也超过了Qwen-Audio。此外,OSUM的表现甚至略微超过了GMM-HMM模型,而后者在时间戳预测任务被广泛使用。另外,此功能不仅使得OSUM能够以端到端的方式预测时间戳,更重要的是,它引导OSUM模型理解了“时间”这一概念。在将来,我们将会利用这一能力继续开发更灵活的应用,例如判断音频中何时出现了语音事件,何时出现了说话人转换等。

    VED(语音事件检测):我们首先在公开测试集ESC-50和VocalSound上评估OSUM的性能。ESC-50包含大量的非人声音频事件,我们将它们归类为“其他”。表45示的实验结果表明,OSUM可以成功地将这些非人声音频事件归类为“其他”。此外,在VocalSound数据集上的结果显示,OSUM与Qwen2-audio相比虽然存在一定差距,但也取得了超过80%的准确率。值得注意的是,为更加符合真实使用场景,我们的训练数据是语音和音频事件拼接而成,但公开测试集只有孤立的音频事件而没有说话语音。即便存在这一不匹配的情况,OSUM模型的在公开测试集上的结果也证明了其有效性和泛化性。与公开测试集不同,我们人工录制了同时包含语音和声学事件的内部测试集。表45结果表明,PANNs由于其仅为孤立音频事件检测而设计,在我们内部测试集中基本处于不可用状态。Qwen2-audio的表现相对较好,但也出现了性能下降。相比之下,OSUM模型在公开测试集和内部测试集上都取得了较为均衡的结果,展现出了更强的泛化能力。

    SER(语音情感识别):如表45示,对于SER任务,使用公开数据集的实验中,OSUM在MER2023测试集上展现出了卓越的性能,超过了一些近期的公开基准模型。在MELD数据集上,OSUM的性能略低于SenseVoice-L模型,这很可能是因为后者在更大规模的语音情感数据集上进行了训练。此外,OSUM在内部测试集上的结果与EmoBox模型相当,显著优于其他对比方法。但是,我们也观察到,厌恶和恐惧这两种情感尤其难以识别,其归因于这两种情感的训练数据更加稀缺,也容易和其他情感混淆。

    SSR(说话风格识别):表5中实验表明,OSUM所采用的声学-文本双模态风格分类方法的表现显著优于GLM-4-9B-Chat所采用的单文本模态方法,这充分证明了“ASR+X”策略的价值。现阶段OSUM能够区分八种风格:“新闻科普”,“恐怖故事”,“童话故事”,“客服”,“诗歌散文”,“有声书”,“日常口语”以及“其他”。我们详细分析了测试集上各类别的准确率,发现OSUM在对“新闻科普”、“有声书”、“童话故事”以及“客服”风格类别上表现出色;然而,在“诗歌散文”、“恐怖故事”类别上仍有提升空间。有趣的是,我们发现从实际测试的主观体验上来说,OSUM风格分类正确率是超过测试集的,总体来说可以让人满意。

    SGC(说话者性别分类):在SGC公开测试集上的结果表明,OSUM在AISHELL-1测试集上达到了100%的准确率。这一结果在一定程度上表明该任务上存在说话人过拟合现象。此外,在Kaggle测试集上,我们的方法略优于Qwen2-Audio。但在我们的内部测试集上,OSUM的性能略低于Qwen2-Audio,但依然超过了95%。总之,OSUM在SGC任务上展现出了不错的性能,而且实测效果很少出现性别判断错误的情况。

    SAP(说话者年龄预测):在SAP任务上,由于我们发现青少年和成年人的声学相似度非常高,这使得有效区分他们变得很复杂。因此,我们将年龄分为三类:儿童、成年人和老年人。尽管我们努力调试了prompt,但Qwen2-Audio在Kaggle测试集和我们的内部测试集上,年龄分类准确率都较低。这可能是因为这些模型对年龄的分类过于细致,从而影响了Qwen2-Audio模型的最终效果。表4中结果显示,OSUM在Kaggle测试集上显著优于Qwen2-Audio,达到了76.52%的准确率。在我们的内部测试集上OSUM分类准确率虽然略有下降,但仍然超过了Qwen2-Audio。这表明OSUM在不同的数据上表现出了很强的泛化能力。

    STTC(语音转文本聊天):如表5所示,在STTC任务中,我们在所有测试集上都遵循了AirBench的评估协议。这包括提供音频查询的文本以及两个不同答案的文本,让基于文本的大语言模型(LLM)给出1到10的主观评分。这两个答案一个是真实回复,另一个是语音大语言模型(SULM)生成的答案。测试结果表明,在AirBench的官方speech子测试集上,OSUM的得分虽然低于Qwen2-Audio,但也处于一个合理范围。这主要是因为我们没有使用英语对话数据进行训练,目前的得分完全依赖于大语言模型自身的表现。反之,在我们内部的中文对话测试集上,OSUM的表现优于Qwen2-Audio,这充分证明了OSUM在中文对话任务上性能是不错的。总体而言,我们的OSUM模型在对话能力方面与Qwen2-Audio相当。

    更多功能

    OSUM理解大模型在将来会提供更多的功能,可作为通用语音打标工具使用。此外,我们正在开发的功能包括:

    1. 同时支持ASR+X和单X任务模式,在执行单X任务打标时推理速度更快。
    2. 同时输出ASR+X1+X2+..Xn的多任务打标模式,一次性提供几乎全部所需标签。
    3. 增加更多的理解任务。

    Step-Audio: Unified Understanding and Generation in Intelligent Speech Interaction

    阶跃星辰:Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤),方言(如 粤语,四川话),可控制语速及韵律风格,支持RAP和哼唱等。其核心技术突破体现在以下四大技术亮点:

    • 1300亿多模态模型: 单模型能实现理解生成一体化完成语音识别、语义理解、对话、语音克隆、语音生成等功能,开源千亿参数多模态模型 Step-Audio-Chat
    • 高效数据生成链路: 基于130B 突破传统 TTS 对人工采集数据的依赖,生成高质量的合成音频数据,并同步开源首个基于大规模合成数据训练,支持 RAP 和哼唱的指令加强版语音合成模型 Step-Audio-TTS-3B ,该模型具有增强的指令遵循功能以控制语音综合的能力。
    • 精细语音控制: 支持多种情绪(如生气,高兴,悲伤)、方言(包括粤语、四川话等)和唱歌(包括 RAP、干声哼唱)的精准调控,满足用户对多样化语音生成的需求。
    • 扩展工具调用: 通过 ToolCall 机制和角色扮演增强,进一步提升其在 Agents 和复杂任务中的表现。
    端到端语音相互作用的人类评估。

    模型组成

    图2 采用了AQTA(音频输入,文本输出) + TTS框架 进行实时语音对话

    Step-Audio的体系结构。 Step-Adio主要由三个组成部分组成:语音令牌,LLM和语音解码器。语音令牌器负责将输入语音离散到令牌中。LLM模型接收文本和语音令牌,输出文本,而语音解码器生成波形输出。

    传统的语音对话系统通常采用包括ASR的级联建筑,LLM和TTS模块。但是,我们提出的模型在训练阶段进行了全面的多模式培训以及对文本和音频的一致性,已经具有端到端的语音对话功能。尽管对替代设计进行了广泛的探索,但我们最终采用了AQTA(音频输入,文本输出) + TTS框架 进行实时语音对话,如图2所示,这是由以下考虑的驱动的:

    • 高质量的纯净对话数据的稀缺性:纯净对话数据的可用性有限,再加上其受限的场景,限制了端到端语音对话模型的训练效率。
    • 输出语音的可控性和自定义:通过引入TTS模块,我们可以灵活地控制语音参数,例如音色和音调,以满足用户的个性化需求,同时不断增强模型的表现力能力。

    在Step-Audio系统中,音频流采用Linguistic tokenizer【语义】(码率16.7Hz,码本大小1024)与Semantice tokenizer【声学】(码率25Hz,码本大小4096)并行的双码本编码器方案,双码本在排列上使用了2:3时序交错策略。通过音频语境化持续预训练和任务定向微调强化了130B参数量的基础模型(Step-1),最终构建了强大的跨模态语音理解能力。为了实现实时音频生成,系统采用了混合语音解码器,结合流匹配(flow matching)与神经声码技术。此外,采用语音活动检测(VAD)模块提取声段。

    Tokenizer

    语言分词器用于提取结构化的高级表征,包括音素和语言特征;而语义分词器则用于编码语义和粗粒度的声学特征。

    我们通过token级交错方法实现Linguistic token与Semantic token的有效整合。Linguistic tokenizer的码本大小是1024,码率16.7Hz;而Semantic tokenizer则使用4096的大容量码本来捕捉更精细的声学细节,码率25Hz。鉴于两者的码率差异,我们建立了2:3的时间对齐比例——每两个Linguistic token对应三个Linguistic token形成时序配对

    linguistic tokenization 利用 Paraformer 编码器的输出,该输出以 16.7 Hz60ms一帧】 的token 速率量化为离散表示。对于语义标记化,采用 CosyVoice的 tokenization ,该 tokenization 专门设计用于高效编码生成自然且富有表现力的语音输出所必需的特征,以 25 Hz 的标记速率运行。

    语言模型

    为了提升Step-Audio有效处理语音信息的能力,并实现精准的语音-文本对齐,我们在Step-1(一个拥有1300亿参数的基于文本的大型语言模型LLM)的基础上进行了音频持续预训练。

    在多轮对话系统中音频令牌和文本令牌之间的长度差异需要有效的处理策略。为了解决这个问题,历史信息最初是在系统输入之前使用ASR模型转录为文本格式的,从而优化了计算效率。但是,应注意的是,该模型架构保留了在需要时处理和利用音频标记作为历史上下文的能力。

    语音解码器

    Step-Audio语音解码器主要是将包含语义和声学信息的离散标记信息转换成连续的语音信号。该解码器架构结合了一个30亿参数的语言模型、流匹配模型(flow matching model)和梅尔频谱到波形的声码器(mel-to-wave vocoder)。为优化合成语音的清晰度(intelligibility)和自然度(naturalness),语音解码器采用双码交错训练方法(dual-code interleaving),确保生成过程中语义与声学特征的无缝融合

    实时推理管线

    为了实现实时的语音交互,我们对推理管线进行了一系列优化。其中最核心的是控制模块(Controller),该模块负责管理状态转换、协调响应生成,并确保关键子系统间的无缝协同。这些子系统包括:

    • 语音活动检测(VAD):实时检测用户语音起止
    • 流式音频分词器(Streaming Audio Tokenizer):实时音频流处理。输入音频流是通过两个平行的令牌管道处理的,每个管道都采用固定持续分段将所得令牌无缝合并为2:3交织比的单个序列。如果没有流音频令牌,根据音频输入的长度,推理时间将明显较慢。
    • Step-Audio语言模型与语音解码器:多模态回复生成
    • 上下文管理器(Context Manager):动态维护对话历史与状态。我们的系统利用文本转录而不是原始的音频令牌来实现历史上下文,因为它提供了更紧凑的表示(平均文本审计代币比率为1:14),提高性能,并启用更长的对话,对质量的影响最小的影响很小。 ASR异步将用户语音转录为文本,并保持准确,最新的对话历史记录。

    为了减少交互延迟,系统会预先生成推测响应。这最大限度地减少了感知延迟并增强了响应速度,但代价是丢弃推测响应时偶尔会产生冗余计算。系统初始状态为 Silence ,等待用户输入。当语音激活检测 (VAD) 检测到活动语音时,系统将转换到 UserSpeaking 状态。在此状态下,流音频标记器 (Streaming Audio Tokenizer) 开始将音频转换为标记。如果用户短暂暂停,系统将进入 UserPaused 状态,并触发推测响应生成。通过预先生成响应以预期输入完成,系统可以在对话恢复时减少延迟。如果用户继续说话,则丢弃推测响应。一旦系统确信用户已结束说话,它将转换到 BotReplying 状态,提交最新的推测响应并输出其音频。如果被用户语音打断,系统将优先处理新的输入,同时保持对话的连续性。完成响应后,系统返回静默状态,准备进行下一次交互。经验分析表明,大约 40% 的推测响应能够成功提交。与非推测方法相比,此机制可将每次响应的延迟缩短约 500 毫秒。

    数据集:

    多模态预训练数据集整合了音频、文本、图像三大类数据资源。音频部分包含 1.1 万亿个音频连续数据(约 730 万小时)、1130 亿个 TTS(文本转语音)合成语音数据(约 70 万小时)、1050 亿个 ASR(自动语音识别)数据(约 65 万小时)和 3500 亿个音文交替数据(约 200 万小时)。文本数据总计 8000 亿个,涵盖网页文档、书籍、代码和专有资料。图像部分包含 8000 亿个图文配对/交替数据,来源于网页、书籍和专有资源。

    三阶段训练

    阶段 1:我们通过添加 5,120 个音频 token 来扩展预训练文本模型的词汇量,并集成预训练图像编码器,形成 Step-Omni 模型。在训练过程中,为了最大程度地降低文本模型能力的损失,文本模型主干网络的学习率始终保持在较低水平 (2e-5)。然而,嵌入和语言模型 (LM) 头的学习率设置为主干网络的五倍,以促进新添加 token 的更快收敛。同时,图像编码器在整个训练过程中保持冻结状态。在此阶段,音频、文本和图像数据的使用比例为 2:1:1,音频数据仅由纯音频延续任务组成。

    Stage2:在 Stage1 阶段使用 1.2T 个 token 进行训练后,我们将音频文本交错数据纳入进一步训练,音频后续数据与音频文本交错数据的比例为 1:1。在此阶段,音频、文本和图像数据的比例仍为 2:1:1。

    阶段 3:在阶段 2 阶段使用 800B token进行训练后,我们将 ASR 和 TTS 数据纳入进一步训练。音频连续数据、音文交织数据、ASR 数据和 TTS 数据的比例设置为 1:1:1:1。在此阶段,音频、文本和图像数据的比例调整为 4:3:3。此外,嵌入层和 LM 头的学习率与主干网络同步,采用余弦算法,学习率从 2e-5 递减至 5e-6。

    后训练细节

    在后训练阶段,我们针对自动语音识别(ASR)与文本转语音(TTS)任务进行了专项监督微调(Supervised Fine-Tuning, SFT)。对于音频输入-文本输出(Audio Question Text Answer, AQTA)任务,我们采用多样化高质量数据集进行SFT,并采用了基于人类反馈的强化学习(RLHF)以提升响应质量,从而实现对情感表达、语速、方言及韵律的细粒度控制。

    TTS模型:

    解决TTS任务中高质量语音数据的稀缺性

    Training Detail

    与传统的语音合成(TTS)系统注重对说话人特征、情感表达、语言特征和风格元素的精细控制不同,我们的方法采用了基于聊天的范式和大型语言模型(LLMs)的训练方法。这一战略对齐显著增强了系统的灵活性,同时建立了一个可扩展的框架,以支持未来模型和数据的扩展,从而解决了语音合成系统在可扩展性方面的关键挑战。

    监督的微调格式:

    SFT格式包括三个基本组成部分:系统提示、人类输入和助手回复,采用两轮对话结构。在这种格式中,系统提示作为指定说话人属性和定义支持的指令标签的基础元素。人类输入和助手回复部分则专门用于处理文本内容和双词典表示。第一轮的文本和音频标记可以用来保持领域内说话人的音色和风格一致性,同时也支持领域外的零样本克隆。

    指令标签

    指令标签分为两种不同的类别:描述性标签和比较性标签。描述性标签用于控制语言、方言、声音和风格等方面,而比较性标签则用于情感和语速控制的层次化区分。描述性标签的数据是通过Step-Audio模型克隆生成的,支持包括日语、韩语、粤语、四川方言、可爱声音、说唱和唱歌等语言和风格。比较性标签的数据则是通过Audio Edit模型生成的,支持诸如快乐、愤怒、悲伤等情感,以及快慢等语速变化,每种变化都被分为五个层级。

    我们使用第5.1.1节中概述的SFT数据,并采用一个具有30亿参数的模型,训练一个周期,初始学习率为 2×10−5。学习率采用余弦衰减策略进行调整,最低值设置为 2×10−6。

    AQTA:

    我们为AQTA任务应用了基于人类反馈的强化学习(RLHF),从而创建了Step-Audio-Chat模型,如图6所示。

    Exploring Tokenizer for Audio Pretraining

    研究了使用单码本的训练方法。在实验中,我们发现,当仅使用语义分词训练模型时,下一个分词的预测困惑度相对较低,并且生成内容与前文的语义一致性良好。然而,由于丢弃过多语义分词会导致声学信息大量丢失,后续通过声码器进行的音频恢复在音色和韵律方面会严重受损,导致听觉质量不佳。当仅使用语言分词进行训练时,声码器从模型的后续部分恢复的音频听起来不错,但下一个分词的预测困惑度非常高,并且后续部分与前文的语义一致性较差。

    当使用交错的语义标记和语言标记进行训练时,语义标记确保了后续内容与前一上下文的语义一致性,而语言标记则确保了重建音频的听觉质量。由于语义标记和语言标记之间的相互参考,我们观察到当使用双码本训练时,与使用单码本相比,语义标记和语言标记的下一个标记预测困惑度都有所降低。

    将语言离散标记和语义离散标记按 2:3 的比例分组交织,有助于加快训练损失的收敛速度。更重要的是,将语言标记扩展至 CosyVoice 语义标记,增强了模型理解和遵循多轮历史指令的能力,并有效缓解发音不清、吐字不清等问题,显著提升了 CosyVoice 单码性能。

    说明:

    用了AQTA(音频输入,文本输出) + TTS框架 情况下是如何实现多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤),方言(如 粤语,四川话),可控制语速及韵律风格,支持RAP和哼唱

    通过TTS【cosyvoice】代码可知,LLM的文本输出中会包含 {语言}【情感】 [语速] 这样的文本输出,然后TTS用于合成对应的音频: 使用[{}]的声音,根据这些情感标签的指示,调整你的情感、语气、语调和哼唱节奏

        self.sys_prompt_dict = {
            "sys_prompt_for_rap": "请参考对话历史里的音色,用RAP方式将文本内容大声说唱出来。",
            "sys_prompt_for_vocal": "请参考对话历史里的音色,用哼唱的方式将文本内容大声唱出来。",
            "sys_prompt_wo_spk": '作为一名卓越的声优演员,你的任务是根据文本中()或()括号内标注的情感、语种或方言、音乐哼唱、语音调整等标签,以丰富细腻的情感和自然顺畅的语调来朗读文本。\n# 情感标签涵盖了多种情绪状态,包括但不限于:\n- "高兴1"\n- "高兴2"\n- "生气1"\n- "生气2"\n- "悲伤1"\n- "撒娇1"\n\n# 语种或方言标签包含多种语言或方言,包括但不限于:\n- "中文"\n- "英文"\n- "韩语"\n- "日语"\n- "四川话"\n- "粤语"\n- "广东话"\n\n# 音乐哼唱标签包含多种类型歌曲哼唱,包括但不限于:\n- "RAP"\n- "哼唱"\n\n# 语音调整标签,包括但不限于:\n- "慢速1"\n- "慢速2"\n- "快速1"\n- "快速2"\n\n请在朗读时,根据这些情感标签的指示,调整你的情感、语气、语调和哼唱节奏,以确保文本的情感和意义得到准确而生动的传达,如果没有()或()括号,则根据文本语义内容自由演绎。',
            "sys_prompt_with_spk": '作为一名卓越的声优演员,你的任务是根据文本中()或()括号内标注的情感、语种或方言、音乐哼唱、语音调整等标签,以丰富细腻的情感和自然顺畅的语调来朗读文本。\n# 情感标签涵盖了多种情绪状态,包括但不限于:\n- "高兴1"\n- "高兴2"\n- "生气1"\n- "生气2"\n- "悲伤1"\n- "撒娇1"\n\n# 语种或方言标签包含多种语言或方言,包括但不限于:\n- "中文"\n- "英文"\n- "韩语"\n- "日语"\n- "四川话"\n- "粤语"\n- "广东话"\n\n# 音乐哼唱标签包含多种类型歌曲哼唱,包括但不限于:\n- "RAP"\n- "哼唱"\n\n# 语音调整标签,包括但不限于:\n- "慢速1"\n- "慢速2"\n- "快速1"\n- "快速2"\n\n请在朗读时,使用[{}]的声音,根据这些情感标签的指示,调整你的情感、语气、语调和哼唱节奏,以确保文本的情感和意义得到准确而生动的传达,如果没有()或()括号,则根据文本语义内容自由演绎。',
        }