非因果卷积/因果卷积

因果卷积:

因果卷积可以用上图直观表示。即对于上一层t时刻的值,只依赖于下一层t时刻及其之前的值。和传统的卷积神经网络的不同之处在于,因果卷积不能看到未来的数据,它是单向的结构,不是双向的。也就是说只有有了前面的因才有后面的果,是一种严格的时间约束模型,因此被成为因果卷积。

上面的图片可以详细的解释因果卷积,但是问题就来,如果我要考虑很久之前的变量x,那么卷积层数就必须增加(自行体会)。。。卷积层数的增加就带来:梯度消失,训练复杂,拟合效果不好的问题,为了决绝这个问题,出现了扩展卷积(dilated)

(1) 流式推理中的卷积要求

  • 无未来信息依赖:卷积核只能访问当前及之前的输入,不允许访问未来输入。
  • 因果卷积(Causal Convolution):通过调整卷积核的 Padding,使卷积操作仅依赖历史时间步的数据。

(2) Padding 设计

  • 普通卷积的 Padding:在非流式模型中,通常使用 SAME Padding(如 TensorFlow 或 PyTorch 的对称填充),填充方式使得输入和输出长度一致。这会导致卷积核访问未来时间步数据,无法实现流式推理。
  • 因果卷积的 Padding
    • 对卷积核进行不对称填充(如只在输入前侧填充),使得卷积操作仅依赖于当前及之前的时间步。
    • 具体填充量 = 卷积核大小 – 1,例如 3×1 卷积核的填充量是 2。
import torch
import torch.nn as nn
from torch.autograd import Variable

__CUDA__ = torch.cuda.is_available()

class CausalConv1d(nn.Module):
    """
    A causal 1D convolution.
    """
    def __init__(self, kernel_size, in_channels, out_channels, dilation):
        super(CausalConv1d, self).__init__(self)
        
        # attributes:
        self.kernel_size = kernel_size
        self.in_channels = in_channels
        self.dilation = dilation
        
        # modules:
        self.conv1d = torch.nn.Conv1d(in_channels, out_channels,
                                      kernel_size, stride=1,
                                      padding=padding = (kernel_size-1) * dilation,
                                      dilation=dilation)

    def forward(self, seq):
        """
        Note that Conv1d expects (batch, in_channels, in_length).
        We assume that seq ~ (len(seq), batch, in_channels), so we'll reshape it first.
        """
        seq_ = seq.permute(1,2,0)
        conv1d_out = self.conv1d(seq_).permute(2,0,1)
        # remove k-1 values from the end:
        return conv1d_out[0:-(self.kernel_size-1)]

扩展因果卷积:【空洞因果卷积 Dilated causal Conv】

对于因果卷积,存在的一个问题是需要很多层或者很大的filter来增加卷积的感受野。扩大卷积(dilated convolution)是通过跳过部分输入来使filter可以应用于大于filter本身长度的区域。等同于通过增加零来从原始filter中生成更大的filter。

dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv,比如图像分割、语音合成WaveNet、机器翻译ByteNet中.

Normalization 层的选择与调整

Normalization 是流式推理中另一个关键挑战。普通的批归一化(Batch Normalization, BN)需要计算全局统计量(如均值和方差),这在流式推理中是不可能实现的。

(1) Batch Normalization 的问题

  • 需要整个批次的数据来计算统计量,无法在单步流式推理中实现。
  • 通常在训练阶段使用 batch statistics,在推理阶段使用 running statistics

(2) 解决方法

Layer Normalization (LN)

  • 不依赖于批次,而是对每个样本的特征维度进行归一化,非常适合流式推理。

Instance Normalization (IN)

  • 类似于 Layer Normalization,但操作在每个样本的空间维度上进行归一化。

Group Normalization (GN)

  • 介于 Batch 和 Layer Normalization 之间,将特征划分为组,并在组内进行归一化。

Online Normalization(自回归统计)

  • 通过滑动窗口或指数移动平均(EMA)计算局部统计量,仅依赖过去的信息。
  • 这种方法特别适合流式推理,但实现较为复杂。

实践中的流式推理设置

结合以上两点,具体实现流式模型时需要注意以下步骤:

  1. 卷积层
    • 替换普通卷积为因果卷积。
    • 如果使用扩张卷积(Dilated Convolution),需要保证所有层的 Padding 符合因果逻辑。
  2. 归一化层
    • 替换 BatchNormLayerNorm
    • 在需要时,引入自回归统计机制。
  3. 框架支持
    • 确保模型在流式输入中可以逐步更新输入窗口(如时间序列切片)。

Freeze-Omni 端到端语音双工模型

GPT-4o提供的全双工语音对话带来了一股研究热潮,目前诸多工作开始研究如何利用LLM来实现端到端的语音到语音(Speech-to-Speech)对话能力,但是目前大部分开源方案存在以下两个问题:

  • LLM灾难性遗忘:由于现有方案在语音模态与LLM进行对齐时,会或多或少对LLM进行微调,但由于要采集到与LLM本身训练的文本数据同等量级的语音数据是非常困难的,所以这一微调过程往往会导致LLM出现遗忘现象,造成LLM的聪明度下降
  • 语音问答(Spoken Question Answering)任务的评估:多数工作对于语音问答的准确性并没有进行定量评估,从已有的一些评估结果也可以看出同一模型语音问答和文本问答相比准确性会有明显的差距

针对上述这些问题,近日腾讯&西工大&南大的研究人员提出了一种低延迟的端到端语音双工对话模型Freeze-Omni(VITA大模型系列第二个工作),其可以在完全冻结LLM的情况下,为LLM接入语音输入和输出,使其能够支持端到端的语音对话能力,且通过一系列优化使得其具备低延迟的双工对话能力,其主要特性如下:

  • 在整个训练过程中,LLM的参数被完全冻结,确保大型语言模型的知识能力被完全保留
  • 训练过程中所依赖的数据规模较小,消耗的计算资源也较少。Freeze-Omni仅需要文本-语音配对数据(如ASR和TTS训练数据,比较容易获得)以及仅少量的文本模态的问答数据语音问答准确性显著超越Moshi与GLM-4-Voice等目前SOTA的模型
  • Freeze-Omni 可以支持任何具有文本模态的(多模态)大语言模型,能够保留基底大语言模型的能力,如提示服从和角色扮演等。此外,如果有必要改变大语言模型的领域或者回应方式,只需要用相应的文本数据对大语言模型进行微调即可,不需要采集大量语音的问答和对话数据.

三阶段训练策略实现语音输入输出能力

Freeze-Omni的整体结构如图1所示,其包含有语音编码器(Speech Encoder)和语音解码器(Speech Decoder)以及基底LLM三部分。在运行过程中,流式的语音输入通过语音编码器形成分块(Chunk)特征,然后通过Adapter连接到LLM,LLM生成的Hidden State和文本Token的在分块分割后分别以块的形式送入非自回归前缀语音解码器(NAR Prefix Speech Decoder)和非自回归语音解码器(NAR Speech Decoder)以进行Prefill操作,最后自回归语音解码器(AR Speech Decoder)将会完成Generate操作以生成语音Token,并由Codec Decoder将其流式解码为语音信号输出。

Freeze-Omni各个模块的三阶段训练策略如下:

流式语音编码器的三阶段训练:如图2所示,第一阶段(a)会先使用ASR数据训练一个具有ASR能力的语音编码。第二阶段(b)会以ASR任务为优化目标,将语音编码器与LLM做模态对齐,这个过程中LLM是处于冻结状态的。第三阶段(c)会使用由TTS系统合成的语音输入-文本回答的多轮QA数据进行训练,这里会使用第二阶段训练好的语音编码器,但是其参数保持冻结以保留其语音鲁棒性,而可训练的参数只有每个问题前的Prompt Embedding,用于指导LLM从ASR任务迁移到QA任务中。

流式语音解码器的三阶段训练

如图3所示,第一阶段(a)会先训练一个单码本的语音编解码模型,使用单码本的目的主要是为了降低计算复杂度和时延。

第二阶段(b)将会训练NAR语音编码器和AR语音编码器,这里会使用文本-语音的TTS数据,其文本会通过基底LLM的Tokenizer转化为Token,再经过基底LLM的Embedding层转化为文本特征,这个过程中Embedding的参数是冻结的,训练目标的语音Token是由第一阶段的语音编码器提供。

第三阶段(c)将会冻结第二阶段训练得到的所有网络,但同时加入了一个NAR Prefix语音编码器,其用于接受LLM输出的Hidden State,并将输出的kv-cache作为第二阶段模型的初始kv-cache,该过程使用的数据是文本输入-语音输出的QA数据,主要目的是为了使得语音编码器迁移到LLM的输出领域中。

双工对话的状态标签训练:如图4所示,为了实现双工交互,Freeze-Omni在语音编码器训练的第三阶段中,会为每个Chunk的最后一个语音帧对应的LLM输出Hidden State加入一个额外的分类层进行多任务训练,其目的主要是为了输出状态标签。当使用VAD激活语音流输入后,状态标签0表示LLM将会继续接受语音Chunk的输入,状态标签1表示LLM将会停止接收语音,且会打断用户并进入LLM的Generate阶段输出回复,状态标签2表示LLM也会停止接收语音,但不会打断用户,相当于对这次语音激活做了拒识。

模型性能测评

训练配置:Freeze-Omni在训练过程中,使用了开源Qwen2-7B-Instruct作为基底模型,语音编码器在训练过程中使用了11万小时中文英文混合的ASR数据,语音解码器训练过程使用了3000小时由TTS系统合成的文本-语音数据,所提到的QA数据是由6万条从moss-003-sft-data中抽取的多轮对话经过TTS系统合成得到的。

语音输入理解能力评估:Freeze-Omni提供了其在常见的英文测试集上的ASR性能测试结果,从中可以看出,其ASR准确性处于较为领先的水平。

语音输出质量评估:Freeze-Omni提供了其在1000条LLM输出的Hidden State与Text Token上语音解码器生成的语音在使用ASR模型测试得到的词错误率(CER),从结果中可以看出NAR Prefix语音解码器的引入会有效降低词错误率,提高生成语音的质量。

语音问答准确性评估:Freeze-Omni提供了其在LlaMA-Questions, Web Questions, 和Trivia QA三个集合上的语音问答准确率评估,从结果中可以看出Freeze-Omni的准确率具有绝对的领先水平,超越Moshi与GLM-4-Voice等目前SOTA的模型,并且其语音模态下的准确率相比其基底模型Qwen2-7B-Instruct的文本问答准确率而言,差距明显相比Moshi与其文本基底模型Helium的要小,足以证明Freeze-Omni的训练方式可以使得LLM在接入语音模态之后,聪明度和知识能力受到的影响最低。

系统延迟评估:Freeze-Omni还提供了端到端时延分析(即用户说完后到LLM输出音频的时间差),作者将其分为了可统计时延和不可统计时延两部分,其中可统计时延的总时长平均数仅为745ms,而作者也提到如果经过测量考虑到网络延迟和不可统计时延部分,则系统的平均响应时延在1.2s左右,在行业内仍为领先水平。

KE-Omni-语音会话大模型

贝壳团队最新的语音大模型工作:面对语音交互对话数据稀缺的行业现状,尝试通过多阶段生成的方式来Scale训练数据;构建了超60000+小时、包含40000+说话人的高质量交互对话数据集Ke-SpeechChat;通过这些方式,表现基本能达到SOTA;

