FunAudio-ASR 语音识别大模型-解决幻觉/语种混淆,支持热词

技术报告:https://github.com/FunAudioLLM/FunAudioLLM.github.io/blob/master/pdf/FunAudio-ASR.pdf

魔搭社区体验:https://modelscope.cn/studios/iic/FunAudio-ASR

个人一些看法:1、关于语种混淆问题,目前的语音识别大模型确实存在较为严重的语种混淆,一般可以通过指定语种缓解该问题。 FunAudioLLM 提出的将CTC 的第一遍解码结果作为 Prompt 输入给 LLM,可以有效缓解该问题,这个后面可以尝试下,但个人感觉CTC能力可能不会很强,技术报告中说的CTC本身发生串语种的概率极低,这个个人表示存疑。另外关于语种混淆,感觉跟LLM本身翻译能力可能无关,应该是部分语种某些发音以及说话人发音不规范导致语种识别错误。2、对于“幻觉”问题,可以通过加入纯噪声/纯背景声进行训练。3、热词这块结合RAG,确实是个好的办法,毕竟直接注入上千的热词势必会对模型的识别产生不可控的影响,通过检索增强生成,只将少量相关性高的热词进行注入,可以避免无关信息干扰,但关键是如何利用ctc的粗解码结果检索出相关的热词,做到不漏检。4、ASR性能提升的核心还是数据,论文中无论是优化抗噪能力/幻觉问题/热词能力/混合中英语言等,基本上都依靠设计生成对应的高质量的数据!!!5、关于语音编码器的训练范式和数据量:自监督+监督学习,上千万小时的训练数据。

阿里巴巴通义实验室推出了FunAudio-ASR端到端语音识别大模型。这款模型通过创新的Context模块,针对性优化了“幻觉”、“串语种”等关键问题,在高噪声的场景下,幻觉率从78.5%下降至10.7%,下降幅度接近70%。FunAudio-ASR使用了数千万小时的音频数据,融合了大语言模型的语义理解能力,从而提升语音识别的上下文一致性与跨语言切换能力。

Abstract

FunAudio-ASR,一个结合大规模数据、超大模型、LLM整合和强化学习的先进ASR系统。该系统不仅在复杂语音场景中实现了最先进的识别性能,还通过针对实际部署的优化增强了流式处理、噪声鲁棒性、混合语言【中英】、和热词自定义能力,验证了其在真实应用环境中的高效性和可靠性。

Introduction

数据规模扩展模型规模扩展以及与大型语言模型(LLM) 共同推动ASR系统的能力提升:

  • 数据规模扩展被证明是ASR提升的基础驱动力;
  • 模型规模扩展,尤其是模型参数数量的增加,进一步放大了数据规模扩展的优势;
  • 与LLM的深度整合代表了ASR方法论的一次范式转变,不再将ASR视为独立任务,而是利用LLM丰富的语言知识和上下文理解能力来增强语音识别,例如,Seed-ASR和FireRedASR展示了引入LLM可以显著提升ASR性能,尤其在解决语义歧义和生成更连贯、上下文更合理的转录结果方面表现突出。这些模型有效地弥合了语音理解与文本理解之间的鸿沟。

FunAudio-ASR ,这是一个基于 LLM 的大规模 ASR 系统,可在大规模数据上进行训练。FunAudio-ASR 具有以下关键特性:

  • 规模化与创新性LLM整合。
  • 最先进的语音识别准确率。通过在数据规模、模型规模以及与LLM的创新架构整合方面的协同进展,FunAudio-ASR在多语言和多声学领域实现了前所未有的识别准确率,确立了ASR系统的新一代最先进水平。
  • 面向实际生产的优化。经过精心设计,以满足真实部署场景的复杂需求:
  1. 高效流式ASR架构:FunAudio-ASR采用高度高效的流式识别架构,支持低延迟实时处理,可无缝集成到视频会议、实时字幕和语音控制设备等应用中。
  2. 噪声鲁棒性增强:通过多阶段方法,显著提升系统在嘈杂环境下的识别能力。
  3. 先进的混合语言处理能力:能够在同一句话中无缝处理中英文切换这对于全球商业环境中的多语言用户至关重要。
  4. 可定制的热词识别允许用户定义特定领域的术语或短语,以提高识别准确率。该功能在医疗、企业及汽车技术等专业领域尤为有价值。

Model Architecture

FunAudio-ASR由四个关键组件组成:

  1. 音频编码器(Audio Encoder):用于从输入语音中提取特征表示,采用多层Transformer编码器实现。
  2. 音频适配器(Audio Adaptor):用于将音频编码器的输出与LLM连接,采用两层Transformer编码器实现。
  3. CTC解码器(CTC Decoder):基于音频编码器构建,用于生成初步识别参考,该参考将用于热词自定义。
  4. 基于LLM的解码器(LLM-based Decoder):在音频条件和CTC预测的基础上生成最终输出。

提出了两种不同规模的模型:FunAudio-ASR [0.7B参数的编码器7B参数的LLM解码器]和 FunAudio-ASR-nano[0.2B参数的编码器0.6B参数的LLM解码器],用以满足不同的计算资源约束和推理效率需求

Data【核心】

Pre-taining Data

预训练数据集包括约数千万小时的音频数据,涵盖无标注音频和带标注的音频-文本数据。无标注音频覆盖了人工智能、生物技术、电子商务、教育、娱乐、金融、交通等领域的广泛真实场景。对于带标注的数据,采用了完整的数据处理流程,包括:

  1. 语音活动检测(VAD),识别语音片段;
  2. 多系统伪标签生成,利用多种ASR系统(如 Paraformer-V2、Whisper 和 SenseVoice生成伪标签;
  3. 逆文本正则化(ITN)将文本恢复为标准化格式。

带标注数据的主要语言为中文和英文。

Supervised Fine-tuning Data

有监督微调(SFT)数据规模约为数百万小时,具体包括以下几类:

  1. 人工转写数据:由人工标注的高质量语音转写。
  2. 伪标签数据:由ASR系统自动生成的标注数据。
  3. 环境噪声数据:覆盖各种真实噪声场景。
  4. CosyVoice3生成的TTS数据:由TTS合成的补充语音数据。
  5. 流式模拟数据:用于优化实时流式识别能力。
  6. 噪声增强数据:通过数据增强方法引入不同类型的噪声。
  7. 热词定制数据:支持特定领域和应用场景的热词识别。

Training

Pre-training of Audio Encoder

为了开发一个强大而有效的音频编码器,以便集成到基于 LLM 的 ASR (LLM-ASR) 系统中,采用了自监督+监督学习结合的方法如上图所示,通过利用自监督学习和监督学习范式来生成高质量的语音表示,并使其能够与 LLM 中的语言知识有效匹配。

Stage 1: 基于Best-RQ的自监督学习训练encoder

Best-RQ是一种先进的语音表示学习方法,它通过对语音单元进行掩码和重建,并利用量化模块将连续表示离散化,从而在不依赖标注数据的情况下学习通用语音表示,使其能够大规模扩展到海量无标注音频数据。

创新点在于 初始化策略:发现预训练文本LLM的层可有效用于ASR系统编码器的初始化。使用 Qwen3模型的部分层参数来初始化Best-RQ编码器。该跨模态初始化策略的假设是:LLM中蕴含的深层语言与语义知识能够为语音表示学习提供有益的归纳偏置实验表明,与随机初始化相比,采用预训练文本LLM进行初始化可以显著加快训练收敛速度,并提升所学习语音表示的质量。

补充关于语音encoder的训练:

SeedASR也使用自监督学习进行预训练,特点是contrastive-loss[对比损失]和 codebook-diversity-loss去训练模型的speech representation和codebook。

Seed-ASR endoer training

Best-RQ的自监督学习方法:为了使用类似BERT的方式自监督训练语音识别,需要把语音连续的语音信号搞成类似文本text这样的离散的token,常用的手段是通过学习语音表征的方法,BEST-RQ使用一个离散的随机量化器来近似的表示连续的语音信号这个随机的量化器训练阶段是固定不变的,这样就不用再像wav2vec 2.0中使用contrastive-loss[对比损失]和 codebook-diversity-loss去训练模型的speech representation和codebook。

主要特点在于:不在使用contrastive loss去学习音频表征(无contrastive-loss),极大简化了SSL训练的过程,并且因为量化器是随机初始化并固定的,因此codebook和训练的encoder模型解耦了。

BEST-RQ 训练范式

Stage 2: 基于encoder-decoder (AED) 进行 Supervised pre-training 

参考SenseVoice-Large的训练方法,编码器在大规模标注的 ASR 数据集上进行端到端训练,使用标准的序列到序列学习目标。目标是获得一个从转录语音数据中学习到丰富的声学和语言特征的编码器,训练好的该编码器将用于初始化下游 LLM-ASR 系统中的音频编码器。

通过上述预训练阶段,减少了从头开始进行大量低级特征学习的需要,从而加速了训练收敛。

Supervised Fine-tuning

监督微调(SFT)包括四个连续的阶段:

阶段 1保持预训练的音频编码器和 LLM 参数冻结,仅训练适配器模块,使音频编码器的输出表征能够与 LLM 的语义空间对齐。本阶段的训练数据约为 20 万小时

阶段 2:依然冻结 LLM 参数,同时训练音频编码器和适配器模块,以学习更好的语义表征。本阶段使用约 1000 万小时的低成本 ASR 训练数据,并训练 1 个 epoch

阶段 3冻结音频编码器和适配器模块,仅使用 LoRA(低秩适配)更新 LLM 参数LoRA 微调的目的是在保持模型文本生成能力的同时,缓解对预训练知识的灾难性遗忘。本阶段使用 2 万小时的 ASR 数据

阶段 4对音频编码器和适配器进行全参数微调,同时对 LLM 采用 LoRA 进行微调。在此阶段,仅使用 高质量数据 300 万小时语音)。这些转录数据由 Whisper-Large-V3、FireRed-ASR 和 SenseVoice 三个不同的 ASR 模型进行评估

阶段 5:如图 2 所示,我们在音频编码器之上添加了一个 CTC 解码器。在该训练阶段,音频编码器保持冻结,仅训练 CTC 解码器该 CTC 解码器通过 贪心搜索(greedy search)生成初始识别假设。随后,这个一次性解码结果被用于 检索增强生成(RAG),以获取上下文信息。

此外,通义实验室发现,给语音大模提供必要的上下文,可以减少文本生产时候的幻觉现象。为此,设计了 Context 增强模块该模块通过 CTC 解码器快速生成第一遍解码文本,并将该结果作为上下文信息输入 LLM,辅助其理解音频内容。由于 CTC 结构轻量且为非自回归模型,几乎不增加额外推理耗时。此外,观察到幻觉问题在高噪声场景中更易发生,因此在训练数据中加入了大量仿真数据。我们构建了一个包含 28 条易触发幻觉音频的测试集,经优化后,幻觉率从78.5% 下降至 10.7%。 

 上下文监督微调

作为 内容先验(content prior),上下文信息可以有效帮助模型在 ASR 任务中

  1. 识别关键文本内容从易混淆的发音中消除歧义
  2. 提高长时连续语音识别的准确性尤其在复杂场景下表现显著

因此,在完成 SFT 训练后,我们进一步在 具有上下文信息和长时语音 的数据上训练 FunAudio-ASR,以增强其 上下文建模能力

  • 音频样本的时长可达 5 分钟
  • 对于较长的样本,我们将其进行切分,并将前一段的转录文本添加到当前音频段的前面,作为提示(prompt)。

由于高质量上下文音频数据严重匮乏,通过以下步骤构建了 超过 5 万小时的带上下文内容的 SFT 数据

步骤 1:关键词提取。为了生成与当前对话内容相关的上下文信息,我们首先使用 Qwen3-32B从转录文本中提取关键词。关键词通常包括实体、专业术语以及特定时间段等,这些是 ASR 系统容易识别错误或遗漏的词汇。

步骤 2:相关上下文生成。利用 Qwen3-32B 模型生成上下文内容:

  • 给定当前对话内容和提取出的关键词,提示 Qwen3-32B 合成多个、多样化的上下文内容,这些内容应与口语对话特征相符。
  • 对合成的上下文内容,通过 关键词匹配 筛选,剔除未包含指定关键词的片段
  • 如果在第一步中未提取到任何关键词,则仅根据当前对话内容提示 LLM 合成上下文

步骤 3:无关上下文混合。为了防止模型对上下文过度依赖,从数据集中为每条对话随机抽取 五条无关上下文片段,并与生成的相关上下文混合,形成最终的上下文 SFT 训练数据。

Reinforcement Learning

设计了 FunRL,一个专为 大规模音频-语言模型(LALMs) 定制的高效强化学习(RL)框架。与文本 LLM 不同,作为 LALM 的 FunAudio-ASR 包含一个音频编码器,用于将语音转换为嵌入向量,而现有的 RL 框架或 Trl原生并不支持这一组件。

如图 4(a) 所示,FunRL 使用 Ray 协调音频编码器、rollout 和策略模块,使它们能够交替使用 GPU 资源:

  1. 音频编码器推理阶段
    • 将所有输入音频批量处理,通过基于 Torch 的编码器提取音频嵌入。
    • 提取的嵌入从 GPU 转移到 CPU。
  2. SGLang LLM Rollout
    • GPU 控制权转交给 SGLang Rollout 模块,根据音频嵌入和指令文本 token 生成多个假设序列。
    • 每个假设根据预定义规则分配奖励(奖励规则将在后文详细说明)。
  3. FSDP LLM 策略优化
    • 利用音频嵌入和生成的假设序列计算输出概率,并通过 RL 进行策略优化。
    • 每次更新后,将优化后的策略同步回 Rollout 模块,保证 RL 过程保持 on-policy

我们在 8 块 A100 GPU 上评估了 FunRL 的训练效率(如图 4(b)):

  • 对大约 1 小时输入音频,每个训练步骤约需 54.6 秒,对应实时因子(RTF)约为 0.015
  • 如图 4(b) 所示,SGLang Rollout 阶段占据了大部分计算时间,而设备切换开销仅占总时间的不到 6%。

这表明 FunRL 的交替 GPU 利用策略非常高效,使其成为 大规模音频-语言模型 RL 训练的可扩展且有效的解决方案

GRPO-based RL for ASR

基于 FunRL 框架,对 FunAudio-ASRGRPO(Generalized Reinforced Policy Optimization) 强化学习算法进行了增强。

策略优化采用 裁剪目标(clipped objective) 并直接施加 KL 惩罚项(KL penalty term)

