当前位置: 首页 > news >正文

Discrete Audio Tokens: More Than a Survey

文章目录

  • 模型设计的考虑
    • 量化的方式:
    • 比特率:Fixed vs. Adaptive Bitrate
    • 码本内容设计的考虑
    • Streamability.
  • 模型评估
    • Reconstruction Evaluation and Complexity Analysis.
    • 识别和生成任务(SE, SR)
    • Acoustic Language Modeling.
    • Music Generation
    • General Trend

模型设计的考虑

量化的方式:

  • RVQ
  • GVQ,
  • SVQ-single vq,
  • FSQ,
  • Cross-Scale RVQ (CSRVQ). 跨尺度 RVQ ,
  • Multi-Scale RVQ (MSRVQ).
  • Product Quantization (PQ).

比特率:Fixed vs. Adaptive Bitrate

  • 固定比特率
  • 动态比特率
    • 可扩展比特率(Scalable)
    • 可缩放比特率

码本内容设计的考虑

  • disentanglement:TiCodec / FACodec,将音频分成内容、韵律、音色和声学细节
  • semantic distillation:RVQ 的第一个码本用semantic token,比如MIMI, X-Codec
  • supervised semantic tokenization: 用asr loss 做监督

Streamability.

  • CNN 结构,或者casual-transformer,对是否可以流式

在这里插入图片描述

模型评估

Reconstruction Evaluation and Complexity Analysis.

  • 重建评估:评估重新合成的音频的质量。
  • 复杂度分析:根据模型大小(参数)、帧速率、标记速率和乘法累加运算 (MAC) 评估每个分词器的计算效率。
    在这里插入图片描述
  • 结果分析:
    • 对于 EnCodec 和 DAC,随着比特率从 24k 降低到 6k 和 1.5k,重建质量会持续下降。这一趋势证实,更高的比特率可以更好地保留声学细节,从而提高所有评估指标的重建质量。
    • 对于 SpeechTokenizer(4k 对 1k)和 Mimi(4.4k 对 1.1k),它们都对第一个码本应用了语义蒸馏,所有客观指标都会在比特率较低时下降。然而,WER 并没有急剧下降,这表明即使整体重建质量下降,语义蒸馏也能有效地保留语言内容。
    • 离散 WavLM 表现出显着较低的 SDR、SI-SNR、PESQ、STOI 和 Spk-Sim 分数。由于这些指标依赖于参考真值信号,因此性能不佳表明这些模型没有针对精确的波形重建进行优化。然而,UTMOS、DNSMOS 和 PLCMOS 等指标仍然合理,这表明这些分词器仍然保持语音质量。这种差异表明,离散分词器更关注高级表示,而不是精确的波形重建。
    • SQ-SMA-16 的性能与大比特率编解码器模型(例如 Mimi-S-24 4.4kbps 和 DAC-SMA-24 6kbps)相当,甚至更好。
  • 指标分析
    • SDR 和 SI-SNR 是不太可靠的指标。一个可能的原因是信号被过度压缩,神经编解码器的生成(尤其是在低比特率下),通常在本地样本级信息中一致性较差。这可能是由于非线性偏移或振幅变化造成的。【这两个指标更多反映的是时域的一致性,模型对于频域可感知指标的改善,可能并不意味着时域指标的同步优化。】

识别和生成任务(SE, SR)

重建任务好,不能说明token好,也有可能是decoder的强大,因此直接用token ,训练下游分类任务和生成任务的有效性。

  • 方法:使用轻参数的head,避免隐藏 token 中的缺陷。更多细节的设置,可以看 DASB论文里写。
    在这里插入图片描述
    在这里插入图片描述

语音任务结果分析:

  • 语音识别任务。 (1)ASR 类识别任务,包括情感分类,意图分类,关键词识别,离散 WavLM 都是表现最好的;SpeechTokenizer 排名第二;(2)在说话人识别方面,DAC 取得了最好的结果,semantic token类的结果比较差;
  • 语音生成任务:对于语音分离和增强,WavLM 在低比特率和中等比特率下表现良好,但在说话人相似度指标上显示不佳的结果。此外,重建的 DNSMOS 分数(表示编解码器单独设置的上限,没有任何分离)不会超过使用原始混合物作为估计值获得的分数(即下限),这表明重建质量的限制可能会限制下游性能,特别是对于语音分离等高保真任务。

Audio 和 Music 任务。

  • 对于一般的音频和音乐任务,EnCodec 在所有比特率和域中的性能始终优于其他分词器,而 DAC 则落后。(因为DAC 更着重优化感知域信号,时域保真度比较低,因此分离任务上表现不好)。而且增加比特率,性能更差,这可能是由于音乐固有的复音性质和较少的稀疏性质(与语音和一般音频相比),这导致来源高度重叠,更难从详细但语义纠缠的表示中解出来。

Codebook 大小的影响。

  • 增加码本的数量(例如 2、8、32)可以改善信号重建,但通常会降低下游任务的性能。(更多的码本可以提高保真度,但它们通常会增加输出维度和建模复杂性,从而降低判别任务和生成任务的性能。)
  • 在基于 RVQ 的模型中,早期的码本捕获更多的语音信息,而后来的码本通常会添加冗余,这可能解释了这种权衡。这突出了分词器的一个重要设计原则: 仅针对重建进行优化并不能保证在下游任务上获得更好的性能 。中等比特率设置通常在音频重建质量和任务性能之间提供最佳平衡。