个人理解

  • 1、具体做法是先生成文本token,基于文本token在自回归生成语音token,最后基于语音token合成音频,没办法做到打断和全双工对话。另外,只使用hubert的音频token来合成语音可能效果不好,缺乏声学信息,合成的音频可能不会有太多的情感波动以及音色可能不稳定,看作者demo和论文, HiFi-GAN 声码器针对代理发音人(agent speakers)预先训练,针对中英文男/女 各选了一个音色进行HiFiGAN的训练,如果只在单一音色上训练的HiFiGAN可能音色比较稳定。个人理解应该是每一个音色训练一个HiFiGAN模型,听demo确实语音没有情感波动另外这种方法跟LLama-omni做法基本一致。
  • 2、论文中给出了如何在没有开源的大规模语音交互数据集情况下进行语音对话数据集的制作。比较有借鉴意义。首先对文本数据使用LLM进行重写指令、筛选重写后的指令以及口语化后处理。然后使用TTS技术合成多说话人,多样化的语音。另外在附录中给出了 文本重写指令的prompt以及不同的大小的Qwen2 LLM重写的结果分析。【具体提示词见附录】

论文:通过使用超过 60,000 小时的合成语音对话数据扩展监督微调来推进语音语言模型Advancing Speech Language Models by Scaling Supervised Fine-Tuning with Over 60,000 Hours of Synthetic Speech Dialogue Data

KE-Omni是一个基于 Ke-SpeechChat 构建的无缝大型语音语言模型,这是一个大规模的高质量合成语音交互数据集,由 700 万中英文对话组成,有 42,002 名说话人,总计超过 60,000 小时,这为该领域的研究和开发进步做出了重大贡献。

KE-Omni 模型架构

KE-Omni 由三个主要组件组成:语音编码器、大型语言模型(LLM)和语音解码器针对用户的语音指令,KE-Omni 被设计为无缝生成高质量的文本和语音响应。

语音编码器

采用了 Whisper-large-v3的编码器作为语音编码器。Whisper 是一种广泛使用的多语言语音识别模型,以其在多种语言上的强大性能而著称,非常适合我们的应用场景。一个轻量级的语音适配器被用于语音-文本模态对齐,将语音编码器与 LLM 连接起来。

语音编码器将每秒的音频处理为 50 帧特征。随后,语音适配器进一步压缩语音特征序列的长度,使其与 LLM 的模态对齐。我们在语音适配器中采用了 5 倍的压缩比,这意味着每秒的语音最终被转换为 10 帧特征。这种方法提高了处理速度并降低了 LLM 的延迟,同时保证了质量不受影响。

在整个训练过程中,语音编码器的参数保持冻结状态,仅语音适配器的参数会更新。这种方法保留了编码器强大的语音表示能力,同时使适配器能够学习必要的转换,以实现与 LLM 的高效语音-文本模态对齐。

语言模型

采用了最先进的开源模型 LLaMA作为大型语言模型(LLM)。该模型在多语言推理能力方面表现出色,涵盖中文和英文等多种语言。在 KE-Omni 中,LLM 将提示文本嵌入和语音编码器生成的语音表示拼接后作为输入。这种集成方式使得 LLM 能够利用来自文本和语音模态的上下文信息。然后,LLM 根据用户的语音指令自回归地生成文本响应。为了在性能和效率之间取得平衡,我们选择了 LLaMA-3.1-8B-Instruct 作为我们的 LLM 变体。

语音解码器

语音解码器负责将 LLM 的文本响应映射为对应的语音信号,是实现语音交互的重要组件。解码器包括以下三个关键部分:

  1. 时长预测器来自 Unit-based HiFi-GAN Vocoder with Duration Prediction
  2. 语音单元生成器
  3. 基于单元的声码器(vocoder)

语音特征表示

类似于 (Zhang et al., 2023) 和 (Fang et al., 2024) 的方法,我们采用预训练的 HuBERT 模型(Hsu 等人,2021)来提取连续的语音表示,并使用 K-means 模型将这些连续表示转化为离散的聚类索引。

生成语音响应的步骤

  1. 时长预测
    在生成语音响应之前,时长预测器首先预测每个文本标记(token)的时长。
    • 根据预测的时长信息,文本token序列会被上采样以匹配目标音频帧序列的长度。
    • 时长预测器在 KE-Omni 的训练过程中保持冻结状态。
  2. 语音单元生成
    基于 Transformer 的语音单元生成器以自回归方式生成离散语音单元序列。为了提高预测速度,我们采用基于块的自回归方法,分块预测语音单元。
    • 给定块大小 C 和目标语音单元序列长度 T,第 i 个文本token和第 j 个语音单元的嵌入向量进行拼接【concatenated】作为输入,其中 j=i−C,且 i∈[C,T]。
    • 在第一个块中,语音单元使用零嵌入初始化。
    • 为了确保语音单元生成的质量,我们在扩展的文本token序列和语音单元序列之间引入了 N 步延迟。
  3. 波形合成
    最终,通过基于单元的声码器(vocoder)将语音单元合成波形。我们选择了 HiFi-GAN 作为声码器。Unit-based HiFi-GAN Vocoder with Duration Prediction HiFi-GAN 声码器针对代理发音人(agent speakers)预先训练,并在 KE-Omni 的训练过程中保持冻结状态。

Ke-SpeechChat 数据集构建

目前尚未见到开源的大规模语音交互数据集,这极大地阻碍了语音对话研究的发展。这种稀缺性主要归因于以下两个因素:一是构建语音数据的高成本,二是涉及的隐私风险。

为了有效构建大规模且高质量的语音交互数据集,我们通过利用先进的 LLM 和 TTS 工具包,探索高效的合成数据方法。为避免隐私风险,我们构建了一个虚拟语音库用于语音生成,其中的声音在现实世界中并不存在。此外,我们在数据中嵌入了水印,以表明这些数据是由 AI 生成的,从而防止其被滥用。

在对话数据的构建过程中,我们首先专注于创建能准确反映口语特征的文本对话数据,然后从这些文本对话中合成语音。随后,我们对合成语音进行质量保证和筛选。

文本预处理:

选择的文本对话问答数据集:

https://huggingface.co/datasets/BelleGroup/train_1M_CN
https://huggingface.co/datasets/BelleGroup/train_2M_CN
https://huggingface.co/datasets/BelleGroup/train_3.5M_CN
https://huggingface.co/datasets/fnlp/SpeechInstruct
https://huggingface.co/datasets/fnlp/AnyInstruct

文本数据集存在的问题:

任务不适合语音交互
许多数据集中的指令涉及的任务不适用于语音交互,例如生成图像、撰写长篇文章或创建结构化文本。这些任务难以自然地融入语音对话。

形式过于正式,与口语化不符
数据集中指令的表达通常过于正式和详尽,与日常口语表达存在显著差距。例如,一个数据集中的指令可能是:“如何安装和设置一款软件或设备(例如打印机)”,而在日常对话中,用户通常会简单地问:“怎么用打印机?”

内容过长且包含不可发音的符号
数据集中指令和响应往往过于冗长,并包含不可发音的特殊字符,例如 Markdown 符号、下划线和换行符。这些特性使得文本数据无法很好地适应语音交互的细腻和动态需求。

为了解决上述问题,我们实施了以下三个关键步骤:重写指令筛选重写后的指令以及口语化后处理。这三个阶段均借助大型语言模型(LLMs)完成具体的提示词(prompts)详见附录 A.1。

重写指令

重写指令的主要目标是将指令任务转化为更适合口头交互的形式。我们的方法是为大型语言模型(LLM)设计特定的提示,要求其将原始指令数据转换为人类可能会以口语形式提出的问题。

我们发现,当将完整的原始指令提供给 LLM 时,其输出通常只对任务的原始格式进行轻微改写,导致结果仍然不适合对话场景。为了解决这个问题,我们针对特定类型的任务(例如分类、摘要和其他指令性任务)实施了特定策略。我们移除了这些任务中的指令性句子,仅保留关键信息片段。随后,我们告知 LLM 这些片段是不完整的,要求其以此为灵感,创造性地生成新的问题。

这种方法有效降低了 LLM 过于依赖原始指令的倾向,并鼓励生成更加自然的对话式问题。因此,我们能够将正式且结构化的指令文本有效地转化为更适合语音场景的查询。

筛选重写后的指令

在指令重写阶段之后,我们会对重写后的指令进行筛选,以确保其适用于口语交互。筛选过程涉及以下三个关键考量:

  1. 适合口头交流:评估重写后的指令是否适合口头交流,排除需要生成长篇或结构化内容(如文章、歌词或电子邮件)的任务。
  2. 清晰度与完整性:评估每条指令的清晰度和完整性,确保其包含足够的背景信息。对于过于模糊或缺乏必要背景的指令(例如“这篇文章的主要内容是什么?”),会被筛除。
  3. 安全性:使用我们内部的系统和 Qwen2-72B-Instruct 模型对指令进行安全性评估。

通过这一筛选过程,数据集主要由清晰、上下文完整且安全的指令组成,从而提升其在对话交互场景中的适用性。

语音风格后处理

在最后阶段,我们使用大型语言模型(LLM)进一步修改筛选后的指令,以提升其对话质量,并以类似自然口语风格生成相应的回答。具体步骤如下:

  1. 对话语气:要求 LLM 采用自然的对话语气,避免生成无法发音的内容,并将数字和公式符号转换为其口头表达形式。
  2. 简洁回答:将回答限制在 100 字以内,确保单次回复不包含过多信息。

通过遵循这些指导原则,数据集被进一步优化,更加适合用于训练支持自然且高效语音交互的模型。

使用的模型版本
本节使用 Qwen2.5-72B-Instruct,而 重写指令筛选重写指令 节使用的是 Qwen2.5-14B-Instruct。值得注意的是,与较小版本(如 Qwen2.5-32B-Instruct 或 Qwen2.5-14B-Instruct)相比,Qwen2.5-72B-Instruct 生成的指令相似,但回答质量显著提升。示例可在附录中查看。

合成音频对话数据

使用 CosyVoice模型,它支持自定义语音特征,将文本对话转换为语音对话。为确保说话人多样性,我们构建了一个包含大量虚拟说话人的语音库这些说话人均来自开源语音数据。为保持合成语音对话的质量,我们对合成音频进行转录并计算字符错误率(CER),根据 CER 进行数据筛选,从而确保数据集的高质量。

语音库

数据来源 WenetSpeech4TTS 数据集源自 WenetSpeech(Zhang et al., 2022),该数据集包含从互联网收集的长音频录音,时长从几分钟到数小时不等。WenetSpeech4TTS 通过语音活动检测(VAD)对这些长录音进行分段,将其分割为较短的音频片段,同时计算每段的 DNSMOS 分数(Reddy et al., 2022)。这些短片段根据说话人的余弦相似性进行合并,以确保每个短片段均由同一说话人发出。然而,WenetSpeech4TTS 未检测同一长录音中不同短片段之间的相似性,而这对我们的工作至关重要,因为我们需要识别由同一人发出的多个片段,以生成稳定的语音特征嵌入。

实际说话人