我们观察到,当 WER(词错误率) 被用作值函数时,GRPO 与 最小词错误率(MWER, Minimum Word Error Rate) 方法非常相似,MWER 是 ASR 社区广泛采用的优化标准。在本文中,我们进一步设计了一组新的值函数 {Rk(yi,yi)}k=1K,以同时提升 ASR 性能和用户体验:

  1. ASR 准确率(R1i
    • 为直接优化识别质量,我们以 1−WER(y∗,y) 作为基础值函数,其取值范围为 [0,1]。
  2. 关键词准确率与召回率(R2i
    • 由于关键词对用户体验影响显著,我们将 关键词召回率 作为奖励组件。每条语音的关键词可通过人工标注或 LLM 自动识别获得。
    • 仅使用召回率可能会增加插入错误,因此我们同时加入 关键词准确率,以平衡精度与召回。
  3. 噪声鲁棒性与幻觉抑制(R3i
    • 在 LLM ASR 系统中,幻觉(hallucination)是常见问题,尤其在嘈杂环境下。
    • 为缓解这一问题,通过正则表达式匹配检测幻觉内容,并按幻觉片段长度施加惩罚。
  4. 语言一致性(R4i​)
    • 某些情况下,模型可能错误生成语音翻译而非转录。
    • 为保证语言一致性,如果输出语言与源语言不匹配,则最终奖励设为 −1

R4i外,所有函数结果会求和得到最终的 Ri​。虽然 R2iR4i的效果在一定程度上可由 ASR 准确率反映,但实验结果表明,加入这些规则能显著改善用户体验,并在困难样本上降低 WER。

构建 RL 训练数据

针对应用场景中的实际问题,我们采用以下方法构建一个小但高质量的 RL 训练数据。

困难样本(Hardcase Samples)

  • 收集大量未标注语音,并使用 FunAudio-ASR(上下文 SFT 后) 以及其他三个独立 ASR 系统(Whisper、FireRed-ASR、SenseVoice)进行转录。
  • 当三个外部系统输出一致(WER < 5%),但与 FunAudio-ASR 差异显著(WER > 10%)时,将该样本识别为 困难样本,并纳入 RL 训练集。

长时语音样本(Long-duration Samples)

  • 选择时长超过 20 秒 的音频片段,以提升模型对长语音输入的识别能力。
  • 现实应用中长语音常见,但训练数据中比例不足(<10%)。

幻觉相关样本(Hallucination-related Samples)

  • 特别包括基础模型出现幻觉的语料,例如输出明显长于真实文本或出现重复片段
  • 同时加入参考转录中存在长重复词或短语的语句,这类样本与幻觉类似,但是真实存在,用于帮助模型区分 真实模式虚假模式

关键词与热词样本(Keyword and Hotword Samples)

  • 对于没有预设热词的语句,使用 Qwen-2.5 7B 识别显著关键词。
  • 热词特定训练中,将参考转录中的热词作为目标关键词。

常规 ASR 数据(Regular ASR Data)

  • 包含部分标准 ASR 数据,以缓解 灾难性遗忘,并在 RL 训练中保持通用识别性能。

面向生产的优化

Streaming Ability

为了增强大规模音频语言模型 FunAudio-ASR流式识别能力,我们构建了 流式训练数据,显式模拟流式解码过程,从而减少训练与推理之间的不匹配。

具体方法如下:

  1. 从离线训练语料中抽取一个子集。
  2. 将训练语料转化为 增量分块输入(incremental, chunked inputs),每个块仅暴露过去的上下文信息。
  3. 将这种模拟流式训练数据与原离线训练数据结合进行微调,从而提升模型在流式解码场景下的性能。

Noise Robust Training

鉴于现实部署场景的多样性,FunAudio-ASR 必须在 复杂声学环境(如餐厅、火车站、商场等)下保持可靠性能,且不出现显著性能下降。然而,要构建一个能完整覆盖真实噪声环境复杂性和多样性的语料库几乎不可能。

为应对这一挑战,我们采用了 大规模噪声数据增强策略

  1. 从内部语料库中选择约 11 万小时低噪语音1 万小时噪声样本
  2. 将它们组合生成约 11 万小时离线模拟噪声语音,平均信噪比(SNR)为 10 dB,标准差为 5 dB。
  3. 为进一步提升数据多样性,随机选择 30% 训练语音 进行 在线数据增强,在训练过程中混入环境噪声。

通过这种综合性的噪声鲁棒性训练策略,在复杂噪声评估集上平均实现了约 13% 的相对性能提升

多语言 ASR

不同语言的训练数据可用性差异显著。资源丰富的语言,如 中文(普通话)英语,数据充足;而 越南语泰语 等语言的数据相对有限。

FunAudio-ASR 的主模型为中文-英语模型。为提升多语种 ASR 性能,我们训练了额外的 多语种 FunAudio-ASR 模型(FunAudio-ASR-ML),支持以下语言:

  • 中文(普通话)
  • 英语
  • 越南语
  • 泰语
  • 印尼语

训练策略如下:

  1. 对中文和英语数据进行 下采样,减少过度占比。
  2. 对越南语、泰语和印尼语数据进行 上采样,平衡数据分布。
  3. 多语种数据集总量约 50 万小时音频
  4. 训练方法与中文-英语 FunAudio-ASR 模型相同。

混合语音(code-switched)

混合语(code-switched)语音的识别一直是 ASR 的挑战。为优化 中文-英语混合语 的 ASR 性能,我们通过以下步骤合成混合语训练数据:

  1. 收集关键字
    • 收集超过 4 万条英语关键词或短语,覆盖技术、教育、金融、体育等常见领域。
  2. 生成混合语文本
    • 使用 Qwen3模型,根据从上述池中随机选择的关键词,生成中文-英语混合语文本。
  3. 合成语音
    • 利用 文本转语音(TTS)模型,为 LLM 生成的混合语文本合成多种声音的语音数据,从而得到最终的 混合语训练语料

热词定制

FunAudio-ASR 中,我们实现了基于 RAG(Retrieval-Augmented Generation)热词定制机制。具体方法如下:

  1. 构建热词词表
    • 每个预设热词通过预定义词典被转换为 音素序列(中文)或 子词序列(其他语言)。
  2. 热词检索
    • 推理阶段,根据 CTC 假设输出 与热词词表条目的 音素级或子词级编辑距离,检索热词候选。
  3. 生成定制输出
    • 将检索到的热词候选、音频输入和 CTC 预测结果一起作为 LLM 的输入(如图 2 所示),生成热词定制的最终输出。

定制化识别通过提高特定词汇(如人名、术语等)的识别优先级,来提升它们的召回率,同时不影响整体准确度。

传统方法直接将用户词表输入大模型,虽然简单,但词量增多时干扰增强,效果下降。为解决这一问题,通义实验室采用RAG(检索增强生成)机制:

  • (1)构建知识库:将用户配置的定制词构建成专属RAG库;
  • (2)动态检索:依据CTC第一遍解码结果,从RAG库中抽取相关词汇;
  • (3)精准注入:仅将相关词汇注入大语言模型的提示词中,避免无关信息干扰。

该方法可在不增加计算负担的前提下,支持上千定制词,并保持高识别效果。

缓解幻觉

尽管通过训练将声学特征对齐到文本特征空间,由于声学特征 Embedding 与真实的文本 Embedding 仍然存在这一定的差距,这会导致LLM在生成文本时发生幻觉的现象。

在 ASR 中,幻觉(hallucination) 指模型生成的文本并未出现在输入音频中。这一问题在 静音段、说话者突然打断噪声环境 下尤为严重,模型可能在没有语音的情况下产生虚假转录。

为缓解幻觉问题,FunAudio-ASR 采用以下策略:

  1. 数据增强阶段引入零填充(zero-padding)
    • 在向音频信号添加噪声前,先在音频中插入零填充,从而生成 纯噪声前缀片段
  2. 模型学习纯噪声识别
    • 该策略迫使模型学会识别仅含噪声的输入,并将输出与实际音频对齐,从而降低幻觉文本生成的概率。

实验表明,这种方法显著提升了 FunAudio-ASR 在多样声学条件下的 鲁棒性、准确性和稳定性

此外,通义实验室发现,给语音大模提供必要的上下文,可以减少文本生产时候的幻觉现象。为此,设计了 Context 增强模块该模块通过 CTC 解码器快速生成第一遍解码文本,并将该结果作为上下文信息输入 LLM,辅助其理解音频内容

由于 CTC 结构轻量且为非自回归模型,几乎不增加额外推理耗时。此外,观察到幻觉问题在高噪声场景中更易发生,因此在训练数据中加入了大量仿真数据。我们构建了一个包含 28 条易触发幻觉音频的测试集,经优化后,幻觉率从78.5% 下降至 10.7%。 

测试结果:

  • 错误识别结果:你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你你我说不尽的春风吹又生
  • ours 大模型识别结果:离离原上草一岁一枯荣
  • FunAudio-ASR识别结果:是我说不尽的中国味。
  • 豆包大模型识别结果:别急别慌。我说不见的。

“串语种”问题

“串语种”是语音大模型落地中的另一类典型问题。具体表现为:输入音频内容为英文,模型输出却为中文文本。这是因为文本 LLM 本身具备翻译能力,在声学特征映射不够精确时,模型可能在推理过程中“自动启动”翻译功能,从而影响语音识别的准确性。

在 FunAudio-ASR 的 Context 增强模块中,CTC 解码器经过高质量数据训练,本身发生串语种的概率极低。通过将 CTC 的第一遍解码结果作为 Prompt 输入给 LLM,可有效引导模型聚焦于语音识别任务,缓解“翻译”行为的发生。

Evaluation

我们在开源 ASR 基准数据集和真实工业评测集上对 FunAudio-ASRFunAudio-ASR-ML 进行了评测。
在开源评测方面,我们使用了 AIShell-1、AIShell-2、Librispeech 、Fleurs、WeNetSpeech、Gigaspeech2 等数据集的相应测试集。然而,这些开源数据集长期公开,存在数据泄漏进入模型训练集的风险。为保证评测的可靠性与无泄漏性,我们额外收集了 2025年6月30日之后YouTubeBilibili 新上传的视频,并进行人工转写,构建了一个独立的测试集。

在噪声鲁棒性评测方面,我们使用了真实环境下采集的音频,覆盖多种场景:食堂、餐厅、会议室、办公室、户外、公园、商店、街道、地铁、超市和步行街。这些数据进一步按声学条件和话题进行分类,以更全面地评估系统在复杂多样场景下的表现。

Overall results

我们首先在开源基准上评测了近期发布的 ASR 系统,结果如表 1 所示。在这些数据集上,所有模型的 WER(词错误率)都非常低,甚至有一些开源模型在 LibrispeechAIShell 数据集上的表现超越了商业 API。
然而,如表 2 所示,在真实的工业评测集上,Seed-ASR-API 在多数场景,尤其是噪声环境下,表现出明显优势。这表明 在开源测试集上的表现并不能可靠反映真实世界的 ASR 能力,因此需要定期更新评测集以避免数据泄漏。

相比开源模型与商业 API,我们的 FunAudio-ASR 在开源基准(表 1)和工业数据集(表 2)上均取得了 SOTA(最优)性能
由于所有训练数据都在 2025年6月30日之前 收集,确保了评测过程中 无数据泄漏,使得结果可信且可复现。值得注意的是,FunAudio-ASR-nano(仅 0.8B)也超越了开源模型,并且在性能上接近 Seed-ASR

Streaming ASR Performance

为了评估 FunAudio-ASR 模型的流式识别能力,我们在与离线语音识别相同的测试集上进行了实验,结果如表 3 所示。与 Seed-ASR 相比,我们的 FunAudio-ASR 模型在不同测试集和不同场景下都表现出更优异的性能。

Evaluation on Noise Robustness

表 4 中展示了 噪声鲁棒性评估。结果表明,噪声鲁棒训练(NRT) 对于工业应用至关重要。在餐厅、超市等复杂环境中,NRT 能带来超过 30% 的相对提升,这是因为基于大模型的 ASR 系统在此类声学条件下容易生成幻觉式输出。此外,强化学习(RL) 进一步增强了模型的噪声鲁棒性。

Code-switching Evaluation

用两个测试集 A 和 B 来评估构建的语码转换训练数据的有效性:

热门词汇定制评估

热词评测 中,我们选择了一些带有特殊主题的音频,包括 生物、数学、宗教、食品、姓名、天文学、化学、哲学和物理,因为技术术语的识别对大多数 ASR 系统来说仍然是关键但具有挑战性的任务。表 6 的结果表明,FunAudio-ASR 可以从热词定制中显著受益。在大多数主题上,FunAudio-ASR 的 召回率(recall)可以提升到 0.97 以上。在 姓名 主题上,召回率甚至可以从 0.75 提升到 1.0。这表明 热词定制不仅仅是提供上下文信息,而是真正激发并强化了目标关键词的识别

Multilingual ASR Results

我们还在多个开源测试集和内部行业测试集上评估了我们的多语种 ASR 模型 FunAudio-ASR-ML。表 7 给出了测试结果。由表 7 可见,在 中文和英文的开源测试集及内部行业测试集 上,我们的多语种 ASR 模型 FunAudio-ASR-ML 相较于 Kimi-Audio具有更优或相当的效果。我们还将该模型与其他多语种 ASR 模型进行了比较,例如 Whisper large v3 、dolphin-small和 seamless-m4t large v2 。与这些模型相比,我们的 FunAudio-ASR-ML 同样能够获得 SOTA 性能

Effect of Reinforcement Learning

表 8 显示,RL 在 FunAudio-ASR 训练中发挥了关键作用,在离线和流式条件下分别带来了约 4.1% 和 9.2% 的相对提升。对于离线 ASR,相较于干净或开源数据,在嘈杂和复杂环境下的音频上性能提升更为显著。值得注意的是,在流式 ASR 设置中,改进幅度更大。RL 有助于抑制插入和删除错误,这些错误往往源于模型在完整发音尚未结束前的过早终止或预测。

如表 6 所示,RL 还能 有效增强热词集成,在大多数测试集上都提升了准确率和召回率。在某些领域(如哲学和宗教),RL 模型的准确率或召回率可能略低于基线模型;然而,整体 WER 仍然降低。这是因为在 RL 训练过程中,关键词的选择基于实际转录而非输入提示,从而使 FunAudio-ASR 能够更好地识别领域特定术语——即便这些专业词汇未被显式包含在热词列表中。

Limitations and Future Plans

尽管我们的 FunAudio-ASR 模型在多项评估中都取得了优异的成绩,但仍存在一些局限性。首先,它主要针对中文和英文进行优化,尤其是在流媒体性能和启动词自定义方面,因此对其他语言的支持仍然有限。其次,有效上下文窗口受限;如果没有外部语音活动检测 (VAD) 模块,系统难以稳健地处理长时间录音。第三,当前版本不支持远场或多声道音频。我们计划在未来的工作中解决这些局限性。

Qwen3-ASR:语音识别大模型

Qwen3-ASR-Flash实现了⾼精度⾼鲁棒性的语⾳识别性能,⽀持11种语⾔和多种⼝⾳。与众不同的是,Qwen3-ASR-Flash⽀持⽤户以任意格式提供⽂本上下⽂,从⽽获得定制化的 ASR 结果,同时还⽀持歌声识别。

Qwen3-ASR-Flash 单模型支持多种语言、方言和口音的精准转录:

  • 中文:包括普通话以及四川话、闽南语、吴语、粤语等主要方言。
  • 英语:支持英式、美式及多种其他地区口音
  • 其他支持语言:法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语和阿拉伯语。

为获得定制化的ASR结果,用户可提供任意格式的背景文本来获得倾向性ASR结果,Qwen3-ASR-Flash无需对上下文信息进行格式预处理。

支持的格式包括但不限于:

  • 简单的关键词或热词列表。
  • 任意长度和来源的完整段落或整篇文档。
  • 以任意格式混合的关键词列表与全文段落。
  • 无关甚至无意义的文本(模型对无关上下文的负面影响具有高度鲁棒性)。

 性能表现:

核心特性:

  • 领先的识别准确率:Qwen3-ASR-Flash在多个中英文,多语种benchmark测试中表现最优。
  • 惊艳的歌声识别能力:支持歌唱识别,包括清唱与带bgm的整歌识别,实测错误率低于8%。
  • 定制化识别:用户可以以任意格式(如词汇表、段落或完整文档)提供背景文本,模型能智能利用该上下文识别并匹配命名实体和其他关键术语,输出定制化的识别结果。
  • 语种识别与非人声拒识:模型能精确分辨语音的语种,自动过滤非语音片段包括静音和背景噪声
  • 鲁棒性:面对长难句、句中语言切换和重复词语等困难文本模式,以及在复杂的声学环境中,模型仍能保持高准确率

WenetSpeech-Yue:大规模粤语语音语料库

论文题目:WenetSpeech-Yue: A Large-scale Cantonese Speech Corpus with Multi-dimensional Annotation

  • 论文预印版:https://arxiv.org/abs/2509.03959
  • 仓库地址:https://github.com/ASLP-lab/WenetSpeech-Yue
  • Demo展示:https://aslp-lab.github.io/WenetSpeech-Yue/
  • WenetSpeech-Yue数据集地址:https://huggingface.co/datasets/ASLP-lab/WenetSpeech-Yue
  • WSYue-ASR-eval: https://huggingface.co/datasets/ASLP-lab/WSYue-ASR-eval
  • WSYue-TTS-eval: https://huggingface.co/datasets/ASLP-lab/WSYue-TTS-eval
  • ASR模型地址:https://huggingface.co/ASLP-lab/WSYue-ASR
  • TTS模型地址:https://huggingface.co/ASLP-lab/WSYue-TTS

背景动机

语音理解与生成的飞速发展离不开大规模高质量语音数据集的推动。其中,语音识别(ASR)和语音合成(TTS)被公认为最首要的任务。但对于拥有约 8490 万母语使用者的粤语而言,受限于标注资源匮乏,研究进展缓慢,ASR 与 TTS 的表现始终不尽如人意。现有公开的粤语语料库在规模、风格和标注维度上普遍存在不足。例如 Common Voice 和 MDCC 等项目过度依赖人工标注,仅能提供小规模数据;评测集大多局限于短句,缺乏对复杂语言现象的覆盖。同时,这些语料往往只提供语音-文本对齐信息,缺乏说话人属性或声学质量等元数据,极大限制了其在自监督学习、风格建模和多任务训练中的应用,导致主流 ASR 与 TTS 系统在粤语任务上表现欠佳,并在真实场景中泛化能力不足。

为解决上述问题,西北工业大学音频语音与语言处理研究组(ASLP@NPU)联合中国电信人工智能研究院、希尔贝壳、香港科技大学和Wenet开源社区,提出了 WenetSpeech-Pipe ——一个面向语音理解与生成、支持多维度标注的大规模语音语料构建一体化流程。该流程包含六个模块:音频采集、说话人属性标注、语音质量标注、自动语音识别、文本后处理与识别结果投票,能够生成丰富且高质量的标注。基于该流程,构建并发布了 WenetSpeech-Yue ——首个大规模粤语多维标注语音语料库,涵盖 21800 小时、10 大领域的粤语语音数据,并包含 ASR 转录、文本置信度、说话人身份、年龄、性别、语音质量评分等多种标注信息。同时,我们还发布了 WSYue-eval,这是一个全面的粤语评测基准,包含两个部分:WSYue-ASR-eval(人工标注集,用于评测短句/长句、粤英转换及多样声学条件下的 ASR 性能),以及 WSYue-TTS-eval(基础与覆盖子集,用于标准测试与泛化能力测试)。实验结果表明,基于 WenetSpeech-Yue 训练的模型在粤语 ASR 与 TTS 任务中表现优异,性能超越最先进(SOTA)的系统,并与商业系统相媲美,凸显了该数据集与流程的重要价值。

WenetSpeech-Pipe

 WenetSpeech-Pipe 框架如图 所示,由六个模块组成:(A) 音频采集,(B) 说话人属性标注,(C) 语音质量标注,(D) 自动语音识别,(E) 文本后处理,以及 (F) 识别结果投票。

音频采集: WenetSpeech-Pipe 首先从多个领域(如故事、影视、评论、Vlog、美食、娱乐、新闻和教育)大规模采集真实语音数据。由于原始录音多为几十分钟至数小时的长音频,不适合直接用于模型训练或对齐,因此系统通过语音活动检测(VAD)自动切分为短音频片段,从而生成可用于转写和质量评估的语句级数据,为后续处理奠定基础。

说话人属性标注:为了丰富数据集,使其具备多说话人建模和风格感知合成所需的说话人级别元数据,WenetSpeech-Pipe 引入了 说话人属性标注阶段。首先,利用 pyannote 工具包 进行说话人分离,为同一录音中的短片段分配局部说话人标签,实现录音内的说话人区分
其次,利用 Vox-Profile对每个片段的说话人进行年龄和性别估计,从而生成说话人属性注释。该流程最终得到带有说话人身份、年龄和性别信息的语句级片段,形成多维度的元数据,有助于监督建模和可控风格的语音建模

语音质量标注:WenetSpeech-Pipe 在语音质量评估阶段结合三种方法:Brouhaha 计算信噪比、DNSMOS 预测主观质量分、带宽检测分析频谱特性,从而为每个片段生成包含 SNR、MOS 与频谱参考的结构化质量标注,支撑高保真语音建模。

ps:关于 Brouhaha: multi-task training for voice activity detection, speech-to-noise ratio, and C50 room acoustics estimation:
代码:https://github.com/marianne-m/brouhaha-vad
给定一个音频片段,Brouhaha 可以提取:语音/非语音片段,语音噪声比 (SNR),C50,测量环境混响程度。

DNSMOS:基于多阶段自我学习(multi-stage self-teaching) 的无参考感知客观指标:DNSMOS,用来评估噪声抑制模型的语音质量。基于 CNN;输入为语音频谱;训练以人类主观评分为目标,采用自我学习提升性能.

自动语音识别:单一 ASR 系统通常会因架构限制、训练数据不足或领域不匹配而表现出系统性偏差和错误模式。为了缓解这些问题并提升转写可靠性,WenetSpeech-Pipe 采用 多系统集成识别 方法,结合不同的识别范式。具体来说,每个音频片段会被 独立输入到三个高性能粤语 ASR 系统:开源模型 SenseVoice、Whisper,以及商用系统 TeleASR。这些系统在架构、训练数据和优化目标上各不相同,因此能够形成互补的错误分布和多样的语言假设。最终输出为每条语句的三份并行转写,作为后续融合与优化的基础输入。

文本后处理:WenetSpeech-Pipe 通过文本后处理统一多系统转写结果:使用 OpenCC 繁转简,去除符号与标签,规范数字和日期格式,并在中英文间加空格。这样生成的规范化转写确保 ROVER 融合时不会受表层差异干扰。

  • 使用 OpenCC 将繁体字统一转换为简体字
  • 去除所有标点和特殊符号
  • 基于规则重写统一数字与日期表达
  • 在粤语与英语单词之间插入空格,便于双语建模。

经过上述步骤,系统获得了跨三套 ASR 的标准化转写,作为 ROVER 模块的鲁棒输入,避免表层差异干扰语音与词汇层面对齐。

为了确保不同 ASR 系统之间的转写格式一致,我们提出了一个集成的文本后处理框架,包含四个关键操作:

  1. 标点去除:通过正则表达式匹配,删除符号类字符
  2. 繁转简:利用 OpenCC 库实现繁体到简体的转换;
  3. 文本规范化:使用 an2cn 工具进行数字的标准化转换;
  4. 合理分词:借助 Pangu 工具实现恰当的词间空格。

这四个步骤共同作用,能够在不同 ASR 系统输出存在差异的情况下,保证生成标准化的文本格式。

识别结果投票:虽然文本后处理统一了转写表层形式,但在词汇选择、分词和音素表示上仍存在差异。为了得到统一且高精度的参考转写,WenetSpeech-Pipe 采用了 ROVER (Recognizer Output Voting Error Reduction) 框架 ,通过多系统投票提升转写精度。

在实现上,标准 ROVER 流水线被扩展以更好地适应粤语:

  • 使用动态规划对三套系统的转写结果进行对齐;
  • 引入候选过滤模块,计算某系统输出与其余两套平均转写的编辑距离,若超过阈值则剔除该系统结果;
  • 在每个对齐位置,选择最常出现的词,并将整体投票频率作为语句级置信度;
  • 并行引入 基于拼音的投票,结合字符级投票,保证音素一致性。

为进一步提高转写准确率,系统引入 大语言模型 Qwen3-4B,在共识输出的基础上进行最小化的上下文感知修正,仅在语法、用词或命名实体方面做必要调整,保持口语内容的完整性。

字级别时间戳对齐:最后,使用预训练声学模型在字符级别上强制对齐修正后的转写与原始音频,从而获得精确的逐字符时间戳支持更精细的语音处理和下游任务

Meta Data Example:

将所有音频的元数据以标准化的 JSON 格式进行存储。核心字段包括:

  • utt_id每个音频片段的唯一标识符)、
  • rover_result来自三个 ASR 转写结果的 ROVER 融合结果)、
  • confidence文本转写的置信度分数)、
  • jyutping_confidence粤语拼音转写的置信度分数)、
  • duration音频时长)。