离散token与连续emb。

  • 离散token虽然简单,但是对于比如polyphonic music分离或嘈杂的环境会表现不好。信息含量肯定是连续embedding >>离散token。
  • 数据越多,下游任务性能越好:例如,离散 WavLM 使用 BiLSTM 头在低比特率下在 LibriSpeech(960 小时)上实现了 6.0% 的 WER,在巴斯克语(116 小时)上实现了 22.0% 的 WER,在威尔士语(8 小时)上实现了 58.9%,这表明数据规模与 ASR 准确性之间存在很强的相关性。
  • 较大的下游模型有助于提高收敛性和性能,特别是对于acoustic tokenizers,它们对数据规模和模型容量都更敏感。semantic tokenizers通常在资源匮乏的环境中更鲁棒。data scale & model scale 对于使用离散token提升性能很重要,尤其是acoustic token。

Acoustic Language Modeling.

声学语言建模。我们使用 SALMon 和 Zero-resource 基准分析每个分词器(tokenizer)在训练声学语言模型方面的有效性。
在这里插入图片描述
语义指标

  • sWUGGY指标衡量在一对相似的单词和非单词(例如,brick 和 blick)中,模型是否更倾向于赋予单词更高的概率。
  • sBLIMP 衡量模型认为一个语法正确的句子比一个类似不正确的句子更有可能(the dogs sleep v.s. the dog sleep)
  • sSC:口语故事-完形填空。 模型捕获细粒度因果关系和时间常识关系的能力
  • tSC:主题故事-完形填空 ,反映了模型保持主题连贯性的能力

声学指标(SALMon 评估套件)

  • acoustic consistency:性别, 情绪,说话人,
  • sentiment-acoustic alignment(情感-声学对齐 ):它测试模型是否为声学情绪与口语内容一致的话语分配更高的分数。这个全面的套件使我们能够评估 SLM 的语言和副语言建模能力。

结论:

  • HuBERT 在语义任务上仍然是表现最强的,而 WavLM 在声学一致性方面处于领先地位。
  • 语义蒸馏的分词器,通过优化,通过缩小与 HuBERT 的语义差距
  • 总的来说,目前还没有一个分词器在所有口语和声学任务中都表现出色。

Music Generation

在这里插入图片描述

  • text condition gen: 有文本提示,生成音乐
  • uncondition gen : 给一个2s 的音频片段,续写
  • MusicCaps 和FMA 是两个训练数据集,其中FMA 音质较差,数据量也少一点
  • FAD: 评估语音质量;KLD, 评估语义一致性;CLAP评估和文本prompt的语义一致性;
    结果分析
  • 对于音乐任务,高采样率高码本的结果更好(DAC),更多细粒度的表示(这些表示对于speech是冗余的)
  • 无条件生成始终优于文本条件生成,强调了在音乐生成任务中提供旋律提示的好处。

General Trend

在这里插入图片描述

http://www.lqws.cn/news/549577.html

相关文章:

  • TensorRT-LLM的深度剖析:关键问题与核心局限性
  • Java-异常类
  • Spearman检验组间相关性及SCI风格绘图
  • MySQL之事务原理深度解析
  • [Python] -基础篇2-Python中的变量和数据类型详解
  • 运营医疗信息化建设的思路
  • 创建一个简单入门SpringBoot3项目
  • 华为云Flexus+DeepSeek征文|高可用部署 Dify 平台构建 Flux 绘画中台 Chatflow 的设计与实现
  • Re:从零开始的文件结构(融合线性表来理解 考研向)
  • 设计模式精讲 Day 15:解释器模式(Interpreter Pattern)
  • LangChain4j(20)——调用百度地图MCP服务
  • Ubuntu系统Postman资源占用高怎么办?
  • Stable Diffusion入门-ControlNet 深入理解 第二课:ControlNet模型揭秘与使用技巧
  • 【软考--软件设计师】2.程序设计语言
  • mongodb生产备份工具PBM
  • opensuse安装rabbitmq
  • Transformer
  • 将ONNX模型转换为(OPENMV可用的格式)TensorFlow Lite格式
  • Spring Cloud 微服务(服务注册与发现原理深度解析)
  • python基于Django+mysql实现的图书管理系统【完整源码+数据库】
  • uv包管理常用命令
  • Stable Diffusion 3终极提示词库:2000个工业设计场景生成公式(2025企业级实战指南)
  • [Ethernet in CANoe]1--SOME/IP arxml文件格式的区别
  • 动手学Python:从零开始构建一个“文字冒险游戏”
  • 记忆化搜索(dfs+memo)无环有向图
  • ubuntu22上安装redis6
  • 【开发杂谈】Auto Caption:使用 Electron 和 Python 开发实时字幕显示软件
  • JAX study notes[7]
  • uniapp消息推送
  • Springboot中常用的注解(分层整理)