我们首先从 WenetSpeech4TTS 的优质短片段中(DNSMOS ≥ 4.0)提取音频,并根据其来源的长录音进行分类。我们筛选出包含至少 10 个优质短片段的长录音,记为 Ai​={ai1​,ai2​,…,ain​},其中 i 是长录音的索引,n≥10表示短片段的数量。
接着,我们使用 WavLM(Chen et al., 2022)为这些短片段提取 X-向量,并计算 Ai​ 中每对优质短片段之间的说话人相似性。如果某长录音中至少有 floor⌊2n​⌋ 对短片段的相似性得分超过 0.97,则这些短片段被认为由同一人发出。通过这种方法,我们识别出了 5000 多名说话人,且性别均衡。

虚拟说话人

对于每个识别出的语音特征,我们计算平均发音速度(即每个字符的平均发音时间,取整至最近的 10 毫秒)。然后,根据发音速度将这些特征进行分类。我们随机选择一个语音特征,并与同性别、发音速度相同的另一语音特征配对,通过加权平均生成合成语音特征,以保护隐私并生成不存在的、虚拟的合成语音。这一过程可以用来生成无限数量的虚拟语音。
通过这些步骤,我们的语音库包含高质量、多样化、性别均衡的虚拟语音,适用于语音合成的多种应用,同时不会对应任何真实个人。

语音合成

CosyVoice 进行语音合成。对于每段对话,我们随机选择一位用户语音和一位代理语音进行合成。为了防止数据滥用,所有合成语音均使用 AudioSeal(San Roman et al., 2024)进行水印保护。

质量保证

为确保合成对话的质量,我们对中文部分使用 Belle-whisper-large-v3-turbo-zh 进行转录,对英文部分使用 Whisper-large-v3-turbo 进行转录。
分别计算中文的字符错误率(CER)和英文的单词错误率(WER)。若某条对话的中文 CER 超过 5% 或英文 WER 超过 10%,则该对话被剔除,以确保数据的高质量。

Ke-SpeechChat 数据集细节

所有元数据存储在单个 JSON 文件中,每条对话都包含以下信息:对话 ID、说话人、性别、文本内容和音频路径。示例详见附录 C。

详细统计信息如表 1 所示,其中中文和英文对话的数据分别列出。

  • 中文对话:数量超过 510 万条,总时长达 40,884 小时。
  • 英文对话:数量超过 170 万条,总时长达 19,484 小时。

数据集中的说话人性别均衡,包含 40,000 名用户和 2 名代理【输出语音】(用户和代理的分布均适用于中文和英文)。大量的对话和说话人确保了数据集的多样性。

训练数据被随机划分为五个不同大小的子集:XSSMLXL

  • 每个较大的子集都包含所有较小子集的数据。
  • 所有子集均完整覆盖 42,002 名说话人。

质量评估
为评估 Ke-SpeechChat 的质量,我们使用以下客观指标:

  1. DNSMOS(P.835 OVRL)和 UTMOS 评分:分别衡量音频质量和语音自然度。
  2. ASR 和 TTS 任务:进一步评估数据集性能。

附录

A:PROMPTS提示

指令重写:

指令过滤:

语音风格后处理 [根据指令获得响应]:

B:Qwen不同版本的能力 比较

本附录介绍了使用不同版本的Qwen2.5模型对口语风格后处理的影响,如下表所示

C: Dialogue Format

Synchronous LLMs as Full-Duplex Dialogue Agents


同步 LLMs 作为全双工对话代理

https://syncllm.cs.washington.edu/

尽管对语音对话代理进行建模有着广泛的兴趣,但大多数方法本质上都是 “半双工” 的 —— 仅限于回合制交互,响应需要用户明确提示或隐式跟踪中断或静音事件。相比之下,人类对话是“全双工”的,允许以快速和动态的轮流、重叠语音和反向通道的形式实现丰富的同步性。从技术上讲,使用 LLMs在于将同步建模为预训练的 LLMs 没有“时间”感。为了弥合这一差距,我们提出了用于全双工口语对话建模的同步 LLMs。我们设计了一种新颖的机制,将时间信息集成到 Llama3-8b 中,以便它们与现实世界的时钟同步运行。我们还介绍了一个训练方法,该方法使用从文本对话数据生成的 212k 小时的合成口语对话数据来创建一个模型,该模型仅使用 2k 小时的真实口语对话数据即可生成有意义且自然的口语对话。同步 LLMs 在保持自然性的同时,在对话意义方面优于最先进的。最后,我们通过模拟在不同数据集上训练的两个代理之间的交互,同时考虑高达 240 毫秒的 Internet 规模延迟,展示了该模型参与全双工对话的能力。

Latency tolerant interaction

SyncLLM 是一种仅限自回归解码器的 transformer 模型,可以用作全双工对话代理。在下图中,在当前时间步(图中的 chunk N),SyncLLM 的上下文包含 LLM 的语音到当前 chunk 的交错块,以及对应于除当前 chunk 之外的所有 chunk 的用户语音。为了与用户同步,LLM 必须在当前 chunk 结束之前生成其下一个 chunk (chunk N+1)。因此,SyncLLM 首先生成估计用户的 chunk,该 chunk 又附加到上下文并用于预测其下一个 chunk。

SyncLLM 经过训练,可以预测对应于对话两侧的语音单元的交错块,如图 2 所示。1. 在每个时间步长中,模型预测与对话一侧的固定持续时间(称为模型的块大小)相对应的语音单位,然后是与对话的用户一侧相对应的语音单位。通过这种方法,该模型能够生成与真实时钟同步的两个语音流。这允许我们的方法对所有对话线索进行建模,例如反向通道、重叠、中断等。

Training

SyncLLM 使用简单的 next-token 预测目标进行训练,其中全双工口语对话的格式如下。(顶行)我们将语音对话表示为 HuBERT 令牌的交错块,其中块大小决定了同步令牌 [S0] 的频率。(中间行)我们训练 SyncLLM 生成去重 HuBERT 令牌的交错块以及定期同步令牌。(底行)我们在每个块中插入去重的标记,以获得原始格式的语音对话序列。

如果我们可以将两个令牌流中的一个替换为与真实用户相对应的令牌流,那么经过训练的模型可以用于全双工语音交互。在图 .1,紫色框对应于每个时间块中 LLM 侧对话的标记序列,绿色框对应于对话的用户侧。我们通过丢弃 LLM 用户语音交互。

HuBERT 令牌 :使用 HuBERT  来表示语音。我们使用 Nguyen 等 人的分词化参数,分词采样率为 25 Hz,每 40 毫秒音频产生一个分词,词汇量为 501。为了模拟两个说话人 0 和 1 之间的对话,我们定义了两个特殊的标记 [S0] 和 [S1],称为说话人标签,分别指定每个说话人的标记序列的开始。我们将对话表示为两个并行的语音流,每个说话人一个,交错,如上图 的顶行所示。对于每个流,我们嵌入一个周期性的 speaker 标签,其时间段等于模型的块大小。

重复数据删除。HuBERT 令牌的固定时间段对于在全双工对话中对时间进行建模很有用。然而,原始 HuBERT 序列由大量重复的标记组成,主要是由话语内和话语之间的沉默引起的。每个唯一标记的重复次数表示标记所表示的声学单元的持续时间。然而,语义内容可以通过在删除重复标记序列时仅考虑唯一标记来建模。重复的标记序列会对最终口语对话模型的语义能力产生不利影响 ,因为如上图 所示,与去重序列相比,它们每个标记的语义内容比去重后的序列低约50%。

插值。虽然去重的标记序列有利于自回归建模,但要生成适合语音合成的标记序列,我们需要原始格式的周期性 HuBERT 标记。由于 speaker 标签 [S0] 维护了计时信息,因此我们知道每个块中去重后删除的令牌数量。我们使用它来插入已删除重复数据的令牌,以匹配每个块中的预期令牌数量。例如,在 Fig.2,则说话人 0 的流在去重后只有一个 Token。但是由于在这种情况下,块大小为 160 毫秒,因此每个块将包含 160/40 = 4 个令牌。所以如图 3 日的第三行所示。2 中,我们重复 deed token 三次以重建 chunk。如果一个块有多个去重的令牌,如图 2 中的第二个 token。2,我们以相等的数量重复每个 Token。我们注意到这种方法可能会导致错误,因为原始 chunk 可能不遵循这种启发式方法。我们观察到,即使数据块大小为 240 毫秒,其影响也是难以察觉的,这可能是因为每个标记的预测持续时间的误差受到数据块大小的上限。此外,在具有更多新词元的 chunk 中,误差会更小。

采用三阶段训练,训练数据:

第 1 阶段:具有合成语音数据的回合制口语对话模型。 鉴于口语对话数据有限,我们从大规模文本对话数据集中生成合成语音数据。 我们使用监督式微调 (SFT) 数据集作为我们的源文本对话数据集。我们使用 Bark TTS AI (2023) 模型生成文本对话数据集的口语版本,其中包含 10 个说话人预设。

第 2 阶段:假设没有重叠的全双工对话。回合制语音对话是无重叠的全双工对话的特例。基于这一观察结果,我们可以将合成的语音对话数据视为全双工语音对话数据,其中轮到一个说话人时,另一个说话人完全沉默。在这个阶段,我们从文本对话数据创建合成的口语对话数据,与上一阶段类似,但有一个主要区别:从对话的每个回合中,我们生成一个对应于一个说话者的语音话语和对应于另一个说话者的等长沉默。然后,我们以图 2 第二行所示的格式对并行语音对话数据进行标记。2. 这样,我们可以进一步利用文本对话数据来帮助我们的模型学习图 1 中的标记序列格式。2. 此微调阶段对话语中的计时进行建模。该模型还无法学习轮流提示,例如反向信道或两个说话人之间的重叠。

第 3 阶段:使用真实世界的口语对话数据进行建模。最后,我们对模型进行微调,从现实世界的口语对话数据中学习轮流线索。我们使用 Fisher Cieri et al. (2004) 的数据集,其中包含 2000 小时的口语对话,其中对话中每个说话者的语音都被分成独立的音频通道。我们将数据集分别以 98:1:1 的比例分为 train、val 和 test split。对话中的每个音频声道都单独标记化,并以上一阶段使用的全双工对话格式交错。在此阶段,除了学习话语中的计时外,该模型还学习有效的轮流对话线索,例如在轮流和反向通道之间准确分配停顿。

FunCodec:音频编解码开源工具包,用于音频量化和文本到语音合成、音乐生成等

一个基础的、可重复的和可集成的用于神经语音编解码器的开源工具包

特点:

  • FunCodec 再现了最先进的模型,包括 SoundStream、Encodec 等。
  • FunCodec 可以很容易地扩展到 下游任务,例如 ASR 和 TTS。
  • FunCodec 可以在分布式 GPU 上训练模型, 和批处理模式下的推理。
  • FunCodec 原生支持频域、 更适合语音信号。
  • FunCode 模型可以通过语义标记进行增强, 例如音素和 Hubert 嵌入。

Available models

audio_codec-freqcodec_模型特点:频域模型,充分利用语音信号的短时结构,模型参数极少 (0.52M),计算复杂度极低 (0.34G flops),使用结构化 dropout 进行训练,使用单个模型在推理过程中启用各种带宽,将原始语音波形量化为离散标记序列