说话人属性(Speaker attributes)包含参数:speaker_id性别(gender)和年龄(age)。音频质量评估指标包括专业测量项:采样率(sample_rate)DNSMOSSNR。时间戳信息(timestamp)精确记录了起始时间(start)和结束时间(end)。此外,在 meta_info 字段下还扩展了更多元数据,包括:program(节目名称)、region(地理信息)、link(原始内容链接)、以及 domain(领域分类)。

WenetSpeech-Yue

数据集分布

元数据:所有元数据存储在单一 JSON 文件中,字段包括音频路径、时长、文本置信度、说话人身份、信噪比(SNR)、DNSMOS 分数、年龄、性别以及字符级时间戳。这些字段具有可扩展性,未来可进一步加入新的标签。

领域分布:WenetSpeech-Yue 的语料来源大致涵盖十个领域:故事、娱乐、戏剧、文化、Vlog、评论、教育、播客、新闻及其他,具体分布如图2所示。

时长分布:整个语料库共包含 21,800 小时音频,既包括长录音也包括短片段,切分后平均时长为 11.40 秒。

置信度:我们仅保留文本置信度高于 0.6 的标注,并根据confidence区间划分为三类:强标注(confidence> 0.9,6,771.43 小时)、中等标注(0.8 ~ 0.9,10,615.02 小时)和弱标注(0.6 ~ 0.8,4,488.13 小时)。

语音质量:我们评估了语料的音质:DNSMOS 分数范围为 2.0–4.4,SNR 范围为 -5–80 dB,采样率分布为 8,000–32,000 Hz。为确保生成式任务的可用性,我们过滤后仅保留 DNSMOS > 2.5 且 SNR > 25 dB 的样本,共得到约 12,000 小时高质量语音,可用于 TTS、声码器或语音转换等任务。

说话人属性:语料库在性别与年龄上分布不均,以男性为主,尤其集中在中年群体(50.6%),而女性在各年龄段中比例相对较低。

WSYue-eval

为应对粤语的语言特性,我们提出 WSYue-eval,一个同时涵盖 ASR 与 TTS 的综合评测基准,用于全面检验模型在粤语处理上的表现。

ASR 评测集(WSYue-ASR-eval)该测试集经过多轮人工标注,包含转写、情感、年龄、性别等信息,并划分为 短语音(0–10 秒,9.46 小时,2861 位说话人)和 长语音(10–30 秒,1.97 小时,838 位说话人)两个子集,覆盖粤英转换及多领域场景。

TTS 评测集(WSYue-TTS-eval)该基准专为零样本粤语 TTS 设计,包含两个子集:

  • Base:1000 条来自 CommonVoice 的提示-文本对,用于测试日常场景;
  • Coverage:由于 CommonVoice 主要包含日常对话数据,其对不同领域和语言现象的覆盖范围有限。为了解决这个问题, Coverage 子集由人工与 LLM 生成文本组成,覆盖日常、新闻、娱乐、诗歌等多领域,并包含多音字、变调、语码转换、专名、数字等复杂语言现象。

模型训练策略:

模型均采用两阶段训练策略:初始阶段使用混合的中高置信度标签实现快速收敛,之后在高置信度标签上进行微调以最大限度地提高转录准确率。这种设置既降低了训练成本,又直接反映了数据集的质量影响。

分2阶段ASR任务训练效果

阶段 1 在混合置信度数据集上训练,已经能够取得非常具有竞争力的粤语 ASR 性能,而阶段 2 在高置信度数据上进行微调,则在 WSYue-ASR-eval 的两个测试集上都带来了显著提升。这些观察结果验证了高置信度标签是性能提升的主要驱动力。我们认为保留置信度信息至关重要,因为它能够支持灵活的训练策略:高置信度子集可用于主导微调,而低置信度片段经过谨慎利用,则可以在半监督或领域自适应场景下提高模型的鲁棒性

模型效果:

ASR任务:

采用混合错误率(MER)作为评测指标,其中中文按字级、英文按词级计算错误,用于比较基于 WenetSpeech-Yue 训练的模型与各类基线模型的表现。表1的实验结果显示:

  1. 在所有模型规模(small、medium、w/ LLM)下,我们的模型在大多数评测集上表现最佳;
  2. 在小规模模型中,SenseVoice-small-Yue 和 U2pp-Conformer-Yue 均表现优异,其中 SenseVoice-small-Yue 尽管规模较小,却超过了所有基线模型,说明该语料库能显著提升低容量模型的效率;
  3. 在不带 LLM 的组别中,U2pp-Conformer-Yue、Whisper-medium-Yue 和 SenseVoice-small-Yue 均优于大规模基线模型;
  4. 在带 LLM 的组别中,U2pp-Conformer-LLM-Yue 始终达到当前最先进水平。