audio_codec-encodec_模型特点:使用大规模内部数据集进行训练,对许多场景都具有鲁棒性,在低频带宽度下实现更高的编解码器质量,使用结构化 dropout 进行训练,使用单个模型在推理过程中启用各种带宽,将原始语音波形量化为离散标记序列

与 EnCodec 和 SoundStream 相比, 使用以下改进的技术来训练模型,从而提高编解码器质量和 相同带宽下的 ViSQOL 分数:

  • 幅值频谱loss用于增强中高频信号
  • 结构化 dropout 用于平滑代码空间,并在单个模型中启用各种带宽
  • 码字由 k-means 集群而不是随机值初始化
  • 码本采用指数移动平均和死码消除机制进行维护,因此码本的利用率很高。

模型组成:

  • FunCodec 模型由五个模块组成:域转换模块、编码器、RVQ 模块、解码器和域反转模块。
  • 域变换:将信号转换为时域、短时频域、幅度-角度域或幅度-相位域。
  • 编码器:将信号编码为具有堆叠卷积层和 LSTM 层的紧凑表示。
  • 语义token(可选):使用语义标记增强编码器输出以增强内容信息,此模型中未使用。
  • RVQ:使用级联向量量化器将表示量化为离散标记的并行序列。
  • Decoder:将量化的 embedding 解码到与 inputs 相同的不同信号域中。
  • Domain Inversion:重新合成来自不同域的可感知波形。

Results

相比其他开源的音频编解码训练框架:

1. Comparison of academic models in terms of ViSQOL scores on LibriTTS dataset. † means the model is causal.

2. Comparison between FunCodec and other toolkits under (a) lower and (b) higher token rate. LS denotes Librispeech test sets. While Librispeech and gigaspeech are English corpora, aishell and Wenet are Mandarin corpora.

3. Comparison of FreqCodec and other time domain models in terms of ViSQOL score on LibriTTS. Mag denotes magnitude spectrogram. C_in represents the channel number of inputs.

Mini-Omni2:多模态交互实时对话模型

🤗 Hugging Face | 📖 Github | 📑 Technical report

Mini-Omni2: Towards Open-source GPT-4o with Vision, Speech and Duplex Capabilities

Mini-Omni2 是一种全能互动模型。它可以理解图像、音频和文本输入,并与用户进行端到端的语音对话。具有实时语音输出全方位的多模态理解说话时与中断机制的灵活交互能力。

✅ 多模态交互:具有理解图像、语音和文本的能力,就像 GPT-4o 一样。

✅ 实时语音转语音对话功能。不需要额外的 ASR 或 TTS 模型,就像 Mini-Omni 一样。

1、为什么不使用 token-in-token-out 范式

为了有限数据量的高效训练由于与理解能力相关的挑战,作者选择来自预训练编码器的特征和文本嵌入被连接起来以形成模型的输入。token-in不足以可靠地传达语音输入的内容,训练损失很高。

2、如何实现实时响应:

对文本和音频采用延迟并行输出方法,可以立即响应音频 。

3、如何做到打断对话:

认为当前的全双工训练仍然不够稳定,而基于输入语义信息的中断对于实现稳定和灵活的人机交互至关重要。探索了一种基于命令的中断方法,利用流式令牌作为输入并构建训练数据,使模型能够根据外部语义线索控制其音频输出流

GPT-4o 是一个包罗万象的模型,代表了大型多模态语言模型发展的一个里程碑。它可以理解视觉、听觉和文本模态,直接输出音频,并支持灵活的双工交互。来自开源社区的模型通常实现了 GPT-4o 的一些功能,例如视觉理解和语音聊天。然而,由于多模态数据的复杂性、复杂的模型架构和训练过程,训练包含所有模态的统一模型具有挑战性。 Mini-Omni2是一种视觉音频助手,能够为 visoin 和音频查询提供实时、端到端的语音响应。通过集成预先训练的视觉和听觉编码器,Mini-Omni2 可以在各个模态中保持性能。我们提出了一个三阶段的训练过程来调整模态,允许语言模型在有限的数据集上训练后处理多模态输入和输出。在交互方面,我们引入了基于命令的中断机制,使与用户的交互更加灵活。据我们所知,Mini-Omni2 是 GPT-4o 最接近的复制品之一,它们具有相似的功能形式,我们希望它能为后续研究提供有价值的见解。

Mini-Omni2 作为 Mini-Omni 的延续,采用单一模型端到端模拟 GPT-4o 的视觉、语音和文本功能,并通过独特的基于命令的中断机制进行增强。与 Mini-Omni 一致,我们保留 Qwen2作为基础模型,利用这种紧凑的架构实现跨三种模态的全面多模态理解和实时流式语音推理。此外,我们使模型能够实时接收外部音频输入,模拟其 “听觉” 感知并根据内容语义控制语音输出流。Mini-Omni2 的模型架构如图 1 所示。作为一个端到端模型,我们通过直接采用经典的预训练视觉编码器 CLIP和语音识别模型 Whisper 的编码器组件来提高数据利用效率并展示 Mini-Omni2 算法的泛化性作为视觉和音频输入的特征提取器。来自预训练编码器的特征和文本嵌入被连接起来以形成模型的输入。由于与理解能力相关的挑战,我们没有采用 token-in-token-out 范式。此外,该模型对文本和音频采用延迟并行输出方法,可以立即响应音频像GPT-4o一样。

在 Mini-Omni2 中,我们提出了一种基于有限数据量的高效训练方法,旨在使模型的训练方法能够辅助其他多模态模型进行模态扩展。因此,我们避免了盲目地以指数方式扩展数据集,而是寻求使用最少的新数据开发一种多模态扩展方法。我们采用了模态扩展、对齐和联合训练的三阶段训练过程。最初,Mini-Omni2 模型使用语音识别和图像标题数据集进行适配器训练,从而拓宽了多模态理解的范围。接下来,Mini-Omni2 接受了跨模态问答任务中的文本输出训练,使基于适配器的输出功能与文本嵌入保持一致,以实现有效的问答。在第三阶段,我们通过结合音频输出和听觉能力(如中断)训练,专注于多模态输出能力

关于模型的语音交互能力,Mini-Omni2 继续使用 SNAC 分词器来确保高质量的语音输出。然而,根据我们的观察,我们认为当前的全双工训练仍然不够稳定。因此,我们认为基于输入语义信息的中断对于实现稳定和灵活的人机交互至关重要。我们使模型能够使用 SNAC 对其接收到的“听觉”波形进行实时编码,生成允许它在每次生成期间控制自己的输出的令牌。作为演示,我们使用短语 “stop omni” 构建数据,使用帧级 irq 和 n-irq 特殊token来控制生成过程。

Mini-Omni2

模型

Mini-Omni2 的模型架构如图 1 所示。除了文本嵌入模块外,Mini-Omni2 还采用了 CLIP 和 Whisper-small 的视觉组件作为视觉和听觉模态的编码器,从而在训练期间实现高效的数据利用,并最大限度地减少了大量的预训练工作。此外,Mini-Omni2 具有实时双工功能,为模型交互提供了更大的灵活性。

视觉编码器 – 我们利用 CLIP 的视觉组件,特别是 ViT-B/32 模型,作为视觉编码器,它将输入的图像转换为长度为 49 的特征序列,用于图像补丁和全局语义特征。Mini-Omni2 将这些连接起来形成长度为 50 的原始特征序列,使用单层 LlamaMLP作为视觉适配器。

Audio Encoder – 在编码器部分,我们使用 Whisper-small 模型作为音频编码器来继续之前的工作。我们选择不对音频输入和输出采用 token-in-token-out 建模方法,原因有两个。(i) 语音识别的语义一致性很强。由 OpenAI 提出的 Whisper 模型经过数千小时的数据集训练,表现出卓越的稳健性。此外,我们出乎意料地发现,尽管没有在任何中国数据集上进行训练,但 Mini-Omni 表现出对中国数据的理解。我们认为,这是因为 Whisper 模型能够自动对齐来自不同语言、语气和噪声级别的音频,这些音频传达了相同的含义,从而使模型能够专注于用户的意图。 (ii) 不稳定的开源音频token。我们观察到一种现象,即 a) Mini-Omni2 的音频损失在训练期间仍然很高,并且 b)音频片段的token可能会根据两端的内容而发生显著变化。我们认为,token不足以可靠地传达语音输入的内容,与 Whisper 等语义特征相比,ASR 的性能不佳就证明了这一点。

Mini-Omni2 使用 Qwen2-0.5B 基础版本作为其基础语言模型。我们使用 LitPT训练框架移植了基于 Llama 的 Qwen2 模型,采用 0.5B 模型的配置作为基本语言模型。对于图 3 所示的多层码本的并行生成,我们通过添加 7 × 4160 个 sub-LM-head 来扩展 Qwen2 模型的词汇表,如图 4 所示,得出词汇量为 181,120 个。

损失:对于同时生成的音频和文本标记,负对数似然损失可以表示为公式 :

多模态标记 – 混合输入 – 图 3 说明了模型一些主要任务的输入和输出标记建模。由于该模型包含多个 LM 头,因此它以自回归方式生成多个序列。因此,该模型还将多个序列作为输入。输入序列可以包含从最少一种模态到最多三种模态的混合输入。

  •  视觉 – [音频|文本] 输入。实验表明,当自回归任务与语义信息相连接时,Transformer 架构更容易训练并产生更自然的反应。因此,如图 3 (a) 所示,我们首先放置视觉适配器处理的视觉特征,然后是音频适配器处理的 Whisper 特征。最后,在需要自回归生成响应的位置,我们为响应放置一个特殊的 token。总长度约为 50(CLIP 特征长度)+ L(Whisper 特征长度)。
  • 单模态输入 单模态输入可以由视觉、语音或文本输入组成。我们将视觉和音频模态的特征放在第 1 层到第 7 层。将复制这些特征,以便在所有图层要素之间进行平均时增强其突出性。值得注意的是,当仅输入单个模态的特征而不受特殊标记的控制时,默认任务是图像字幕、语音到文本的问答和文本到文本的问答。

文本-音频并联解码。在 Mini-Omni2 中,我们基本上保留了 Mini-Omni 的输出策略,采用 Text-Instruct Delay Parallel Decoding 算法来增强音频生成。这种方法利用文本-音频并行解码来同时生成音频和文本令牌,并利用文本到语音合成进行实时输出。我们继续 MusicGen  引入的并行生成方法,使用 SNAC 作为音频编码器,它由七个互补的令牌层组成。在一个步骤中,我们生成了 8 个标记,包括文本,同时在层之间保持一步延迟。此外,我们还采用了一种 Batch 方法,该方法涉及两个样本:一个需要文本和音频响应,另一个需要仅文本响应。通过丢弃第一个样本中的文本标记并将第二个样本的输出嵌入到第一个样本中,我们有效地将模型的基于文本的功能转移到音频任务中,从而以最小的资源开销显著提高推理能力。

训练策略