总体来看,WenetSpeech-Yue 不仅显著提升了整体性能,还能充分释放不同规模模型的潜力,验证了其在传统 ASR 和 LLM 增强型 ASR 中的广泛价值。

TTS任务:

表2的实验结果表明,基于 WenetSpeech-Yue 微调的 Llasa-1B-Yue 和 CosyVoice2-Yue 在客观和主观指标上均显著优于各自的预训练基线:CosyVoice2-Yue 在 MER 和自然度(UTMOSv2)上表现最佳,并取得最高的可懂度(I-MOS),而 Llasa-1B-Yue 则在说话人相似度(S-MOS)和口音自然度(A-MOS)方面领先,体现了更自然的韵律与风格。整体上,两种模型在多维度上均大幅提升了粤语 TTS 的质量,验证了 WenetSpeech-Yue 在推动粤语语音合成方面的有效性。

MOSS-TTSD 中英双语口语对话合成模型

当前的文本到语音(TTS)模型在单句或孤立段落的语音生成效果上取得了令人瞩目的进展,合成语音的自然度、清晰度和表现力都已显著提升,甚至接近真人水平。不过,由于缺乏整体的对话情境,这些 TTS 模型仍然无法合成高质量的对话语音。

MOSS-TTSD 是一个口语对话语音生成模型,实现了中英双语的高表现力对话语音生成,支持零样本多说话人音色克隆,声音事件控制以及长语音生成。与传统 TTS 模型只能生成单句语音不同,MOSS-TTSD 能够根据完整的多人对话文本,直接生成高质量对话语音,并准确捕捉对话中的韵律变化和语调特性,实现超高拟人度的逼真对话语音合成。

亮点

  • 高表现力对话语音:基于统一语义-声学神经音频Codec、预训练大语言模型、百万小时TTS数据与约40万小时的真实/合成对话语音数据,MOSS-TTSD能够生成高表现力,高自然度,具有自然对话韵律的拟人对话语音。
  • 双说话人零样本声音克隆:MOSS-TTSD支持零样本双说话人克隆,按脚本精确进行角色/声线切换。只需要提供10到20秒的参考音频片段。
  • 中英双语:MOSS-TTSD支持中英两种语言的高表现力语音生成。
  • 长音频生成:得益于低码率Codec与训练框架优化,MOSS-TTSD在长音频生成场景进行了大量训练(训练最大长度达到960s),能够单次生成超长音频。

模型概览

1 模型结构概览:基于Qwen3-1.7B-base模型进行训练,使用八层RVQ码本进行语音离散化,使用自回归加Delay Pattern进行语音token生成,最后使用Tokenizer的解码器将语音token还原为语音。

MOSS-TTSD 使用完全离散化的方式进行语音生成。我们训练了一个8层 RVQ 的音频 Codec:XY-Tokenizer,来对原始音频进行量化。 XY-Tokenizer 能够同时编码语音的语义和声学信息,并具有较低的比特率(1kbps),这使得LLM能够有效地学习音频序列并建模细节声学特征。 在序列建模方面,受到 MusicGen 和 VOICECRAFT的启发,我们使用自回归建模加多头 Delay 的方式进行语音 token 生成

语音离散化: XY-Tokenizer

为了统一建模语音的语义和声学信息,并实现低比特率,我们构建了 XY-Tokenizer,它使用了双路 Whisper Encoder 进行语音编码,8层 RVQ 量化,两阶段多任务学习的方式进行训练。实现了 1kbps 的比特率和 12.5Hz 的帧率[1024码本大小]。

XY-Tokenizer 采用了两阶段多任务学习的方式进行训练。第一阶段(上半部分)训练ASR任务和重建任务,让编码器在编码语义信息的同时保留粗粒度的声学信息。第二阶段(下半部分)我们固定住编码器和量化层部分,只训练解码器部分。通过重建损失和 GAN 损失,利用生成式模型的能力补充细粒度声学信息。

我们扩展了Codec训练的数据量,使用了10万小时带有转录文本的语音数据进行训练。下表对比了在LibriSpeech测试集上不同 Codec 在语义和声学性能上的表现。WER为ASR任务中的词错误率,WER越低表示语音 token 的语义信息与文本对齐程度更好。粗体为低比特率 Codec 组中的最优或次优性能。

XY-Tokenizer 是在1kbps,12.5Hz的帧率下同时建模语义和声学信息性能最好的 Codec ,在语义和声学指标上都取得了最优或次优的结果。

为了更好地编码和重建复杂的对话音频,我们扩展了50万小时无转录音频数据进行增强训练,扩展 Codec 对于复杂音频和场景的处理能力。

益于Codec的超低比特率,我们模型的训练长度最长达到了960s的音频,这使得我们的模型可以一次性地生成超长的语音,避免了拼接语音片段之间的不自然过渡。

数据工程

TTS 模型的性能与训练数据的质量和数量有着密切的关系,为了规模化高质量 TTS 数据和 TTSD 数据,我们设计了高效的数据处理流水线,可以从海量原始音频中准确筛选出单人语音和多人对话语音并进行标注。

对于原始音频,我们首先使用内部的说话人分离模型进行语音分段和说话人标注。 基于预训练基模,我们的说话人分离模型性能已经优于开源说话人分离模型 pyannote-speaker-diarization-3.1 及其商用版本 pyannoteAI 。

说话人分离模型在不同数据集上的 DER(Diarization Error Rate) 结果(越低越好),我们的模型在四个测试集上都取得了最优性能

我们使用 DNSMOS 分数来作为语音质量的评估标准,我们假设 DNSMOS 分数高的语音大概率不包含背景噪声。 为了保证语音的质量和较少的噪声,我们只保留 DNSMOS >=2.8的语音片段。 对于高质量的音频片段,我们直接对语音进行转录,作为 TTS 训练数据。 此外,我们设计了一套规则来将 Diarization 分离的语音片段组合成双人对话的片段用作 TTSD 训练,这样得到的对话片段我们称之为粗粒度对话片段。 虽然说话人分离模型能够较准确地分离说话人,但是我们发现它对一些较短的 Backchannel 不是特别敏感,存在漏分离的情况。 此外,当前的 ASR 模型无法准确地转录对话中重叠的语音。 因此,受 Parakeet[4] 的启发,我们训练了中文版的 Whisper-d 模型来对中文数据进行细粒度说话人标注和文本转录。对于英文数据我们直接使用 Parakeet 的开源 Whisper-d。 最终,我们使用说话人分离模型的粗粒度标签和 Whipser-d 模型的细粒度标签来将短对话片段组成长对话片段。

TTS 预训练

TTS 预训练模型在 Seed-tts-eval 测试集上的词错误率对比(越低越好),加粗的结果代表最优和次优的性能; WER(Norm) 表示我们针对 ASR 的同义结果做了规则修正,减少了 ASR 模型错误导致的误判; CER(Norm) 表示我们将中文文本转为拼音后再计算词错误率,即 PER 指标,我们认为这是更加合理的方式; SparkTTS 和 Cosyvoice2 的结果为我们本地使用官方推理代码重新测试的结果;

我们使用了110万小时的中英文 TTS 数据对模型进行了预训练,大规模的 TTS 预训练可以显著增强 TTSD 模型的语音韵律和表现力,并提升模型泛化能力。 我们使用了 Seed-tts-eval评测了 TTS 预训练模型的性能,取得了和当前顶尖闭源模型 Seed-TTS 相当的性能。 经过 TTS 预训练后的模型已经有了较强的语音生成能力和零样本音色克隆能力。

TTSD 后训练

最终,我们收集了10万小时中文对话数据和27万小时英文对话数据。 此外,为了增强模型的说话人切换准确率,我们合成了4万小时中文对话数据和4万小时英文对话数据。 为了增强模型对于中文标点符号的感知能力,我们使用 Gemini 对部分数据(约7万小时)中的转录文本进行了修正。

在训练阶段,我们基于 TTS 预训练的检查点,使用 WSD Scheduler 进行训练,我们没有针对 Decay 阶段做特殊的数据规划。 此外,我们发现无法通过验证集挑选表现最好的检查点,因此我们通过人工评估的方式挑选了主观表现最好的检查点。

DeSTA2.5-Audio 保留大模型推理能力

核心:通过设计模型自我生成数据的方法,仅使用少量数据就能跨模态对齐,同时实现鲁棒、泛化强、无需任务调参的通用音语大模型。 实现对音频输入的有效适应的同时,保留其指令跟随能力。 适用于没有大量的训练数据的情况!!!

论文标题:DeSTA2.5-Audio: Toward General-Purpose Large Audio Language Model with Self-Generated Cross-Modal Alignment

当前主流音频语言模型虽可执行听觉感知与指令遵循任务,但往往依赖人工构建或跨模型生成的数据集,导致模型出现灾难性遗忘(Catastrophic Forgetting)现象,语言能力退化明显。本论文从根本出发,重新审视数据构建流程,提出「模型自我生成训练目标」机制保留 LLM 的语言能力,同时实现精准的跨模态对齐,从而训练出鲁棒、泛化强、无需任务调参的通用音语大模型。

论文的主要研究成果与创新点:自生成跨模态对齐策略 DeSTA: 由 LLM 自行生成训练标签,确保风格与输出一致性,克服灾难性遗忘,提升跨模态迁移鲁棒性;大规模通用数据集 DeSTA-AQA5M: 覆盖语音、环境声、音乐三大领域,含 500 万组音频-指令-响应数据,源自 50 个公开数据集,总计约 7000 小时;强大的泛化性能: DeSTA2.5-Audio 在多个标准测试集(Dynamic-SUPERB、MMAU、SAKURA、Speech-IFEval、VoiceBench)上展示优异的性能。 

首篇系统提出“自生成音频文本对齐”策略并应用于 LALM 训练的研究;无需人工调教或额外任务调参,模型即能在多个语音理解、情绪识别、环境声分析等任务中展现 SOTA 表现;重要对比发现: 明确指出模型训练过程中数据来源与模型分布不一致将大幅损害性能,即使采用更强大的 LLM 生成数据亦无法弥补,凸显「数据生成一致性」为构建通用 LALM 的关键。以少胜多,仅用 7000 小时音频达成超过使用 51 万小时数据的模型效果,堪称“大模型训练范式创新”典范。

当训练数据与模型原有生成分布不一致时,模型容易遗忘其原有的语言理解与生成能力,这种现象在 LLM 融入新模态时尤为突出。

原因: 该方法本质上是利用encoder+Qformer学习语音中的元数据信息,采用同一个LLM为了保证输出分布一致性,这样只要encoder+Qformer学习到了语音中的元数据信息(对齐语音-文本),那么最后模型的输出就跟LLM的输出一致。如果构造数据的LLM跟训练的LLM不一致,那么不仅仅需要对齐语音和文本,还需要重新学习文本LLM的输出分布,那么就需要放开LLM的权重进行训练,会影响模型本身的文本能力,会逐渐扭曲大模型原本的输出分布或指令跟随能力,最终损害其基于文本的知识!!!

图 2. (左)数据集构建:将音频描述 xtext和随机采样的提示 p输入到基础大模型中,以生成训练目标 y。
(右)模型训练:融合模型使用自生成的目标 y 以及相应的音频输入 xaudio 和提示 p进行训练。火焰和雪花图标分别表示可训练模块和冻结模块。音频解码器为可选组件。

DeSTA2,一种自生成的跨模态对齐框架,通过让基础语言模型生成其自身的训练目标,从而缓解监督信号冲突。具体来说,我们将每个音频片段的元数据转换为结构化的文本描述,并与任意提示词配对;随后,大语言模型生成相应的响应,作为跨模态对齐的训练目标。这种自生成监督确保了风格和语义与大模型原生输出分布保持一致,从而在实现对音频输入的有效适应的同时,保留其指令跟随能力。

自生成数据集构建

Step1:收集多样化的音频数据集,这些数据集包含丰富的元数据信息。将每段音频的元数据转换为结构化的文本格式。

  • 例:语音片段 → "[00:00-00:05] Hello world (Gender:Female, Emotion:Happy...)"
  • 例:音频描述片段 → "[00:00-00:10] (A dog barking)"

Step 2:构建初始配对数据集

  • 形成初始数据集 Dinitial={(xaudio,xtext)},其中每条音频xaudio​ 与其对应的文本描述 xtext​ 对齐。

Step 3:采样提示词

  • 从预定义的指令池P 中随机采样一个提示词 p
  • 指令池包含多样化的提示类型:
    • 描述类任务(如 “Describe the audio”)
    • 角色扮演类任务(如 “Respond to the audio based on its expression”)
    • 开放式问题(如 “Where is the audio being recorded?”)

Step 4:生成训练目标

  • 将文本描述 xtext​ 与提示词 p 输入到大语言模型。
  • 模型输出响应 y=LLM(xtext,p)

Step 5:形成最终训练数据集

  • 构建最终的数据集D=(xaudio​ , xtext ​, p , y)
  • 每条样本包含:音频输入、对应文本描述、提示词、以及大模型生成的响应。

该方法的一个关键优势在于,它能够保留大语言模型对输入的原生理解与响应方式,从而保证训练数据在风格与语义上的一致性。举例来说,我们观察到经过指令调优的 Llama3.1往往会生成带有解释性的回答,使用项目符号组织内容,并且常常在正文前包含问候语。这些特定于模型的风格模式会自然地体现在生成的数据中。因此,虽然该构建流程可兼容任意文本类大模型,但在跨模态对齐任务中,采用相同模型(即自生成方式)是最合理的设计。

模型训练

采用 Llama3.1-8B-Instruct 和 Whisper-large-v3,六层 Q-former 【 64 个查询】架构。

预训练的音频模型与经过指令调优的大语言模型(LLM)进行融合。为了实现音频与语言模态之间的桥接,我们在二者之间引入了由 Q-Former 块 构成的模态适配器。

音频模型与 LLM 参数均被冻结,仅对模态适配器进行微调,以学习稳健的音频–文本对齐表征。融合模型在三元组形式(xaudio​,p,y) 上进行训练。

输入音频xaudio​ 可选地通过音频解码器转录为文本序列 t∈RL,其中 L 为序列长度。该转录结果进一步输入 LLM 的词嵌入层,用于增强语言对齐。

  • 优化器:Adam
  • 学习率调度:余弦退火(cosine annealing),包含 2000 步预热
  • 训练轮数:5 epoch
  • 硬件配置:8 张 NVIDIA A100-80GB GPU
  • 全局 batch size:96
  • 初始学习率:1e-4
  • 总训练步数:约 250,000 steps