Mini-Omni2 的整个训练过程如图 5 所示。培训过程分为三个阶段,每个阶段采用多任务培训。在图中,除了阶段 1 之外,还合并了一个基础文本到文本任务,但未明确描述。我们将整个训练过程分为三个阶段:

  • 多模态编码器适应 在第一阶段,我们采用快速、小规模的训练,只关注连接语言模型和编码器的线性层的权重。阶段 1 的目标是确保模型接收的多模态特征与模型嵌入层中表示的文本标记的特征非常相似。我们认为这种方法有两个主要优点:1. 它允许模型在随后的训练中专注于特定模态问答中的逻辑推理。2. 它最大限度地减少了语言模型核心中的参数变化,否则这些变化会因适应其他模态而导致。
  • 模态对齐 在第 2 阶段,模型训练的主要任务是将基于文本输入的问答能力转移到基于图像和音频的问答能力。在此步骤中,在阶段 1 中训练的适配器被暂时冻结语言模型的权重参与训练。在此阶段,所有任务都不涉及音频响应。对于基于图像和基于音频的 QA 等任务,仅生成基于文本的响应来建立模型的基本逻辑功能。语音输出只是这种逻辑能力在不同模态中的延伸。
  • 训练后 在第 3 阶段,模型的任务是扩展输出模态以包括音频响应生成。如图 5 所示,该模型将针对第 1 阶段和第 2 阶段的所有任务进行训练,并为所有问答任务提供音频令牌输出。此外,该模型将学习中断机制

双工交互

实时对话模型需要具有双工功能,以实现更灵活的交互。但是,这种中断机制不应该是一个简单的基于 VAD(语音活动检测)的机制,而是一个可以确定用户是否打算中断模型的系统。此外,模型的能力应该非常健壮,能够处理各种外部情况(例如,噪音、其他对话和不相关的声音)。我们通过基于命令的任务来探索此功能,当用户说出 “Stop Omni” 时,模型将立即停止说话。此外,这种方法可以通过开发更符合上下文的中断数据集,自然地扩展为包含更复杂的语义中断机制。

背景噪声选择:(1) 我们随机使用了来自 Libri-tts 数据集的各种语音识别样本作为原始人类噪声数据样本。(2) 我们使用了来自 MUSAN数据集的样本,其中包括音乐、人声、白噪声和城市噪声。

语义中断构造:我们将 “Stop Omni” 与随机的语音音色合成,随后与噪声混合。具体的数据构造方法将在下一节中介绍。

结合上述数据,该模型将接收到包含各种噪音中的 “Stop Omni” 短语的长序列数据。该模型将实时生成两种类型的状态 token:irq 和 n-irq,分别代表用户打断和不打断的意图。在推理过程中,当模型输出 irq token 时,它会停止生成过程并开始监听新的 question。对于此任务,我们使用token作为输入来增强模型的实时处理能力。

训练:

Mini-Omni2 模型在 8 个 A100 GPU 上完成了所有训练步骤。在适配器训练阶段,学习率从 2e-5 到 1e-3 不等,而训练语言模型使用的学习率在 2e-6 和 2e-4 之间。最后的微调是在 2e-6 到 2e-5 的学习率范围内进行的。采用了余弦调度器,具有 1500 个预热步骤,全局批处理大小为 192。使用完整数据集对每个阶段进行一个 epoch 的训练。前面介绍了视觉和音频编码器的规模,使用的语言模型是 Qwen2-0.5B 基本模型。所有型号适配器均使用中间尺寸为 4,864 的 Llama-MLP。

数据集:

语音对话数据合成:

Spoken Dialogue Data:使用语音识别数据集作为随机语音音色库。为了确保训练的稳健性,从该数据集中随机选择一个样本作为输入所有口语对话数据的语音提示,并采用 CosyVoice进行零镜头语音合成。对于所有问答数据的输出,使用来自内部 TTS 系统的相同语音音色。

中断数据:首先,对噪声数据进行流式编码和解码,以模拟模型的实时流式输入。然后,提取噪声数据的随机段。在此段落的末尾,插入一个 “Stop Omni” 乐句,以与对话数据相同的方式使用随机语音音色生成。最后,在此段的末尾附加一个 0-10 秒的额外“尾巴”。在标注方面,尾部之前的所有数据都标记为 “n-irq”,而尾部段被标记为 “irq”,表示模型应该被打断。

结果:

改进空间:

以下几个方面值得探索和改进:

 1. 模型和数据大小的缩放。Mini-Omni2 的目标是用有限的资源训练小模型,我们相信更多的数据和计算可以大大增强其能力。 

2. 改进音频输出的风格控制和多样性(情感、自然度、音色、口音和歌唱)。

 3. 更丰富的语义中断机制。

SNAC: RVQ的扩展,多尺度神经音频编解码器

SNAC: Multi-Scale Neural Audio Codec

Githubhttps://github.com/hubertsiuzdak/snac

demo:https://hubertsiuzdak.github.io/snac/

语音对话大模型的应用Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming,使用了snac作为audio decoding

残差矢量量化(RVQ)已成为使用级联 VQ 代码本进行神经音频压缩的标准技术。 本文提出了一种多尺度神经音频编解码器,它是 RVQ 的简单扩展,其中量化器可以在不同的时间分辨率下运行。 通过在可变帧率下应用量化器层次结构,编解码器适应了跨多个时间尺度的音频结构。 正如广泛的客观和主观评估所证明的那样,这将带来更有效的压缩。

SNAC多尺度神经音频编解码器),是对当前音频残差量化方法的简单扩展,通过在不同的时间分辨率上引入量化来形成音频的多尺度离散表示。

比较传统的残差向量量化 (RVQ) 和我们提出的多尺度残差向量量化。 图表描绘了两种方法产生的离散符元。 在传统的 RVQ 方法中,多层的token都是以固定的时间分辨率生成的,而 SNAC 利用在多个时间分辨率上运行的分层量化器,使编解码器能够更有效地捕获粗略和精细的细节。
stride从4,2,1逐渐降低,时间分辨率逐渐增加,对应上图的由粗到细的时间分辨率量化,对应 不同速率的符元序列

方法:

模型建立在 RVQGAN的基础上,这是一个具有残差向量量化 (RVQ) 瓶颈的编码器-解码器网络。 它使用级联的 Nq 向量量化层,其中每一层将残差 𝐱∈ℝT×C 映射到形状为 T×D 的单热向量序列,其中 T 表示帧数,C 是编码器维度,D 是码字维度。

多尺度残差向量量化

我们的工作通过引入多尺度残差向量量化(如上图所示)扩展了 RVQGAN。 在每次迭代 中,将残差下采样 Wi 倍,执行码本查找,然后上采样 Wi 倍以匹配 𝐱 的原始时间分辨率 T。 在实践中,我们使用平均池化进行下采样,并使用最近邻插值进行上采样

噪声块(Noise Block)

为了引入随机性并增强解码器的表现力,我们在每个上采样层之后添加了一个噪声块。该块通过更新输入来向激活值添加噪声:
x←x+Linear(x)⊙ε
其中 ε∼N(0,1) 是高斯噪声,⊙ 表示逐元素乘法。这种机制允许模型注入与输入相关的噪声。实验发现,噪声块可以改善重建质量,并促进码书(codebook)的更好利用。

深度卷积(Depthwise Convolution)

深度可分离卷积最初被引入是为了在视觉应用中构建更轻量的模型。通过对每个输入通道应用单个滤波器,该方法显著减少了计算量和模型大小。建议在生成器中使用深度卷积,不仅可以减少参数数量,还能稳定训练过程。基于 GAN 的声码器(vocoders)以其训练的不稳定性而闻名,通常在早期训练阶段会出现梯度发散,导致训练不稳定甚至模型崩溃。

局部窗口注意力(Local Windowed Attention)

在我们的模型中,我们在编码器和解码器中最低时间分辨率处引入了单层局部窗口注意力。这样设计的动机是利用注意力机制根据不同输入自适应地关注相关特征。此外,这种机制可以与后续的平均池化互为补充,从而有助于捕获上下文表示。类似地,文献【13】中引入了 LSTM 层,以更有效地建模时间依赖性。

详细网络结构:

一般音频:

编码器和解码器都在最低时间分辨率处包含局部窗口化注意力层。 我们用深度卷积替换了大多数卷积,除了嵌入、输出投影和上采样层。 编码器使用下采样层级联,速率分别为 [2, 3, 8, 8],解码器中相应的上采样层速率为 [8, 8, 3, 2]。 在 RVQ 中,我们使用 [8, 4, 2, 1] 的降采样因子(步长),有效地将 44.1 kHz 的输入信号压缩为四种不同速率的符元序列,分别为 14、29、57 和 115 Hz。 每个码本包含 4096 个条目(12 位),总比特率为 2.6 kbps。 该模型由编码器中的 1600 万个参数和解码器中的 3830 万个参数组成,总共 5450 万个参数。 我们应用相同的架构在 32 kHz 音频上进行训练,导致符元速率分别为 10、21、42 和 83 Hz,总比特率为 1.9 kbps。

语音:

对于语音编解码器,通过调整编码器(以及相应的解码器)中的降采样因子来修改架构,调整后的因子为 [2, 4, 8, 8]。 在残差向量量化中,我们使用 [4, 2, 1] 的步长。 该模型在 24 kHz 音频上进行训练,导致符元速率分别为 12、23 和 47 Hz,有效比特率为每秒 984 比特。 此外,我们减少了卷积通道的数量,导致编码器中有 670 万个参数,解码器中有 1300 万个参数,总共 1980 万个参数。 我们省略了语音编解码器中的局部窗口化注意力层,使架构完全卷积化。

实验:

图 2: MUSHRA 听力研究结果,置信区间为 95%。 我们可视化了 SNAC 相比于先前最先进方法的性能。 我们发现 SNAC 在使用明显更低的比特率的情况下,性能优于现有的语音编解码器,并且在音乐重建质量方面与 DAC 相当,但比特率明显更低。

音乐

我们将第 4.1 节中介绍的针对通用音频的两种 SNAC 变体与 MusicGen [28] 中 Encodec [13] 的 32 kHz 检查点以及使用 3、6 或 9 个码本的官方 DAC [2] 检查点进行比较。 我们观察到,SNAC 明显优于其他编解码器,例如在可比较比特率下运行的 Encodec(32 kHz)和 DAC(使用 3 个码本)。 值得注意的是,SNAC 甚至与比特率是其两倍以上的编解码器相竞争。 此外,在 32 kHz 和 44 kHz 下的 SNAC 模型之间感知到的音频质量差异很小,这表明 32 kHz 模型足以完成大多数任务,并提供更低比特率的额外优势。

语音

对于语音,我们将 SNAC 语音模型与 EnCodec(24 kHz 检查点)和 DAC 进行比较,使用不同的码本数量。 在我们的评估中,SNAC 一直优于所有其他编解码器。 值得注意的是,即使在低于 1 kbit/s 的比特率下,SNAC 仍然保持着接近参考信号的音频质量。 这种效率使其在带宽受限的应用中特别有利,在这些应用中,保持语音的清晰度和可懂度至关重要

结论

我们介绍了多尺度神经音频编解码器 (SNAC),它是残差矢量量化的扩展,使用在多个时间分辨率下运行的量化器。 这种多尺度方法适应了音频信号的固有结构,从而实现更高效的压缩。 消融研究证实了我们设计选择的意义。 SNAC 在音乐和语音领域都优于现有的最先进的编解码器,在更低的比特率下提供更高的音频质量,正如广泛的客观和主观评估所证明的那样。 通过开源我们的代码和模型,我们旨在为神经音频压缩研究的进步做出贡献。

语音多模态大模型汇总–Github

重点关注:

⚡ 语音表示模型:这些模型专注于学习结构性语音表示,然后可以将其量化为离散的语音标记,通常是指语义标记