Dataset

元数据包括副语言特征(例如音高、响度、语速、韵律、音色、情绪基调和说话风格)、说话者身份属性(例如口音、性别和年龄)、音频质量指标(例如背景噪音水平、混响以及伪造或合成音频)以及环境或情境声音(例如动物叫声、人类动作、环境声音、乐器、音乐类型和自然环境)。

数据集总计约 7,000 小时音频:5,400 小时语音、1,000 小时环境声音和 500 小时音乐。

关于指令池,为语音类别挑选了 4,000 个提示,为环境声音和音乐类别挑选了 3,000 个提示。

响应均使用 vLLM 工具包 生成,解码参数设定为 temperature = 0.05top-p = 1.0。通过这一过程,我们构建了一个规模约 500 万条音频–提示–响应三元组 的大规模数据集,命名为 DeSTA-AQA5M,并将其作为 DeSTA2.5-Audio 的训练语料。

实验结果

模型在多个基准测试中的排名呈现出一致的趋势。值得注意的是,DeSTA2.5-Audio 始终展现出卓越的性能,凭借在各种音频语言任务中强大的泛化能力,成为表现最佳的模型。它在 Dynamic-SUPERB Phase-1(69.53)、MMAU(57.50)、SAKURA-Multi(69.85)和 Speech-IFEval(93.89)上均取得了最高分,彰显了其在多个领域和条件下的稳健性和泛化能力。

消融实验:【核心】

 (PPL)困惑度越低,表明模型对训练目标越熟悉,分布差异就越小。

如表三所示,自生成的训练数据始终表现出较低的困惑度,这表明生成的响应与主干 LLM 的分布很好地一致。比较 Llama3.1 (A1) 和 Qwen2.5 (A2),Qwen2.5 在所有基准测试中始终优于 Llama3.1。这种性能差距可能归因于 Qwen2.5 更强大的文本生成能力。虽然 Qwen2.5 在基本内容理解任务中的表现与 Llama3.1 相对相当,但它在其他领域表现更佳,例如 Dynamic-SUPERB Phase-1 中的说话人分类,以及 MMAU 中的环境声音和音乐理解。先前对基于文本的基准测试的评估也表明,与 Llama3.1 相比,Qwen2.5 表现出更出色的推理和数学能力 。然而,目前尚无确凿证据表明在听觉感知方面有相应的优势,这值得进一步研究。尽管如此,在相同的训练条件下,我们的实验结果表明 Qwen2.5 作为主干 LLM 比 Llama3.1 更有效。这些发现也表明我们的训练框架在不同 LLM 上具有良好的泛化能力。

提示多样性对模型性能也起着重要作用,尤其是在 A1 和 A3 的比较中。在 A3 中,我们采用了使用单个描述性提示 (1-p) 的自生成设置,已经展示了强大的零样本泛化能力。通过简单地增加提示多样性(就像在 A1 中所做的那样),进一步丰富了训练目标并提高了训练方法的整体有效性。值得注意的是,这些结果是在不需要任何特定于任务的指令对的情况下实现的。这凸显了自生成设计的优势。即使数据构建完全依赖于随机抽样的提示,该模型仍然可以利用 LLM 的固有功能实现零样本生成。

比较自生成和跨模型设置时,跨模型设置中的训练目标会导致更高的困惑度,这表明主干 LLM 对数据分布的熟悉程度较低。例如,虽然在 Qwen2.5 生成的数据 (A2) 上训练 Qwen2.5 会产生很好的结果,但在 Qwen2.5 生成的数据 (B1) 上训练 Llama3.1 会导致模型退化,输出包含重复或无意义的标记。同样,在 Gemma3-12B (B2) 生成的数据上训练 Llama3.1 也无法达到在自生成设置 (A1) 中观察到的性能。这些结果支持了我们的分布不匹配假设,并强调了使用自生成配置的重要性,即使在注释器 LLM 功能更强大的情况下也是如此。我们还探索了使用 Llama3.1-70B 生成训练数据 (B3),它代表了同一系列中更强大的模型。在这种情况下,较低的困惑度 (2.20) 表明训练数据与 Llama3.1 的分布更加一致。然而,与 A1 相比,B3 在 Dynamic-SUPERB 和 SAKURA 上取得了更好的表现,但在 MMAU 和 Speech-IFEval 上表现不佳。这表明使用更强大的模型并不一定能在所有任务上带来一致的改进。

在 LoRA 适配器设置中,我们向骨干 LLM 引入了可训练参数,预计这将提升模型容量并有助于缓解分布不匹配问题。在自生成设置 (C1) 中,数据集与骨干 LLM 高度对齐,我们发现添加 LoRA 层可获得相似或略微提升的性能。这表明,在自生成设置下,加入 LoRA 适配器并不能带来显著的优势。换句话说,在使用我们提出的训练框架时,微调轻量级模态适配器足以实现跨模态对齐,其中模型专注于学习听觉概念,而不会受到风格或分布不匹配的影响。有趣的是,当使用 Qwen2.5 生成的数据 (C2) 进行训练时,在 Dynamic-SUPERB、MMAU 和 SAKURA-Single 等音频处理基准测试中的表现与自生成设置 (A2) 相当。然而,它们在 SAKURA-Multi 和 Speech-IFEval 中的表现显著下降,这需要额外的文本知识和指令遵循能力。这一差异表明,虽然添加 LoRA 适配器有助于缓解分布不匹配问题,并在领域内任务中取得良好表现,但在需要 LLM 预训练知识的基准测试中,它仍可能降低模型的通用能力。这揭示了当前 LALM 训练策略的一个关键设计缺陷。LTU-AS 和 SALMONN 等模型试图通过在 LLM 中引入 LoRA 适配器层来解决灾难性遗忘问题。 然而,我们的实验结果表明,减少训练数据和模型分布之间的差异对于保持泛化能力是比单纯的架构修改更为关键的因素。

在 5 个 epoch 的设置下,我们研究了训练时长对模型性能的影响。5 个 epoch 的结果(D1 和 D2)表明,即时多样性不仅提升了有效性,也提高了训练效率。尽管训练次数仅为 epoch 的一半,但这些模型的性能与 10 个 epoch 的模型(A1)相当。值得注意的是,虽然 D2 随着训练时间的延长而持续改进(与 A3 类似),但收敛速度较慢,最终性能仍然较差,这表明多样化的训练目标对于实现更好的对齐效果也至关重要。相比之下,尽管 D3 仅用 5 个 epoch 就取得了不俗的性能,但 B1 表明在分布不匹配的情况下延长训练会导致模型退化。这些发现强调了我们的主要动机:有效的跨模态对齐需要反复训练以在不同 epoch 之间对齐音频表征。当训练数据与骨干模型匹配时,性能会稳步提升,而不会降低模型固有的语言能力。相反,从不匹配的数据中学习会给模型带来更重的负担,最终导致性能不佳并忘记其预先训练的语言能力。

Q-Former 跨模态对齐

论文:BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

Q-Former 最开始被设计用于跨模态任务(如视觉-语言建模)的 transformer 模型。它由 BLIP-2(Bootstrapping Language-Image Pre-training 2)提出,目的是在视觉特征和语言模型之间建立高效的桥梁,从而提高大规模预训练语言模型在多模态任务中的表现。

后续也逐渐用于语音-文本模态的对齐任务中,比如: DeSTA2.5-Audio

BLIP-2 提出了一个通用且高效的预训练策略,能够从已存在的冻结图像编码器和大型语言模型中引导出强大的视觉-语言模型。核心思想是引入一个轻量级的Querying Transformer(Q-Former),在冻结的图像编码器和语言模型之间架起桥梁。Q-Former 被设计为一个信息瓶颈,负责从图像编码器中提取对文本生成最有用的视觉特征,并将其传递给大型语言模型。

Querying Transformer(Q-Former)

Q-Former 是一个轻量级的 Transformer 模型,包含一组可学习的查询向量(queries)。其架构由两个共享自注意力层的 Transformer 子模块组成:

  1. 图像 Transformer:与冻结的图像编码器交互,提取视觉特征。
  2. 文本 Transformer:同时可以作为文本编码器和解码器。

这些查询向量通过交叉注意力层与图像特征进行交互,提取出固定数量且对文本生成最有用的视觉特征。Q-Former 的输出是这些查询向量的表示,记为Z 。

由于 Q-Former 的输出维度比图像编码器的输出特征要小很多(例如,32×768 vs. 257×1024),因此它起到了信息瓶颈的作用,只保留了对后续文本生成最有用的视觉信息。这种设计减轻了大型语言模型在冻结参数的情况下与视觉特征进行对齐的负担。

两阶段预训练策略

BLIP-2 的预训练分为两个阶段,每个阶段都有特定的训练目标,以逐步引导模型实现视觉和语言的有效结合。

第一阶段:从冻结的图像编码器中引导视觉-语言表示学习

在第一阶段,将 Q-Former 与冻结的图像编码器连接,通过图像-文本对进行预训练。目标是训练 Q-Former,使其能够提取与文本最相关的视觉表示。

第二阶段:从冻结的大型语言模型中引导视觉到语言的生成学习

在第二阶段,将 Q-Former 输出的视觉表示连接到冻结的 LLM 上,训练 Q-Former 使其输出的视觉特征能够被 LLM 解释和利用。根据 LLM 的类型(解码器或编码器-解码器),采用不同的策略:

对于解码器类型的 LLM:利用语言模型的自回归特性,采用语言建模损失,让 LLM 在给定视觉特征的情况下生成文本。

对于编码器-解码器类型的 LLM:将视觉特征和前缀文本输入到 LLM 的编码器中,然后让解码器生成后续的文本,使用前缀语言模型损失进行训练。

在这一阶段,Q-Former 被训练使其输出的视觉特征能够被 LLM 有效地理解和利用,从而实现视觉到语言的高效生成。

SecoustiCodec 流式语音单码本编解码器

快手科技、天津大学、中科院自动化所与清华大学联合发布了SecoustiCodec,一种跨模态对齐的流式单码本语音Codec。支持语义信息、副语言信息、声学信息的独立编码与重构。可以应用于语音合成、语音对话模型等生成式语音任务。

背景动机

随着大型语言模型(Large Language Models,LLMs)在生成式人工智能领域的快速发展,基于语音的应用如文本到语音合成(TTS)、自动语音识别(ASR)以及语音对话系统等日益受到关注。语音编解码器作为连接原始语音信号与语言模型的重要桥梁,其作用类似于自然语言处理中的文本分词器,能够将连续的语音波形转化为离散的编码 token,便于与LLM等模型进行有效融合和交互。 

然而,当前主流的神经语音编解码器通常采用残差向量量化(RVQ)方法,通过将语音的语义信息与残差信息直接相加的方式重构语音。这种设计限制了语义编码的解耦能力及重构效果,不利于语义和声学信息的有效分离和高质量恢复。采用单一码本进行编码,这在低比特率条件下限制了编码的表达能力,难以兼顾语音的高保真度和压缩效率。同时,大多数现有模型采用非因果网络结构,导致处理延迟较高,难以满足实时语音翻译、在线会议和交互式对话系统等延迟敏感场景的需求。 

针对上述瓶颈,我们提出了SecoustiCodec,一种全新设计的神经语音编解码器框架。SecoustiCodec通过独立建模声学信息、语义信息以及副语言信息,实现了低码率、高保真度的实时流式语音编码与解码。该方法不仅提升了语义编码的可分离性和重构质量,还有效降低了延迟,显著增强了模型在实际实时应用中的适用性。

图2: SecoustiCodec 使用经过训练的声学表征(逐帧的连续值)来约束语义表征(逐帧的离散值)和副语言表征(全局的连续值)的联合训练。虽然某些副语言线索(如细微的情感变化)会呈现出难以完全由全局层面捕获的细粒度变化,但我们有意采用全局层面的副语言表征。这一设计能够在实现稳健语义解耦的同时,捕捉声学与语义表征之间的主要残差信息,例如说话人的音色和整体情感特征。我们认为,这种全局层面的表征能够高效地覆盖大部分副语言信息,并促进核心关系的建模:
语义 + 副语言 ≈ 声学

Contributions

  • 为了确保语义完整性和重建保真度,引入了副语言编码来弥合语义编码和声学编码之间的信息鸿沟。
  • 基于 VAE+FSQ 的纯语义高效量化方法,提高码本利用率以及缓解token的长尾分布。
  • 提出了一种基于对比学习的语义解缠方法,该方法在联合多模态帧级空间中对齐文本和语音。
  • 设计了一种声学约束的多阶段优化策略,通过逐步引入模块并调整不同损失成分的影响来确保模型的有效收敛。此外,采用因果架构来支持流式编码和解码。

方法

SecoustiCodec的整体架构包括三个主要的建模过程:声学建模(Acoustic Modeling)、语义建模(Semantic Modeling)和副语言建模(Paralinguistic Modeling)。这三个过程相互协作,共同实现语音信号的编码和解码。具体来说:

  • 声学建模:负责将输入的语音信号编码为连续的声学表示,并通过解码器重建语音信号。
  • 语义建模:通过对比学习和高效的量化方法,提取纯净的语义信息,并将其编码为离散的语义表示。
  • 副语言建模:提取语音中的副语言信息(如音色、情感等),并将其编码为全局级的副语言表示。

这三个表示之间的关系可以用公式S + G ≈ A 来描述,其中 S 是离散语义编码,G 是全局级副语言编码,A 是连续声学表示。通过这种方式,SecoustiCodec能够在单码本空间中实现语义和副语言信息的分离。

1.声学建模

声学建模部分包括语音编码器、声学投影和语音解码器。语音编码器将输入的语音信号Sin编码为连续的声学表示 A,然后通过声学投影模块进一步处理。语音解码器则负责将声学表示 A 重建为语音信号。

2. 语义建模

语义建模部分包括语义投影、变分自编码器(VAE)、有限标量量化(FSQ)和对比学习模块。其目标是从语音信号中提取纯净的语义信息,并将其编码为离散的语义表示 S。首先通过语义投影,将语音编码器的输出进一步映射到一个低维的语义空间。随后采用VAE + FSQ,通过VAE生成语义表示的均值 μ 和方差 σ,然后通过FSQ将这些连续的语义表示量化为离散的语义编码 S。这种方法不仅保留了语义信息,还进一步去除了副语言信息,同时提高了码本利用率。最后通过对比学习模块,将语音编码器生成的语义表示 S 和文本编码器生成的音素表示 P 对齐到一个联合帧级对齐的多模态空间中。通过最大化正样本对(S和对应的P)之间的相似度,同时最小化负样本对(S和不对应的P)之间的相似度,模型能够学习到纯净的语义表示。

其中 P 是音频表征,S 是语义表征,A是声学表征。