⚡ 语音神经编解码器模型:这些模型旨在学习语音和音频离散标记,通常称为声学标记,同时保持重建能力和低比特率。

⚡ 语音大型语言模型:这些模型在语言建模方法的语音和声学标记之上进行训练。他们展示了对语音理解和语音生成任务的熟练程度。

Awesome Speech LM Survey-语音大模型综述

在这个代码库中,我们研究了以下三个关键领域:(1) 表征学习,(2) 神经编解码器,以及 (3) 语言模型,这些领域共同推动了语音/音频大语言模型的发展。

  1. 语音表征模型:这些模型专注于学习语音的结构化表征,随后将其量化为离散的语音标记,通常被称为语义tokens
  2. 语音神经编解码模型:这些模型旨在学习语音和音频的离散标记,通常被称为声学tokens,同时保持良好的重构能力和低比特率。
  3. 语音大语言模型这些模型基于语音和声学token,采用语言建模方法进行训练,在语音理解和语音生成任务中展现出较高的能力。

Existing SpeechLMs

ModelTitleUrl
OpenAI Advanced Voice ModeOpenAI Advanced Voice ModeLink
Claude Voice ModeClaude Voice ModeLink
MindGPT-4o-Audio理想同学MindGPT-4o-Audio实时语音对话大模型发布Link
VITA-AudioVITA-Audio: Fast Interleaved Cross-Modal Token Generation for Efficient Large Speech-Language ModelLink
VoilaVoila: Voice-Language Foundation Models for Real-Time Autonomous Interaction and Voice Role-PlayLink
Kimi-AudioKimi-Audio Technical ReportLink
LyraLyra: An Efficient and Speech-Centric Framework for Omni-CognitionLink
Flow-OmniContinuous Speech Tokens Makes LLMs Robust Multi-Modality LearnersLink
NTPPNTPP: Generative Speech Language Modeling for Dual-Channel Spoken Dialogue via Next-Token-Pair PredictionLink
Qwen2.5-OmniQwen2.5-Omni Technical ReportLink
CSMConversational Speech Generation ModelLink
MinmoMinMo: A Multimodal Large Language Model for Seamless Voice InteractionLink
SlammingSlamming: Training a Speech Language Model on One GPU in a DayLink
VITA-1.5VITA-1.5: Towards GPT-4o Level Real-Time Vision and Speech InteractionLink
Baichuan-AudioBaichuan-Audio: A Unified Framework for End-to-End Speech InteractionLink
Step-AudioStep-Audio: Unified Understanding and Generation in Intelligent Speech InteractionLink
MiniCPM-oA GPT-4o Level MLLM for Vision, Speech and Multimodal Live Streaming on Your PhoneLink
SyncLLMBeyond Turn-Based Interfaces: Synchronous LLMs as Full-Duplex Dialogue AgentsLink
OmniFlattenOmniFlatten: An End-to-end GPT Model for Seamless Voice ConversationLink
SLAM-OmniSLAM-Omni: Timbre-Controllable Voice Interaction System with Single-Stage TrainingLink
GLM-4-VoiceGLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken ChatbotLink
Scaling Speech-Text Pre-training with Synthetic Interleaved DataLink
SALMONN-omniSALMONN-omni: A Codec-free LLM for Full-duplex Speech Understanding and GenerationLink
Mini-Omni2Mini-Omni2: Towards Open-source GPT-4o with Vision, Speech and Duplex CapabilitiesLink
UniaudioUniaudio: An audio foundation model toward universal audio generationLink
ParrotParrot: Autoregressive Spoken Dialogue Language Modeling with Decoder-only TransformersLink
MoshiMoshi: a speech-text foundation model for real-time dialogueLink
Freeze-OmniFreeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLMLink
EMOVAEMOVA: Empowering Language Models to See, Hear and Speak with Vivid EmotionsLink
IntrinsicVoiceIntrinsicVoice: Empowering LLMs with Intrinsic Real-time Voice Interaction AbilitiesLink
LSLMLanguage Model Can Listen While SpeakingLink
SpiRit-LMSpiRit-LM: Interleaved Spoken and Written Language ModelLink
SpeechGPT-GenSpeechGPT-Gen: Scaling Chain-of-Information Speech GenerationLink
SpectronSpoken Question Answering and Speech Continuation Using Spectrogram-Powered LLMLink
SUTLMToward Joint Language Modeling for Speech Units and TextLink
tGSLMGenerative Spoken Language Model based on continuous word-sized audio tokensLink
LauraGPTLauraGPT: Listen, Attend, Understand, and Regenerate Audio with GPTLink
VoxtLMVoxtLM: Unified Decoder-Only Models for Consolidating Speech Recognition, Synthesis and Speech, Text Continuation TasksLink
VITAVITA: Towards Open-Source Interactive Omni Multimodal LLMLink
FunAudioLLMFunAudioLLM: Voice Understanding and Generation Foundation Models for Natural Interaction Between Humans and LLMsLink
VoiceboxVoicebox: Text-guided multilingual universal speech generation at scaleLink
LLaMA-OmniLLaMA-Omni: Seamless Speech Interaction with Large Language ModelsLink
Mini-OmniMini-Omni: Language Models Can Hear, Talk While Thinking in StreamingLink
TWISTTextually pretrained speech language modelsLink
GPSTGenerative pre-trained speech language model with efficient hierarchical transformerLink
AudioPaLMAudioPaLM: A Large Language Model That Can Speak and ListenLink
VioLAVioLA: Unified Codec Language Models for Speech Recognition, Synthesis, and TranslationLink
SpeechGPTSpeechgpt: Empowering large language models with intrinsic cross-modal conversational abilitiesLink
dGSLMGenerative spoken dialogue language modelingLink
pGSLMText-Free Prosody-Aware Generative Spoken Language ModelingLink
GSLMOn generative spoken language modeling from raw audioLink

SpeechLM Tokenizers

Semantic Tokenizers

NameTitleUrl
WhisperRobust Speech Recognition via Large-Scale Weak SupervisionLink
CosyVoiceCosyVoice: A Scalable Multilingual Zero-shot Text-to-speech Synthesizer based on Supervised Semantic TokensLink
Google USMGoogle USM: Scaling Automatic Speech Recognition Beyond 100 LanguagesLink
WavLMWavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech ProcessingLink
HuBERTHuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden UnitsLink
W2v-bertW2v-BERT: Combining Contrastive Learning and Masked Language Modeling for Self-Supervised Speech Pre-TrainingLink
Wav2vec 2.0wav2vec 2.0: A Framework for Self-Supervised Learning of Speech RepresentationsLink

Acoustic Tokenizers

NameTitleUrl
WavTokenizerWavTokenizer: an Efficient Acoustic Discrete Codec Tokenizer for Audio Language ModelingLink
SNACSNAC: Multi-Scale Neural Audio CodecLink
EncodecHigh Fidelity Neural Audio CompressionLink
SoundStreamSoundStream: An End-to-End Neural Audio CodecLink

Mixed Tokenizers

NameTitleUrl
SpeechTokenizerSpeechTokenizer: Unified Speech Tokenizer for Speech Large Language ModelsLink
MimiMoshi: a speech-text foundation model for real-time dialogueLink

Popular Training Datasets

DatasetTypePhaseHoursYear
LibriSpeechASRPre-Training1k2015
Multilingual LibriSpeechASRPre-Training50.5k2020
LibriLightASRPre-Training60k2019
People datasetASRPre-Training30k2021
VoxPopuliASRPre-Training1.6k2021
GigaspeechASRPre-Training40k2021
Common VoiceASRPre-Training2.5k2019
VCTKASRPre-Training0.3k2017
WenetSpeechASRPre-Training22k2022
LibriTTSTTSPre-Training0.6k2019
CoVoST2S2TTPre-Training2.8k2020
CVSSS2STPre-Training1.9k2022
VoxCelebSpeaker IdentificationPre-Training0.4k2017
VoxCeleb2Speaker IdentificationPre-Training2.4k2018
Spotify PodcastsPodcastPre-Training47k2020
FisherTelephone conversationPre-Training2k2004
SpeechInstructInstruction-followingInstruction-Tuning2023
InstructS2S-200KInstruction-followingInstruction-Tuning2024
VoiceAssistant-400KInstruction-followingInstruction-Tuning2024

Evaluation Benchmarks

NameEval Type# TasksAudio TypeI/O
ABXRepresentation1SpeechA→−
sWUGGYLinguistic1SpeechA→−
sBLIMPLinguistic1SpeechA→−
sStoryClozeLinguistic1SpeechA/T→−
STSPParalinguistic1SpeechA/T→A/T
MMAUDownstream27Speech, Sound, MusicA→T
AudiobenchDownstream8Speech, SoundA→T
AIR-BenchDownstream20Speech, Sound, MusicA→T
SD-EvalDownstream4SpeechA→T
SUPERBDownstream10SpeechA→T
Dynamic-SUPERBDownstream180Speech, Sound, MusicA→T
SALMONDownstream8SpeechA→−
VoiceBenchDownstream8SpeechA→A
VoxEvalDownstream56SpeechA→A

🔱 Speech/Audio Language Models

DateModel NamePaper TitleLink
2024-11Building a Taiwanese Mandarin Spoken Language Model: A First AttemptPaper
2024-11UltravoxUltravox: An open-weight alternative to GPT-4o RealtimeBlog
2024-11hertz-devblogGitHub
2024-11Freeze-OmniFreeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLMpaper
2024-11Align-SLMAlign-SLM: Textless Spoken Language Models with Reinforcement Learning from AI Feedbackpaper
2024-10IchigoIchigo: Mixed-Modal Early-Fusion Realtime Voice Assistantpapercode
2024-10OmniFlattenOmniFlatten: An End-to-end GPT Model for Seamless Voice Conversationpaper
2024-10GPT-4oGPT-4o System Cardpaper
2024-10Baichuan-OMNIBaichuan-Omni Technical Reportpaper
2024-10GLM-4-VoiceGLM-4-VoiceGitHub
2024-10Roadmap towards Superhuman Speech Understanding using Large Language Modelspaper
2024-10SALMONN-OMNISALMONN-OMNI: A SPEECH UNDERSTANDING AND GENERATION LLM IN A CODEC-FREE FULL-DUPLEX FRAMEWORKpaper
2024-10Mini-Omni 2Mini-Omni2: Towards Open-source GPT-4o with Vision, Speech and Duplex Capabilitiespaper
2024-10HALL-EHALL-E: Hierarchical Neural Codec Language Model for Minute-Long Zero-Shot Text-to-Speech Synthesispaper
2024-10SyllableLMSyllableLM: Learning Coarse Semantic Units for Speech Language Modelspaper
2024-09MoshiMoshi: a speech-text foundation model for real-time dialoguepaper
2024-09Takin AudioLLMTakin: A Cohort of Superior Quality Zero-shot Speech Generation Modelspaper
2024-09FireRedTTSFireRedTTS: A Foundation Text-To-Speech Framework for Industry-Level Generative Speech Applicationspaper
2024-09LLaMA-OmniLLaMA-Omni: Seamless Speech Interaction with Large Language Modelspaper
2024-09MaskGCTMaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformerpaper
2024-09SSR-SpeechSSR-Speech: Towards Stable, Safe and Robust Zero-shot Text-based Speech Editing and Synthesispaper
2024-09MoWE-AudioMoWE-Audio: Multitask AudioLLMs with Mixture of Weak Encoderspaper
2024-08Mini-OmniMini-Omni: Language Models Can Hear, Talk While Thinking in Streamingpaper
2024-08Make-A-Voice 2Make-A-Voice: Revisiting Voice Large Language Models as Scalable Multilingual and Multitask Learnerpaper
2024-08LSLMLanguage Model Can Listen While Speakingpaper
2024-06SimpleSpeechSimpleSpeech: Towards Simple and Efficient Text-to-Speech with Scalar Latent Transformer Diffusion Modelspaper
2024-06UniAudio 1.5UniAudio 1.5: Large Language Model-driven Audio Codec is A Few-shot Audio Task Learnerpaper
2024-06VALL-E RVALL-E R: Robust and Efficient Zero-Shot Text-to-Speech Synthesis via Monotonic Alignmentpaper
2024-06VALL-E 2VALL-E 2: Neural Codec Language Models are Human Parity Zero-Shot Text to Speech Synthesizerspaper
2024-06GPSTGenerative Pre-trained Speech Language Model with Efficient Hierarchical Transformerpaper
2024-04CLaM-TTSCLaM-TTS: Improving Neural Codec Language Model for Zero-Shot Text-to-Speechpaper
2024-04RALL-ERALL-E: Robust Codec Language Modeling with Chain-of-Thought Prompting for Text-to-Speech Synthesispaper
2024-04WavLLMWavLLM: Towards Robust and Adaptive Speech Large Language Modelpaper
2024-02MobileSpeechMobileSpeech: A Fast and High-Fidelity Framework for Mobile Zero-Shot Text-to-Speechpaper
2024-02SLAM-ASRAn Embarrassingly Simple Approach for LLM with Strong ASR Capacitypaper
2024-02AnyGPTAnyGPT: Unified Multimodal LLM with Discrete Sequence Modelingpaper
2024-02SpiRit-LMSpiRit-LM: Interleaved Spoken and Written Language Modelpaper
2024-02USDMIntegrating Paralinguistics in Speech-Empowered Large Language Models for Natural Conversationpaper
2024-02BATBAT: Learning to Reason about Spatial Sounds with Large Language Modelspaper
2024-02Audio FlamingoAudio Flamingo: A Novel Audio Language Model with Few-Shot Learning and Dialogue Abilitiespaper
2024-02Text Description to speechNatural language guidance of high-fidelity text-to-speech with synthetic annotationspaper
2024-02GenTranslateGenTranslate: Large Language Models are Generative Multilingual Speech and Machine Translatorspaper
2024-02Base-TTSBASE TTS: Lessons from building a billion-parameter Text-to-Speech model on 100K hours of datapaper
2024-02It’s Never Too Late: Fusing Acoustic Information into Large Language Models for Automatic Speech Recognitionpaper
2024-01Large Language Models are Efficient Learners of Noise-Robust Speech Recognitionpaper
2024-01ELLA-VELLA-V: Stable Neural Codec Language Modeling with Alignment-guided Sequence Reorderingpaper
2023-12SeamlessSeamless: Multilingual Expressive and Streaming Speech Translationpaper
2023-11Qwen-AudioQwen-Audio: Advancing Universal Audio Understanding via Unified Large-Scale Audio-Language Modelspaper
2023-10LauraGPTLauraGPT: Listen, Attend, Understand, and Regenerate Audio with GPTpaper
2023-10SALMONNSALMONN: Towards Generic Hearing Abilities for Large Language Modelspaper
2023-10UniAudioUniAudio: An Audio Foundation Model Toward Universal Audio Generationpaper
2023-10Whispering LLaMAWhispering LLaMA: A Cross-Modal Generative Error Correction Framework for Speech Recognitionpaper
2023-09VoxtLMVoxtlm: unified decoder-only models for consolidating speech recognition/synthesis and speech/text continuation taskspaper
2023-09LTU-ASJoint Audio and Speech Understandingpaper
2023-09SLMSLM: Bridge the thin gap between speech and text foundation modelspaper
2023-09Generative Speech Recognition Error Correction with Large Language Models and Task-Activating Promptingpaper
2023-08SpeechGenSpeechGen: Unlocking the Generative Power of Speech Language Models with Promptspaper
2023-08SpeechXSpeechX: Neural Codec Language Model as a Versatile Speech Transformerpaper
2023-08LLaSMLarge Language and Speech Modelpaper
2023-08SeamlessM4TMassively Multilingual & Multimodal Machine Translationpaper
2023-07Speech-LLaMAOn decoder-only architecture for speech-to-text and large language model integrationpaper
2023-07LLM-ASR(temp.)Prompting Large Language Models with Speech Recognition Abilitiespaper
2023-06AudioPaLMAudioPaLM: A Large Language Model That Can Speak and Listenpaper
2023-05Make-A-VoiceMake-A-Voice: Unified Voice Synthesis With Discrete Representationpaper
2023-05SpectronSpoken Question Answering and Speech Continuation Using Spectrogram-Powered LLMpaper
2023-05TWISTTextually Pretrained Speech Language Modelspaper
2023-05PengiPengi: An Audio Language Model for Audio Taskspaper
2023-05SoundStormEfficient Parallel Audio Generationpaper
2023-05LTUJoint Audio and Speech Understandingpaper
2023-05SpeechGPTEmpowering Large Language Models with Intrinsic Cross-Modal Conversational Abilitiespaper
2023-05VioLAUnified Codec Language Models for Speech Recognition, Synthesis, and Translationpaper
2023-05X-LLMX-LLM: Bootstrapping Advanced Large Language Models by Treating Multi-Modalities as Foreign Languagespaper
2023-03Google USMGoogle USM: Scaling Automatic Speech Recognition Beyond 100 Languagespaper
2023-03VALL-E XSpeak Foreign Languages with Your Own Voice: Cross-Lingual Neural Codec Language Modelingpaper
2023-02SPEAR-TTSSpeak, Read and Prompt: High-Fidelity Text-to-Speech with Minimal Supervisionpaper
2023-01VALL-ENeural Codec Language Models are Zero-Shot Text to Speech Synthesizerspaper
2022-12WhisperRobust Speech Recognition via Large-Scale Weak Supervisionpaper
2022-10AudioGenAudioGen: Textually Guided Audio Generationpaper
2022-09AudioLMAudioLM: a Language Modeling Approach to Audio Generationpaper
2022-05Wav2SeqWav2Seq: Pre-training Speech-to-Text Encoder-Decoder Models Using Pseudo Languagespaper
2022-04Unit mBARTEnhanced Direct Speech-to-Speech Translation Using Self-supervised Pre-training and Data Augmentationpaper
2022-03d-GSLMGenerative Spoken Dialogue Language Modelingpaper
2021-10SLAMSLAM: A Unified Encoder for Speech and Language Modeling via Speech-Text Joint Pre-Trainingpaper
2021-09p-GSLMText-Free Prosody-Aware Generative Spoken Language Modelingpaper
2021-02GSLMGenerative Spoken Language Modeling from Raw Audiopaper

🔱 Speech/Audio Codec Models

DateModel NamePaper TitleLink
2024-11PyramidCodecPyramidCodec: Hierarchical Codec for Long-form Music Generation in Audio Domainpaper
2024-11UniCodecUniversal Speech Token Learning Via Low-Bitrate Neural Codec and Pretrained Representationspaper
2024-11SimVQAddressing Representation Collapse in Vector Quantized Models with One Linear Layerpaper
2024-11MDCTCodecMDCTCodec: A Lightweight MDCT-based Neural Audio Codec towards High Sampling Rate and Low Bitrate Scenariospaper
2024-10APCodec+APCodec+: A Spectrum-Coding-Based High-Fidelity and High-Compression-Rate Neural Audio Codec with Staged Training Paradigmpaper
2024-10A Closer Look at Neural Codec Resynthesis: Bridging the Gap between Codec and Waveform Generationpaper
2024-10SNACSNAC: Multi-Scale Neural Audio Codecpaper
2024-10LSCodecLSCodec: Low-Bitrate and Speaker-Decoupled Discrete Speech Codecpaper
2024-10Co-design for codec and codec-LMTOWARDS CODEC-LM CO-DESIGN FOR NEURAL CODEC LANGUAGE MODELSpaper
2024-10VChangeCodecVChangeCodec: A High-efficiency Neural Speech Codec with Built-in Voice Changer for Real-time Communicationpaper
2024-10DC-SpinDC-Spin: A Speaker-invariant Speech Tokenizer For Spoken Language Modelspaper
2024-10TAAEScaling Transformers for Low-Bitrate High-Quality Speech Codingpaper
2024-10DM-CodecDM-Codec: Distilling Multimodal Representations for Speech Tokenizationpaper
2024-09MimiMoshi: a speech-text foundation model for real-time dialoguepaper
2024-09NDVQNDVQ: Robust Neural Audio Codec with Normal Distribution-Based Vector Quantizationpaper
2024-09SoCodecSoCodec: A Semantic-Ordered Multi-Stream Speech Codec for Efficient Language Model Based Text-to-Speech Synthesispaper
2024-09BigCodecBigCodec: Pushing the Limits of Low-Bitrate Neural Speech Codecpaper
2024-08X-CodecCodec Does Matter: Exploring the Semantic Shortcoming of Codec for Audio Language Modelpaper
2024-08WavTokenizerWavTokenizer: an Efficient Acoustic Discrete Codec Tokenizer for Audio Language Modelingpaper
2024-07Super-CodecSuperCodec: A Neural Speech Codec with Selective Back-Projection Networkpaper
2024-07dMeldMel: Speech Tokenization made Simplepaper
2024-06CodecFakeCodecFake: Enhancing Anti-Spoofing Models Against Deepfake Audios from Codec-Based Speech Synthesis Systemspaper
2024-06Single-CodecSingle-Codec: Single-Codebook Speech Codec towards High-Performance Speech Generationpaper
2024-06SQ-CodecSimpleSpeech: Towards Simple and Efficient Text-to-Speech with Scalar Latent Transformer Diffusion Modelspaper
2024-06PQ-VAEAddressing Index Collapse of Large-Codebook Speech Tokenizer with Dual-Decoding Product-Quantized Variational Auto-Encoderpaper
2024-06LLM-CodecUniAudio 1.5: Large Language Model-driven Audio Codec is A Few-shot Audio Task Learnerpaper
2024-05HILCodecHILCodec: High Fidelity and Lightweight Neural Audio Codecpaper
2024-04SemantiCodecSemantiCodec: An Ultra Low Bitrate Semantic Audio Codec for General Soundpaper
2024-04PromptCodecPromptCodec: High-Fidelity Neural Speech Codec using Disentangled Representation Learning based Adaptive Feature-aware Prompt Encoderspaper
2024-04ESCESC: Efficient Speech Coding with Cross-Scale Residual Vector Quantized Transformerspaper
2024-03FACodecNaturalSpeech 3: Zero-Shot Speech Synthesis with Factorized Codec and Diffusion Modelspaper
2024-02AP-CodecAPCodec: A Neural Audio Codec with Parallel Amplitude and Phase Spectrum Encoding and Decodingpaper
2024-02Language-CodecLanguage-Codec: Reducing the Gaps Between Discrete Codec Representation and Speech Language Modelspaper
2024-01ScoreDecScoreDec: A Phase-preserving High-Fidelity Audio Codec with A Generalized Score-based Diffusion Post-filterpaper
2023-11HierSpeech++HierSpeech++: Bridging the Gap between Semantic and Acoustic Representation of Speech by Hierarchical Variational Inference for Zero-shot Speech Synthesispaper
2023-10TiCodecFEWER-TOKEN NEURAL SPEECH CODEC WITH TIME-INVARIANT CODESpaper
2023-09RepCodecRepCodec: A Speech Representation Codec for Speech Tokenizationpaper
2023-09FunCodecFunCodec: A Fundamental, Reproducible and Integrable Open-source Toolkit for Neural Speech Codecpaper
2023-08SpeechTokenizerSpeechtokenizer: Unified speech tokenizer for speech large language modelspaper
2023-06VOCOSVOCOS: CLOSING THE GAP BETWEEN TIME-DOMAIN AND FOURIER-BASED NEURAL VOCODERS FOR HIGH-QUALITY AUDIO SYNTHESISpaper
2023-06Descript-audio-codecHigh-Fidelity Audio Compression with Improved RVQGANpaper
2023-05AudioDecAudiodec: An open-source streaming highfidelity neural audio codecpaper
2023-05HiFi-CodecHifi-codec: Group-residual vector quantization for high fidelity audio codecpaper
2023-03LMCodecLMCodec: A Low Bitrate Speech Codec With Causal Transformer Modelspaper
2022-11Disen-TF-CodecDisentangled Feature Learning for Real-Time Neural Speech Codingpaper
2022-10EnCodecHigh fidelity neural audio compressionpaper
2022-07S-TFNetCross-Scale Vector Quantization for Scalable Neural Speech Codingpaper
2022-01TFNetEnd-to-End Neural Speech Coding for Real-Time Communicationspaper
2021-07SoundStreamSoundStream: An End-to-End Neural Audio Codecpaper