3. 副语言建模

副语言建模部分包括副语言编码器和语义连接器。其目标是从语音信号中提取副语言信息,并将其编码为全局级的副语言表示G。首先通过副语言编码器才从语音信号中提取副语言信息,如音色、情感等。随后经过语义连接器,将语义表示 S 和副语言表示 G 结合起来,预测声学表示 A^。通过这种方式,模型能够在解码阶段利用副语言信息来重建语音信号。

副语言语音 Gi​n 作为副语言编码器的输入:

G 表示副语言嵌入,其中 G 是固定长度的全局向量

4. 声学约束的多阶段优化策略

SecoustiCodec设计了一种声学约束的多阶段优化策略,逐步引入模块和调整损失函数的影响,确保模型的有效收敛。具体来说:

第一阶段(声学建模)Algorithm(Lines 3-4)仅训练语音编码器、声学投影和语音解码器,专注于学习声学表示A。

第二阶段(语义和副语言建模)Algorithm(Lines 5-13):冻结第一阶段的模块,训练语义投影、副语言编码器、语义连接器等模块,逐步引入对比学习损失和KL散度损失,优化语义和副语言表示。

实验结果

1.结构对比

SecoustiCodec在0.27kbps的比特率下实现了20Hz的帧率和20tokens/s的编码速率,仅次于MimiCodec。SecoustiCodec采用VAE+FSQ量化方法,同时支持单码本语义编码和连续值声学编码。SecoustiCodec使用1000小时的训练数据,与SpeechTokenizer、MimiCodec和BigCodec相当,但远少于FACodec的500000小时和TAAE的100000小时。此外,SecoustiCodec采用因果结构以支持流式编码和解码。

2. 语音重建性能

SecoustiCodec在0.27kbps和1kbps的比特率下实现了业界领先的重建质量。具体来说,SecoustiCodec(0.27kbps)在PESQ(感知语音质量评估)指标上达到了1.77,而SecoustiCodec(1kbps)的PESQ值更是高达2.58。这些结果不仅优于其他单码本模型,甚至在某些情况下超过了使用多个码本的模型。此外,SecoustiCodec在情感相似度(EmoSim)、说话人相似度(SpkSim)、对数谱距离(LSD)、基频误差(MSEP)、误配率(Mismatchrate)和词错误率(WER)等多个指标上也表现出色,证明了其在语义解耦和重建能力方面的优势。

3. 流式处理能力

SecoustiCodec的因果架构设计使其在流式处理方面表现出色。实验结果表明,SecoustiCodec的初始延迟为12.08ms,低于Encodec和MimiCodec等其他支持流式处理的模型。虽然Encodec在实时因子(RTF)方面表现更好,区别主要体现在解码阶段,SecoustiCodec在去掉声码器处理时间后的解码RTF仅为0.001,显著低于Encodec。

4. 消融实验

在不同量化方法的性能对比结果显示,VAE+FSQ量化方法在各项关键指标上均展现出优于VQ-VAE、SimVQ和FSQ等其他量化方法的表现。这一结果表明,VAE+FSQ在保留语义信息、去除副语言信息以及提高码本利用率方面具有显著优势。

对于因果结构的实验结果表明,具备因果结构的模型版本在多个指标上相较于不具备因果结构的版本有更佳表现,尤其是在实时性和低延迟场景中,这凸显了因果结构对于流式处理支持的重要作用。

在音高特征方面,实验结果表明,加入音高特征的模型在MSEP和WER等指标上的表现不如未加入音高特征的模型,这表明音高特征可能会对语义信息的提取产生干扰。

对于多阶段训练策略的实验结果表明,采用该策略的模型在所有指标上均优于未采用的版本,这表明多阶段训练策略对于模型的收敛和性能提升具有关键性影响。

声学嵌入维度的实验结果表明,较高的声学嵌入维度(256维)能够显著提升模型在多个评价指标上的表现。基于此,我们最终选择将256维作为SecoustiCodec的声学编码维度。

SecoustiCodec在单说话人场景下也表现出色,经过针对单一目标说话人进行微调后,模型在所有关键指标上均取得了高分。

SecoustiCodec的VAE + FSQ量化方法在码本利用率方面表现出色,达到了98.06%。这一结果显著高于其他量化方法,如VQ-VAE(9.7%)和SimVQ(8.61%)。高码本利用率意味着模型能够更有效地利用有限的码本资源,减少长尾分布问题,从而提高语言模型训练的效率和效果。

总结与未来展望

SecoustiCodec通过独立建模声学、语义和副语言信息,结合基于VAE + FSQ的高效量化方法、对比学习驱动的语义解耦技术和声学约束的多阶段优化策略,成功地在低比特率下实现了高保真、实时流式语音编解码。其在多个关键指标上的卓越表现证明了其在语音编解码领域的先进性和实用性。未来,我们计划探索无监督解耦方法,以减少对标注文本数据的依赖,并验证模型在其他语言上的适应性,以进一步提升其有效性和通用性。

S2SND 在线/离线统一推理的高精度说话人日志新框架

论文题目:Sequence-to-Sequence Neural Diarization with Automatic Speaker Detection and Representation

论文:https://arxiv.org/abs/2411.13849

摘自:https://mp.weixin.qq.com/s/s1JuYq5S2v2bfGnXPE0Qnw

研究动机

“谁在什么时候说话”是多说话人语音理解中的核心任务。然而,传统的说话人日志系统普遍依赖从完整音频提取说话人嵌入、聚类匹配或端到端建模等方法,往往只能离线运行,难以适应实时对话、会议转写等对系统延迟要求极高的实际场景。

为突破这些限制,武汉大学与昆山杜克大学研究团队提出了全新框架—— S2SND(Sequence-to-Sequence Neural Diarization,序列到序列的神经日志)。该方法基于序列到序列架构,创新性地融合了“说话人自动检测”与“嵌入动态提取”机制,无需聚类与先验的说话人嵌入,即可以在线推理的形式逐个识别新加入的未知说话人,并同步完成语音活动检测与说话人表示建模。

S2SND 无需聚类或排列不变训练(PIT),并具备统一支持在线推理与离线重解码等特性,在多个评估数据集的多种评测条件下均取得了领先性能,相关成果已发表于语音领域权威期刊 IEEE Transactions on Audio, Speech and Language Processing。

方法介绍

如图1所示,S2SND 框架采用序列到序列架构,主要包含三部分模块:基于ResNet-34的特征提取器(Extractor),基于Conformer的编码器(Encoder),和创新性设计的检测解码器(Detection Decoder)和表征解码器(Representation Decoder)两个部分,实现了说话人检测与嵌入提取的双向协同。首先,输入音频经过 ResNet 结构的帧级提取器生成时序说话人特征序列。随后送入基于 Conformer 架构的编码器建模长时依赖关系,输出作为下游解码器的主特征输入。在解码阶段,模型并行使用两个功能互补的解码器:检测解码器利用编码器的输出特征与目标说话人声纹嵌入作为参考信息,预测多个说话人的语音活动。反之,表征解码器则利用提取器的输出特征与目标说话人语音活动作为参考信息,提取多个说话人的声纹嵌入。

为了打通两条路径的协同优化,S2SND 引入一个可学习的全体说话人嵌入矩阵(Embedding Matrix),每一个行向量对应训练集中一个说话人的声纹嵌入。训练时,语音活动标签由标注数据提供,而目标说话人嵌入通过该矩阵查表获得(one-hot 标签与嵌入矩阵相乘),作为检测解码器的辅助查询;同时,该矩阵也作为表征解码器的监督目标,用于对其预测出的嵌入执行 ArcFace Loss监督。检测解码器输入的声纹嵌入和表征解码器输出的声纹嵌入为同个特征空间内联合优化所得。

为增强模型对新说话人的检测能力,训练中采用Masked Speaker Prediction机制:每个训练样本中会随机屏蔽一个已知说话人嵌入,使用一个可学习的“伪说话人嵌入”代替,并将其语音活动标签对应输出位置,促使模型学会发现“未注册说话人”的语音。另一方面,S2SND设计了Target-Voice Embedding Extraction机制:利用表征解码器从从多说话人混合音频中反向提取嵌入,实现检测与表征的闭环优化。整个框架端到端训练,联合优化语音活动预测的 BCE 损失与嵌入空间的 ArcFace 损失。 

图1. 序列到序列神经说话人日志(S2SND)框架示意图。其中,Det. 和 Rep. 分别表示检测(Detection)与表征(Representation)的缩写。

如图2所示,S2SND 支持低延迟的在线推理,采用块式(Blockwise)输入方式处理长音频。每次输入一个音频块,包含三部分:左上下文、当前块与右上下文,分别用于建模历史依赖、输出当前结果与提供未来参考。整个音频以滑动窗口方式逐块推进,当前块的结果实时输出,保证因果性。推理过程中,系统维护一个说话人嵌入缓冲区(Speaker-Embedding Buffer),用于存储当前已知说话人的嵌入表示。每一轮推理的输入说话人嵌入由三部分拼接组成:

  1. 固定在首位的训练过程中使用的伪说话人嵌入,用于检测是否有新说话人出现;
  2. 从缓冲区按顺序读取的已知说话人嵌入,用作特定人身份的参考信息;
  3. 用训练过程中使用的非语音嵌入作为填充,确保一个数据批次(Batch)的说话人数维度一致。

检测解码器以当前编码特征与上述嵌入序列为输入,预测每个说话人的语音活动(包括伪说话人);随后,表征解码器再以提取器特征与预测的语音活动作为输入,反向提取所有目标说话人的嵌入表示。模型通过评估每个预测出的语音活动的非重叠语音时长作为嵌入质量权重,对应生成的嵌入只有在超过设定阈值时才会写入缓冲区:

  1. 若伪说话人的语音活动质量满足阈值,说明存在新的未注册说话人,其嵌入将以新身份编号写入缓冲区;
  2. 若已有说话人的语音活动质量满足阈值,则对应嵌入将追加到该说话人的缓冲列表;
  3. 低质量嵌入则被舍弃,以避免污染已缓存的嵌入。

每次推理仅采用当前块对应的时间范围内的预测结果拼接到历史结果,确保输出的时间因果性。此外,当整个音频推理完成后,系统可利用缓冲区中聚集的高质量说话人嵌入,对全段音频进行一次离线重解码(Re-Decoding),进一步提升整体识别精度。由于模型结构在在线与离线模式下完全一致,无需额外转换或重新建模。

2. 序列到序列神经说话人日志(S2SND)推理流程图。其中,
Det. 和 Rep. 分别表示检测(Detection)与表征(Representation)的缩写。

流式推理伪代码:

Algorithm 1 Pseudocode of online inference in the Python-like style.
"""
- Extractor(), Encoder(), Det_Decoder(), Rep_Decoder(): neural network modules in S2SND models
- W(): calculating embedding weight
Inputs
- blocks: a sequence of input audio blocks
- e_pse/e_non: pseudo-speaker/non-speech embedding
- tau_1/tau_2: threshold for pseudo-speaker/enrolled-speaker embedding weight
- lc/lr: number of output VAD frames belonging to the current chunk / right context
- N: speaker capacity
- S: embedding dimension
Outputs
- dia_result: predicted target-speaker voice activities
- emb_buffer: extracted speaker embeddings
"""
dia_result = {}             # 初始化分离结果:字典,key=spk_id,value=拼接好的VAD帧序列
emb_buffer = {}             # 初始化“说话人嵌入缓冲区”:key=spk_id, value=[(embedding, weight), ...]
num_frames = 0              # 已经输出(拼接)的VAD帧计数,用于新出现的说话人补零对齐
for audio_block in blocks:  # 块式滑窗读取下一段音频(含左/当前/右三部分)

# 流式:逐块处理,保持低延迟与因果性。
    emb_list = [e_pse]                    # 输入给解码器的“说话人嵌入序列”首位固定放伪说话人嵌入
    spk_list = [len(emb_buffer) + 1]      # 并为它占一个新ID(“潜在新说话人”的候选ID)

# 伪说话人(pseudo-speaker):用于探测是否有新说话人。
# spk_list[0] 提前预留一个“新ID”,如果这次块里真的检测到新说话人且质量达阈值,就用这个 ID。

# 将每个“已知说话人”的汇总参考嵌入拼到 emb_list,与 spk_list 一一对应。这样解码器就能对“伪说话人 + 已知说话人们”同时进行语音活动预测。
    for spk_id in emb_buffer.keys():      # 遍历已知/已注册的说话人
        e_sum = torch.zeros(S)            # 为该说话人累积权重和
        w_sum = 0
        for e_i, w_i in emb_buffer[spk_id]:
            e_sum += w_i * e_i            # 质量加权的嵌入加和
            w_sum += w_i
        emb_list.append(e_sum / w_sum)    # 得到该说话人的“参考嵌入”(加权平均)
        spk_list.append(spk_id)           # 记录其对应的说话人ID(顺序与emb_list对应)

# 确保这次前向中,说话人维(batch)长度固定为 N,便于张量化与并行。
    while len(emb_list) < N:              # 若说话人槽位不够,用非语音嵌入 e_non 填满(batch 维度对齐)
        emb_list.append(e_non)

    emb_tensor = torch.stack(emb_list)    # 形状:N x S

# 提取器/编码器是声学前端,抽取时序表示。
X = Extractor(audio_block)            # 提取器:原波形 -> 帧级特征,形状 T x F
X_hat = Encoder(X)                    # 编码器:进一步编码,形状 T x D


# Y_hat[n]:第 n 个槽位(伪/已知/填充)的语音活动(帧级概率/0-1)。
#E_hat[n]:第 n 个槽位对应的说话人嵌入。
#两者联动:先“检测哪里在说话”,再“在这些区域提代表征”。
Y_hat = Det_Decoder(X_hat, emb_tensor)  # 检测解码器:对每个“说话人槽位”预测VAD,形状 N x T'
E_hat = Rep_Decoder(X, Y_hat)           # 表征解码器:反向提取每个槽位的嵌入,形状 N x S

y_pse = Y_hat[0]                       # 伪说话人的 VAD(T')
e_pse = E_hat[0]                       # 伪说话人的嵌入(S)
w_pse = W(y_pse)                       # 基于非重叠语音时长等指标计算质量权重(标量)

# 关键点:只拼当前块对应的 lc 帧,保证因果输出;右上下文只作参考不输出。
# 新说话人第一次出现,需要在历史时间线前边补零对齐
    if w_pse > tau_1:                      # 若伪说话人质量过阈,判定:出现新说话人
        elapsed_y = torch.zeros(num_frames)      # 为新ID补齐历史帧的0(过去都未说话)
        current_y = y_pse[-(lc+lr) : -lr]        # 只取当前块的有效帧(去掉右上下文)
        new_id = spk_list[0]                     # 取预留的新说话人ID
        dia_result[new_id] = torch.cat([elapsed_y, current_y])  # 拼成全局时间线
        emb_buffer[new_id] = [(e_pse, w_pse)]    # 把该新人的嵌入写入缓冲区