Speech/Audio Representation Models

DateModel NamePaper TitleLink
2024-09NEST-RQNEST-RQ: Next Token Prediction for Speech Self-Supervised Pre-Trainingpaper
2024-01EATSelf-Supervised Pre-Training with Efficient Audio Transformerpaper
2023-10MR-HuBERTMulti-resolution HuBERT: Multi-resolution Speech Self-Supervised Learning with Masked Unit Predictionpaper
2023-10SpeechFlowGenerative Pre-training for Speech with Flow Matchingpaper
2023-09WavLabLMJoint Prediction and Denoising for Large-scale Multilingual Self-supervised Learningpaper
2023-08W2v-BERT 2.0Massively Multilingual & Multimodal Machine Translationpaper
2023-07Whisper-ATNoise-Robust Automatic Speech Recognizers are Also Strong General Audio Event Taggerspaper
2023-06ATSTSelf-supervised Audio Teacher-Student Transformer for Both Clip-level and Frame-level Taskspaper
2023-05SPINSelf-supervised Fine-tuning for Improved Content Representations by Speaker-invariant Clusteringpaper
2023-05DinoSRSelf-Distillation and Online Clustering for Self-supervised Speech Representation Learningpaper
2023-05NFASelf-supervised neural factor analysis for disentangling utterance-level speech representationspaper
2022-12Data2vec 2.0Efficient Self-supervised Learning with Contextualized Target Representations for Vision, Speech and Languagepaper
2022-12BEATsAudio Pre-Training with Acoustic Tokenizerspaper
2022-11MT4SSLMT4SSL: Boosting Self-Supervised Speech Representation Learning by Integrating Multiple Targetspaper
2022-08DINONon-contrastive self-supervised learning of utterance-level speech representationspaper
2022-07Audio-MAEMasked Autoencoders that Listenpaper
2022-04MAESTROMatched Speech Text Representations through Modality Matchingpaper
2022-03MAE-ASTMasked Autoencoding Audio Spectrogram Transformerpaper
2022-03LightHuBERTLightweight and Configurable Speech Representation Learning with Once-for-All Hidden-Unit BERTpaper
2022-02Data2vecA General Framework for Self-supervised Learning in Speech, Vision and Languagepaper
2021-10WavLMWavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processingpaper
2021-08W2v-BERTCombining Contrastive Learning and Masked Language Modeling for Self-Supervised Speech Pre-Trainingpaper
2021-07mHuBERTDirect speech-to-speech translation with discrete unitspaper
2021-06HuBERTSelf-Supervised Speech Representation Learning by Masked Prediction of Hidden Unitspaper
2021-03BYOL-ASelf-Supervised Learning for General-Purpose Audio Representationpaper
2020-12DeCoAR2.0DeCoAR 2.0: Deep Contextualized Acoustic Representations with Vector Quantizationpaper
2020-07TERATERA: Self-Supervised Learning of Transformer Encoder Representation for Speechpaper
2020-06Wav2vec2.0wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representationspaper
2019-10APCGenerative Pre-Training for Speech with Autoregressive Predictive Codingpaper
2018-07CPCRepresentation Learning with Contrastive Predictive Codingpaper

🔱 Related Repository

OuteTTS-0.1-350M:TTS合成模型,利用纯语言建模,无需外部适配器

https://www.outeai.com/blog/outetts-0.1-350m

在日益增长的语音合成需求中,文本转语音(TTS)技术快速进步,但也面临不少挑战。传统TTS模型往往依赖复杂的多模块架构,如深度神经网络、语音合成器、文本分析器等适配器,以生成自然的人类语音。这种复杂度带来了大量资源消耗,对设备的要求极高,使得许多设备无法轻松使用。尤其是个性化的语音生成和应用场景,传统TTS技术往往需要庞大的数据集和较高的硬件配置,对此,Oute AI发布了OuteTTS-0.1-350M,为TTS领域带来了革新。OuteTTS-0.1-350M是一款不依赖外部适配器、纯语言建模的轻量级TTS模型。通过直接整合文本和语音生成流程,这款模型实现了简洁高效的自然语音合成,并具备“零样本语音克隆”能力,仅凭几秒钟的参考音频即可模仿新的声音。OuteTTS的推出,不仅为开发者带来了全新机遇,也大大降低了TTS技术的门槛,为更多个性化、实时语音生成的需求提供了高效方案。

OuteTTS-0.1-350M:无需复杂适配器的TTS模型

在语音合成领域,OuteTTS-0.1-350M开创性地使用纯语言模型进行语音合成,而无需传统的语音生成模块,如语音编码器和其他适配器。这一模型基于LLaMa架构构建,通过直接生成音频标记(tokens)来实现语音合成,大幅简化了TTS流程并降低了资源消耗。不同于庞大复杂的传统模型,OuteTTS的核心在于它的纯语言建模方法,它直接将语音生成视作文本生成的任务,通过对音频数据进行标记化处理,使模型能够理解并生成自然语音。这种架构不仅提高了模型的简洁性,还实现了高效的语音生成。OuteTTS能够在零样本语音克隆的模式下快速适应新音色,仅需几秒钟的参考音频即可模仿新的声音,非常适用于个性化的语音助手、有声读物和内容本地化等应用场景。

技术亮点:OuteTTS-0.1-350M的三大创新

OuteTTS-0.1-350M通过以下三步流程实现了高效的文本转语音:

  • WavTokenizer音频标记化OuteTTS使用WavTokenizer将音频转换为标记序列,每秒生成75个音频标记,这样能够快速将音频转换为模型可处理的序列。
  • CTC强制对齐采用连接时序分类(CTC)技术,确保模型能够将每个文字精准对齐到音频标记,生成自然流畅的语音输出。
  • 结构化提示创建:通过将转录、持续时间、音频标记等信息整合为结构化提示,将语音生成过程简化成一系列清晰的任务。

这些技术整合使得OuteTTS能够以纯语言建模的方式高效地实现语音合成,避免了传统模型的繁琐中间步骤,进一步降低了对计算资源的需求。OuteTTS还兼容llama.cpp库,能够在多种设备上实现语音生成,不必依赖云端服务,适合实时应用场景。

OuteTTS-0.1-350M的实际应用价值

OuteTTS-0.1-350M的独特之处在于其轻量高效的设计使得TTS技术不再需要高昂的硬件资源,具备了高度的实用性与适配性:

  • 低资源需求:这款模型无须庞大的适配器或深度神经网络模块,大大简化了部署过程,使其适用于各种硬件环境,包括移动设备、嵌入式设备等,实现了真正的“上设备”语音生成。
  • 个性化应用:OuteTTS的“零样本语音克隆”能力为个性化应用提供了可能。只需几秒钟的参考音频,用户即可定制专属语音,非常适合个性化语音助手、有声读物配音等场景。
  • 开源许可证:OuteTTS采用了CC-BY开源许可证,支持开发者将模型自由集成到项目中,为语音合成技术的普及和创新应用提供了广阔空间。

通过对传统TTS架构的简化和对个性化的支持,OuteTTS-0.1-350M带来了实用高效的语音生成体验,不仅提升了语音合成的可及性,还为开发者和企业带来了新的灵活选择。

OuteTTS-0.1-350M的性能分析:小模型也有大作为

OuteTTS-0.1-350M尽管只有3.5亿参数,依然在语音生成领域表现出色。它的高效性和轻量化特性使其在语音质量上毫不逊色,甚至与传统大型模型相媲美:

  • 音质自然:初步测试显示,OuteTTS生成的语音具有自然的语调和流畅的音质,极少出现失真或人工痕迹,适合各类语音应用场景。
  • 低计算成本:相比于参数数十亿的大型模型,OuteTTS保持高质量的同时,计算成本显著降低,非常适合资源有限的设备。
  • 快速响应:得益于模型架构的优化,OuteTTS能够在设备端实现快速响应,为实时语音交互提供了理想选择。

OuteTTS展示了小规模模型的潜力,使得语音合成不再依赖于庞大的计算资源,为轻量化的TTS模型树立了新标杆。

OuteTTS-0.1-350M的未来前景

OuteTTS-0.1-350M的发布不仅仅是一次技术创新,它开启了未来TTS应用的无限可能性。随着更多开发者和研究人员的加入,基于OuteTTS的应用场景将更加多样化:

  • 辅助技术:OuteTTS在语音生成上的便捷性和高效性使得其可以广泛应用于视障人士的辅助设备中,提供语音导航、信息提示等功能。
  • 内容创作:对于需要快速生成个性化语音内容的创作者,OuteTTS为他们提供了成本更低的配音解决方案。
  • 人机交互:语音交互是智能设备未来的关键方向,OuteTTS的实时生成能力使其能够在智能家居、车载语音助手等领域大展身手。

结语

OuteTTS-0.1-350M的发布标志着TTS技术的一个重要里程碑。通过采用纯语言建模,OuteTTS不仅降低了语音合成的门槛,还让个性化语音应用更为可行。无论是零样本语音克隆能力、实时生成表现,还是其对多设备兼容性,OuteTTS都为TTS领域带来了全新的发展思路。未来,随着更多技术的突破,基于OuteTTS的TTS应用将会为语音生成带来更加丰富的可能性。OuteTTS-0.1-350M展示了小而强的TTS模型可以达到与大型模型媲美的效果。Oute AI的这一创新,为未来的语音合成技术铺平了道路,也让我们期待更多轻量、智能、高效的语音合成技术的出现。