# 更正:循环上界不应是 len(S)(那是嵌入维),应该是 N 或 Y_hat.size(0)。
#已知说话人的 dia_result[spk_id] 直接在已有时间线上拼接本块的 lc 帧。
#当质量好时,往该说话人的 emb_buffer 追加一条 (embedding, weight),后续会参与加权平均,越滚越稳。
    for n in range(1, len(S)):             # 【这里有 Bug】应为 range(1, N) 或 Y_hat.shape[0]
        y_n = Y_hat[n]                     # 第 n 槽位的 VAD
        e_n = E_hat[n]                     # 第 n 槽位的嵌入
        w_n = W(y_n)                       # 质量
        spk_id = spk_list[n]               # 槽位对应的说话人 ID(已知)
        dia_result[spk_id] = torch.cat([dia_result[spk_id], y_n[-(lc+lr) : -lr]])  # 拼接本块有效帧
        if w_n > tau_2:                    # 若质量好,把新嵌入追加到该说话人的缓冲列表
            emb_buffer[spk_id].append((e_n, w_n))
    num_frames += lc                       # 全局时间线向前推进 lc 帧
#每处理完一个块,就“确认输出”了 lc 帧,时间线前移。

实验结果与性能分析

本研究构建了两类模型规模的 S2SND 系统:S2SND-Small 和 S2SND-Medium,最终模型参数量分别约为16+M和 46M+。为支撑大规模训练,我们分别采用了两个不同规模的说话人语料作为仿真素材。其中,VoxCeleb2数据库约 100 万条语音,覆盖 6112 名说话人;VoxBlink2数据库约 1000 万条语音,覆盖超过 11 万名说话人。此外,为提升中型模型对大语料的建模能力,本研究引入了以 ResNet-152 提取器作为教师模型的知识蒸馏策略,显著增强了说话人嵌入质量与下游推理性能。模型结构、训练细节与延迟设置等信息详见论文原文。所有实验均基于标准的 DER(Diarization Error Rate) 指标进行评估,不使用 Collar ,严格衡量系统在真实应用条件下的实际表现。同时,分别评测依赖和不依赖 Oracle VAD的情况,以满足和其他现有方法在不同评估标准下的公平对比。

如表1所示,在 DIHARD-II 测试集中,S2SND-Medium 模型结合 VoxBlink2 语料与知识蒸馏训练,在在线推理模式(0.64s 总延迟)下取得了 24.41% DER,刷新当前所有在线系统的最优结果。完成一次离线重解码后,DER 进一步降低至 21.95%,即便不依赖 Oracle VAD,也全面超越现有最强的 EEND-GLA 与 VBx 等方法。相比之下,传统 EEND-EDA + STB 方法的在线DER 仍在 30% 以上,EEND-GLA-Large 系统也仅在离线条件下达到 28.33%。S2SND 实现了更低延迟、更高准确率的双重突破。

1. S2SND 模型与其他方法在 DIHARD-II 测试集上的对比结果

如表2所示,在更新一代的 DIHARD-III 数据集上,S2SND 同样表现出色。在 0.80s 延迟设置下的在线模式,S2SND-Medium 达到 17.12% DER,明显优于各类在线系统。完成离线重解码后,DER 进一步降至 15.13%。值得一提的是,S2SND 的在线 DER 已逼近甚至优于许多离线系统(如 EEND-M2F 的 16.07%),体现出其在新说话人检测与时序建模方面的强大泛化能力。

2. S2SND 模型与其他方法在 DIHARD-III 测试集上的对比结果

如表2所示,在更新一代的 DIHARD-III 数据集上,S2SND 同样表现出色。在 0.80s 延迟设置下的在线模式,S2SND-Medium 达到 17.12% DER,明显优于各类在线系统。完成离线重解码后,DER 进一步降至 15.13%。值得一提的是,S2SND 的在线 DER 已逼近甚至优于许多离线系统(如 EEND-M2F 的 16.07%),体现出其在新说话人检测与时序建模方面的强大泛化能力。

除了识别“谁在什么时候说话”,说话人日志系统还应有效估计音频中“有多少人参与对话”。图3展示了不同系统在 DIHARD-III 测试集上的说话人数量预测混淆矩阵。相比 EEND 和聚类方法,S2SND 的预测结果更集中于主对角线,表明其在不同说话人数场景下具有更强的稳定性和泛化能力。这种能力得益于 S2SND 在训练阶段将说话人检测和表征联合优化的设计,使模型能够在无需先验聚类的情况下,自主发现新说话人的出现并持续跟踪,从而自然完成说话人数量的判断与更新。

图3. DIHARD-III 测试集上的说话人数量预测混淆矩阵。Pyannote.audio v3.1、VBx 和 DiaPer 的结果由各自作者提供。评估过程中未使用 Oracle VAD。

小米声音理解大模型 MiDashengLM-7B

首次提出了通过通用字幕进行音频文本对齐的方法,而无需依赖 ASR 或基于声音事件的模型:

  • 融合多模态音频描述:首次将语音转录文本、环境声音字幕和音乐字幕统一融合为一个通用的文本描述,打破了传统分别处理三类音频信息的局限。
  • 构建丰富语义的整体音频描述:通过统一的多模态文本表达,捕获更全面、更细致的音频场景信息,包括语义细节、环境声学特征等,而非仅仅停留在简单的标签或“有人讲话”等表面描述。
  • 促进音频与语言的深度对齐:提升音频理解模型对复杂、多样化音频内容的描述能力,推动声音和文本的跨模态融合与理解。
阶段一:使用ACAVCaps数据集进行全量训练,目标是训练一个encoder表征语音特征;阶段二:使用全量数据集,基于阶段一训练的encoder+初始化的LLM 进行lora微调;阶段三:使用任务均衡的高质量数据集进行SFT

MiDashengLM-7B 基于 Xiaomi Dasheng 作为音频编码器和 Qwen2.5-Omni-7B Thinker 作为自回归解码器,通过创新的通用音频描述训练策略,实现了对语音、环境声音和音乐的统一理解。

MiDashengLM 完整公开了 77 个数据源的详细配比,技术报告中详细介绍了从音频编码器预训练到指令微调的全流程。

MiDashengLM 集成了 Dasheng —— 一个专为高效处理多样化音频信息而设计的开源音频编码器。与以往主要依赖自动语音识别(ASR)进行音频与文本对齐的方法不同,该策略以通用音频字幕为核心,将语音、声音与音乐信息融合为统一的文本表达,从而能够对复杂音频场景进行整体性描述。

Motivation:

当前的音频理解研究通常将语音转录、音频字幕和音乐字幕分别处理。这种独立处理的方法限制了对听觉场景分析的深度和完整性。另一个关键限制来自现有的音频字幕,这些字幕往往只提供表面性的描述。例如,语音内容常被简化为“有人在说话”,忽略了语义细节。此外,这些数据集通常未能捕捉诸如房间声学特性(如混响)或信号质量等关键听觉要素

为克服这些限制,本文提出将语音转录、音频字幕和音乐字幕融合为一个统一的通用字幕。我们的目标是构建一个整体的文本表示,联合涵盖所有相关的音频信息,从而提供对听觉环境更为详细且语义丰富的描述。

基于 ASR 的预训练对于一般的音频语言理解而言,其效果有限,原因如下:

  • 数据利用效率低:仅使用ASR数据导致大量潜在有价值的数据被丢弃,如音乐、环境噪声,甚至静默片段。
  • 目标过于简单:基于文本的训练相比,模型从ASR数据中学到的有意义信息相对较少,型仅需建立局部对应关系,将口语词与文本对应,而无需理解更广泛的(全局)音频上下文。
  • 基于ASR预训练的局限性:超越语音内容。基于ASR的预训练主要关注语音内容,忽视了其他信息。这导致重要的语音元信息,如说话者的性别、年龄或情绪状态,无法在预训练过程中被捕获或整合。

Framework

图 2: MiDashengLM 框架提案。三个阶段均采用标准下一个标记预测损失进行训练。阶段 1 将音频编码器与文本模态对齐,之后提取音频编码器并进行初始化,以用于阶段 2。

当前,绝大多数工作都使用预训练的音频编码器,本文首次提出了通过通用字幕进行音频文本对齐的方法,而无需依赖 ASR 或基于声音事件的模型。此外,我们仅使用一个能够同时处理语音、声音和音乐的通用音频编码器。

架构设计:基于通用前缀的大型语言模型,通过多层感知机(MLP)将音频编码器的特征映射到语言模型的嵌入空间,实现音频与文本的对齐。

数据使用:只采用公开可用的音频-文本数据进行预训练和微调,数据来源多样且公开透明。

音频编码器选择:首次提出利用单一通用音频编码器联合处理语音、环境声音和音乐,无需依赖ASR或特定声音事件模型。

训练效率优化:支持可变长度输入,避免了大量无效的填充,提高计算效率;同时通过将音频序列下采样到5Hz,实现快速训练和推理。

Datasets

MiDashengLM 在预训练和监督微调阶段仅基于公开数据集进行训练。

ACAVCaps:基于ACAV100M制作通用字幕数据

字幕数据集不足,主要是因为缺乏语音理解,且其数据来源单一,主要来自 Audioset 、VGGSound  和 FSD50k 。就我们的目的而言,需要一个公开可用且内容丰富的数据集,包含多语言语音、不同类型的音乐和大量复杂的音频环境。我们认为 ACAV100M [https://acav100m.github.io/]是一个合理的候选源数据集,因为它之前没有被标记为用于音频字幕,并且与前面提到的数据集几乎没有重叠。

ACAV100M

由于 ACAV100M 缺乏标签,我们开发了一套高效的数据管理流程。我们首先使用 CED-Base 以 2 秒为单位预测 AudioSet 标签。我们使用这个更精细的 2 秒尺度,使我们的字幕能够捕捉时间关系。获得声音事件标签后,我们进一步使用大量不同的音频分类模型来处理数据,每个模型都针对特定任务量身定制。

  • 语音分析:该任务识别口语内容,区分不同说话者,对音频进行说话人分割(说话人分离),检测语音情感,分类说话者的性别和年龄,并使用Whisper推断转录文本。
  • 声纹分析:除了基本的语音内容外,该任务进一步细化声音情感检测,评估声音健康状况,分析音高和音色等独特声学特征。
  • 音乐分析:针对音乐内容,模型进行音乐风格分类、乐器识别、节奏检测、音乐情绪分析以及歌唱声音识别。
  • 环境声学:该流程部分对声学场景进行分类,评估音频质量,分析混响情况,并识别各种噪声类型。
数据整理流程。我们使用自动化流程过滤 ACAV100M,该流程可预测文本、声音事件、音质和其他元信息。然后,使用推理 LLM 根据提供的元信息生成字幕。最终整理的数据集被拆分为训练集 (ACAVCaps) 和全新的评估集——音频任务多专家链 (MECAT)。
通过pipline 合成的部分样例

在获得上述所有标签后,我们使用推理型大型语言模型(DeepSeek-R1)生成简短的音频字幕。生成的精编音频字幕数据集随后被划分为训练集(ACAVCaps)和测试集(用于细粒度音频理解任务的多专家构建基准,MECAT)。MECAT测试集是从精编数据集中筛选而来,首先依据视频授权类型过滤各来源视频,最终通过GLAP 方法对音频-文本一致性进行评分。

MECAT-QA:

MECAT-QA 中,每段音频配备了五个问答对,涵盖不同类别和难度等级,总计超过10万个问答对。问答任务分为三个主要认知类别:

a) 感知(Perception):包含一个子类别——直接感知(Direct Perception),侧重于对音频内容和事件的直接识别与命名。

b) 分析(Analysis):由两个子类别组成——声音特征(Sound Characteristics),用于考察声音的声学属性(如音高);质量评估(Quality Assessment),用于评估音频的技术质量(如噪声水平)。

c) 推理(Reasoning):涵盖更高级的认知能力,分为三个子类别——环境推理(Environment Reasoning),需要推断声音发生的声学场景;推断与判断(Inference & Judgement),基于音频内容进行逻辑推理和判断;应用场景(Application Context),测试对声音实际用途或情境的理解。

Training datasets and tasks

总计约110万小时的数据。其中约90%的训练数据来自公开的自动语音识别(ASR)数据集,其余数据集规模明显较小。如果不加以合理处理,模型在除ASR以外的任务上表现可能不足。数据采样情况如图6所示。

在音频-文本对齐阶段,我们使用前文介绍的ACAVCaps数据集,该数据集包含3.8万小时高质量的通用字幕。我们在ACAVCaps上训练3个epoch,以实现音频编码器与文本的对齐。

完成对齐后,我们对MiDashengLM模型在全量110万小时训练数据上进行预训练,约训练1.4个epoch。预训练结束后,在一个精选的预训练子集上进行一次监督微调,子集总时长约35.2万小时。

模型和三阶段训练:

音频编码器基于 Dasheng-0.6B构建,是一个帧级的视觉Transformer(ViT),使用掩码自动编码器(MAE)目标在主要的 ACAV100M 数据集上进行预训练。

MiDashengLM 仅支持16 kHz的音频输入,所有输入数据都会自动重采样到此采样率。音频波形被转换成64维的梅尔频谱图(mel-spectrogram),Dasheng-0.6B 通过提取32毫秒帧特征,步幅为10毫秒来处理这些频谱图。默认情况下,Dasheng 会将输入特征进一步下采样4倍,产生40毫秒间隔的高级特征。Dasheng 支持可变长度输入,最大输入长度为1008帧(约10.08秒)。对于超过该长度的输入,我们采用无重叠滑动窗口方法,将每个音频片段分别输入 Dasheng,随后拼接得到的帧级特征。

Audio-text alignment

MiDashengLM 的第一步是将音频编码器与文本数据对齐。在此对齐阶段,我们使用 ACAVCaps 数据集,对音频编码器和文本解码器组件进行端到端微调。对齐之后,我们提取训练好的音频编码器,以便在后续的预训练 SFT 阶段进行初始化。在模型开发期间,我们根据经验评估了两种替代方法:(1) 与冻结的大型语言模型 (LLM) 集成和 (2) 低秩自适应 (LoRA)。然而,这两种方法的音频编码器性能都不令人满意。音频文本对齐在 8 个 GPU 上以 256 的有效批次大小运行了一天。

解码器:

文本解码器使用 Qwen2.5-Omni-3B (一个公开的预训练语言模型)进行初始化。在预训练和监督微调阶段,我们都采用了 LoRA 来提升参数效率。训练目标是最小化标准交叉熵损失:

Training :

所有训练过程均采用线性学习率预热(warm-up),持续前1000次迭代,期间学习率从零线性上升至目标值。随后,学习率遵循余弦衰减策略,训练结束时降低至最大值的10%。预训练与监督微调(SFT)之间的主要区别包括:(1)SFT阶段采用较低的学习率;(2)通过LoRA技术扩展了可训练参数。

Results

音频编码器性能:

为了评估我们用通用音频字幕训练的音频文本对齐框架,我们将生成的音频编码器与 Whisper-Large V3 进行了比较。我们采用 X-Ares 基准 ,该基准通过轻量级 MLP 层评估冻结的编码器嵌入,涵盖三个核心音频领域:语音、音乐和(环境)声音。

基于 Dasheng 的编码器在各种音频分类任务中表现出色。比较分析表明,虽然 Whisper-Large v3 在 22 个任务中的 4 个任务上取得了更好的结果,但我们的编码器在其余 18 个任务上优于 Whisper。在某些严格与语音相关的任务上,如自动语音识别(ASR,WER 提高约 5%)、说话人数统计(LibriCount)、口语语言识别(VoxLingua33)以及关键词检测(Speech Commands V1),Whisper 的表现优于我们提出的编码器。

传统数据集基准

模型配置介绍:

Audio captioning results:

在音乐和音频(声音)字幕数据集上,MiDashengLM 的表现均优于基线模型。对于通用音频,性能提升尤为显著,我们的模型在 AutoACD 上的表现显著优于基线模型,而在音乐专用基准测试中,其性能提升则较为平缓。

 音频和副语言分类

在十项测试任务中的表现表明,MiDashengLM 在说话人验证(VoxCeleb1)、语言识别(VoxLingua107)、声音分类(VGGSound、FSD50k)和音乐分类(NSynth、FMA)方面的表现优于基准。

Automatic speech recognition:

音频令牌的帧率会显著影响 ASR 性能,更高的帧率会提高性能,但计算效率会有所下降。这些结果与我们之前发现一致,表明我们的编码器仍然落后于闭源 Whisper 模型——两个基线系统都采用的音频编码器。由于 MiDashengLM 首先是一个字幕模型,因此它的 ASR 性能在传统 LibriSpeech 数据集上与基线相比有所下降。然而,在更大的测试集(如 People’s Speech)上的性能优于 Qwen2.5-Omni 基线。Kimi-Audio 在英语和普通话语音识别方面表现最佳,这可能源于它使用大量英语和中文 ASR 数据进行预训练。然而,MiDashengLM 和 Qwen2.5-Omni 均能够对印尼语、越南语和泰语等不同语言进行自动语音识别。这表明,尽管我们的编码器没有经过专门的语音训练,却拥有令人惊讶的强大多语言能力。

问答结果:

MiDashengLM 在这些任务中保持领先地位,而 Kimi-Audio-Instruct 的性能最弱

Inference speed

Higgs Audio V2-语音大模型

Higgs Audio V2模型,不仅能处理文本,还能同时理解并生成语音。除了一些常规语音任务外,这个模型还具备一些较为罕见的能力,比如生成多种语言的自然多说话人对话、旁白过程中的自动韵律调整、使用克隆声音进行旋律哼唱以及同时生成语音和背景音乐。

整个过程堪称“大力出奇迹”,直接将1000万小时的语音数据整合到LLM的文本训练,

Higgs Audio v2 采用上图架构图中所示的“generation variant”。其强劲的性能源于三项关键技术创新:

  • 开发了一套自动化注释流程,该流程充分利用了多个 ASR 模型、声音事件分类模型以及我们内部的音频理解模型借助该流程,我们清理并注释了 1000 万小时的音频数据,并将其命名为 AudioVerse 。该内部理解模型在 Higgs Audio v1 Understanding 的基础上进行了微调,并采用了架构图中所示的“理解变体”。
  • 从零开始训练了一个统一的音频分词器,它可以同时捕捉语义和声学特征。
  • 提出了 DualFFN 架构,它增强了 LLM 以最小计算开销建模声学 token 的能力。

Higgs Audio V2 在音频 AI 能力上实现了重大飞跃:

  • 多说话人对话自然流畅:多说话人对话往往难以处理,尤其是在角色无法匹配彼此的情绪和语气时。而借助 Higgs Audio V2,这种对话轻松自然,仿佛现场交流,充满生命力。
  • 支持长音频生成:生成长音频时需要保持声音的一致性,同时兼顾真实感、吸引力和生动性。Higgs Audio 提供条件控制与提示机制,使长音频表现出色。
  • 高保真音质:为了在高品质扬声器和耳机上实现逼真音效,V2 将音频处理管线从 16kHz 升级至 24kHz,带来更佳音质。
  • 高效推理,资源友好:无论是个人项目还是商用部署,推理效率都很重要。我们最小的模型可以在 Jetson Orin Nano 上运行;最新的 3B Audio Generation V2 模型则至少需要 RTX 4090 才能高效推理。
  • 生成真实、有情感的语音表现领先:在 EmergentTTS-Eval 基准测试中,其胜率超过 75%,超越 ChatGPT 4o。
  • 开源:模型开源。
  • 训练数据超千万小时:为实现更高音质与更逼真的语音效果,模型在超过1000万小时的音频上训练,并依托精细的处理与标注流程自动生成训练数据

模型原理:

传统的语音和文本模型之间相互独立,李沐老师就想,欸,能不能将两者结合起来,直接让LLM用语音进行沟通。那么首先就要知道文本语言模型的本质是用给定的一段指令去生成预测结果,就是将任务先拆解为系统指令(system)用户输入(user)模型回复(assistant)三个部分。system告诉模型,需要做什么事情,例如回答该问题、写一段文字或者其他,user就是告知事情的详细内容,例如问题具体是什么、文字要什么风格。

所以如果要让模型支持语音,就需要为模型增加一个系统命令,在user里输入要转录为语音的文字,让模型从system里输出对应语音数据。这样语音任务就能转换成相同的处理格式,直接打通语音和文本之间的映射,通过追加更多的数据和算力,直接scaling law“大力出奇迹”。

音频分词器:

这就引出了新的问题,语音信号本质是连续的,要如何才能在离散的文本token中表示呢?

现有的方法是将一秒的语音信号裁切成多段(如100毫秒一段),为每一段匹配最相似的预定义模板(如45个模板),然后将其表示为长度为10的编号序列,也就是一个个token。

但这样做,虽然可以将一小时的音频从60兆压缩到0.16兆,但质量相当糟糕,所以需要优先保留语音的语义信息而声学信号只保留少量部分,后续再通过其他手段还原

于是他们训练了一个统一的离散化音频分词器,以每秒25帧 [40ms/帧] 的速度运行,同时保持甚至提高音频质量,以捕获语义和声学特征。

新的离散化音频分词器运行速度仅为每秒25帧,同时在音质上保持甚至优于码率翻倍的分词器。该模型是首个在 24 kHz 数据上训练的统一系统覆盖语音、音乐与声音事件。同时,该模型采用简单的非扩散式编码器/解码器,实现快速批量推理

解析模块

  • 语义教师模型 (Semantic Teacher): 生成语义表示 S,用于指导语义编码器提取语义信息;
  • 语义编码器 (Semantic Encoder): 接收语义表示 S,提取语义特征 hS ;
  • 声学编码器 (Acoustic Encoder): 直接从输入音频 X 中提取声学特征 hA ;
  • 特征组合 (Concatenation): 将语义特征 hS 和声学特征 hA 进行特征组合,形成联合特征表示;
  • Dense 层: 对联合特征进行非线性变换,生成预量化特征 hpre ;
  • 残差向量量化 (RVQ): 对预量化特征进行hpre 量化,生成量化后的特征 hpost,并产生多个量化码本 Q1,Q2,…,Qm ;
  • Dense 层: 对量化后的特征进行非线性变换hpost,生成用于解码的特征表示;

解码过程:

  1. 语义解码器 (Semantic Decoder): 使用处理后的量化特征重建语义表示 S^ ;
  2. 声学解码器 (Acoustic Decoder): 使用处理后的量化特征重建音频信号 X^ ;

具体流程:

  1. 特征提取: 原始音频 X 输入后,通过语义教师模型生成语义表示 S,然后通过语义编码器和声学编码器分别提取语义特征和声学特征;
  2. 特征组合与量化: 提取的语义和声学特征进行组合,经过非线性变换后进行残差向量量化,得到量化后的特征表示;
  3. 解码与重建: 量化后的特征分别输入语义解码器和声学解码器,重建语义表示 S^ 和音频信号 X^ ;
  4. 损失计算与优化: 通过计算语义损失和声学损失,优化模型的参数,使重建的语义和音频尽可能接近原始输入;

音频分词器性能:

整体架构

HiggsAudio-V2 模型基于大型语言模型(LLM),并集成了音频适配器(Audio Adapter)和音频解码器(Audio Decoder),用于处理音频输入和输出。

模型基于 Llama-3.2-3B 构建。为了增强模型处理音频 token 的能力,引入了“DualFFN”架构作为音频 adapter。DualFFN 充当音频专家,以最小的计算开销提升 LLM 的性能。通过引入 DualFFN,我们的实现保留了原始 LLM 91% 的训练速度。

组件组成

  • Text Branch(浅蓝色):处理文本输入。
  • Understanding Variant(浅蓝色):用于理解文本和音频输入。
  • Generation Variant(黄色):用于生成文本和音频输出。
  • Audio Adapter – Dual FFN(虚线框):专门设计用于处理音频令牌的模块,包含两个前馈网络(FFN)和多头自注意力(MHA)模块。

文本输入

  • 文本输入通过 Text Tokenizer 转换为文本令牌(Text Token)。
  • 文本令牌通过 Text Branch 进行处理。

音频输入

  • 音频输入通过 Audio Tokenizer 转换为音频令牌(Audio Token)。
  • 音频令牌通过 Understanding Variant 进行处理。
  • 音频输入还通过 Semantic Encoder 提取语义信息。

文本和音频融合

  • 文本和音频令牌在 LLM 中进行融合处理。
  • Understanding Variant 和 Generation Variant 分别负责理解和生成任务。

音频适配器(Dual FFN)

  • Audio Adapter 包含两个并行的前馈网络(FFN),分别处理文本和音频特征。
  • 每个 FFN 之后都有一个归一化层(Norm)。
  • 处理后的特征通过多头自注意力(MHA)模块进行进一步处理。
  • 最终,处理后的文本和音频特征在音频适配器中融合。

为了提升模型处理音频令牌的能力,HiggsAudio-V2 引入了 “DualFFN” 架构作为音频适配器。DualFFN 作为音频专家模块,可以显著提升模型在音频任务上的性能,同时保持较低的计算开销。具体来说,DualFFN 在音频令牌处理过程中提供了额外的处理能力,使模型能够更有效地理解和生成音频数据。

延迟模式(Delay Pattern)

由于音频令牌化过程中涉及多个代码本,HiggsAudio-V2 采用了延迟模式(delay pattern)来实现跨代码本的并行代码生成。该模式通过在不同代码本之间引入偏移量,使得模型能够在保持音频质量的同时支持流式处理。延迟模式允许模型在生成音频时,同时处理多个代码本中的令牌,从而提高了生成效率。

然后要让模型很好地理解和生成声音,就需要利用模型的文本空间,将语音的语义尽量地映射回文本,当中需要大量的数据支持。

由于版权问题,沐导没有使用B站或YouTube这类公开视频网站数据,而是购买或从允许抓取的网站获取。这样得到的数据质量参差不齐,需要删除其中的90%才能满足1000万小时的训练数据需求。

其次,将语音对话表示为相应的system(场景描述、声学特征、人物特征等)、user(对话文本)、assistant(对应音频输出)的形式。由于OpenAI和谷歌一向禁止使用他们的模型输出再训练,且训练成本过高,为了实现这种标注,他们利用相同的模型架构额外训练出一个语音模型AudioVerse

该模型接收用户语音输入,分析并输出场景、人物、情绪、内容等信息,再将输出反过来作为生成模型的system提示和user输入,实现模型的共同进步。

举个例子就是,如果想要教一个徒弟同时会拳脚功夫,但师傅一次又教不了,那就同时教两个徒弟,一个学打拳,一个学踢腿,然后让他们俩天天互相打,打着打着两个就都会拳脚功夫了。

最终,这个多模态模型就完成了,不仅可以完成简单的文本转语音,还能实现更复杂的任务,比如让它写一首歌并唱出来,再加上配乐。

还能根据语音分析场景、人物(性别、年龄、情绪状态)、环境音(室内外),并进行复杂的理解和推理。

在实时语音聊天上,还可实现低延迟、理解情绪并表达情绪的自然语音交互,而不仅仅是机械的问答。

EmergentTTS-Eval基准上,相较于其他模型,性能可以说是遥遥领先,尤其是在“情绪”和“问题”类别中,相比GPT-4o-mini-tts高出了75.7%和55.7%的胜率。

此外,它在Seed-TTS Eval和情感语音数据集 (ESD) 等传统TTS基准测试中也取得了最佳性能。

Evaluation:

Seed-TTS Eval & ESD

我们使用参考文本、参考音频和目标文本对 Higgs Audio v2 进行零样本语音合成(TTS)测试。评估采用 Seed-TTS Eval 和 ESD 中的标准评估指标。【SIM 指标一般是指 Speaker Similarity

EmergentTTS-Eval (“Emotions” and “Questions”):根据 EmergentTTS-Eval 论文,我们报告了在使用 “alloy” 音色时,相较于 “gpt-4o-mini-tts” 的胜率。评判模型为 Gemini 2.5 Pro。

多说话人评估:我们还设计了一个多说话人评估基准,用于评估 Higgs Audio v2 在多说话人对话生成方面的能力。该基准集包含三个子集:

  • two-speaker-conversation:包含1000条双人合成对话。我们固定两段参考音频,用以评估模型在双人语音克隆方面的能力,对话轮数在4到10轮之间,角色随机选择。
  • small talk(无参考音频):包含250条合成对话,生成方式与上类似,但特点是发言简短、轮数较少(4–6轮)。本集合未提供参考音频,旨在评估模型自动为角色分配合适声音的能力。
  • small talk(有参考音频):同样包含250条合成对话,发言更短。该集合在上下文中包含参考音频片段,类似于 two-speaker-conversation,用于评估基于参考音频的表现。

我们在这三个子集上报告了词错误率(WER)和说话人内相似度与说话人间差异度的几何平均值。除 Higgs Audio v2 外,我们还评估了 MoonCast 和 nari-labs/Dia-1.6B-0626 这两个当前最受欢迎、支持多说话人对话生成的开源模型。结果总结在下表中。由于 nari-labs/Dia-1.6B-0626 对话语长度及输出音频的严格限制,我们未能在 “two-speaker-conversation” 子集上运行该模型。