跳转至

FlexiCodec: A Dynamic Neural Audio Codec for Low Frame Rates

会议: ICLR 2026
arXiv: 2510.00981
代码: amphionteam/flexicodec
领域: 音频语音
关键词: Neural Audio Codec, Dynamic Frame Rate, Low Frame Rate, Speech Tokenization, TTS

一句话总结

提出 FlexiCodec,通过 ASR 特征引导的动态帧率合并策略,在 3–12.5Hz 超低帧率下实现高质量语音编解码,同时保持优异的语义信息保留能力。

研究背景与动机

领域现状:Neural audio codec(如 EnCodec、DAC、SpeechTokenizer)是语音语言模型的基础组件,将语音压缩为离散 token 后可接入 AR LLM 范式。但主流 codec 帧率 ≥50Hz,1秒语音需 50+ token,与文本 ~4.5Hz 的帧率严重不匹配。

现有痛点:高帧率带来两个问题——(1) attention 的二次复杂度导致计算开销巨大;(2) 文本-语音模态帧率失配降低 LLM 性能。虽然 Mimi、DualCodec 将帧率降至 12.5Hz,但与文本 4.5Hz 仍有显著差距,且 <12.5Hz 的 codec 研究几乎空白。

核心矛盾:直接将现有 codec 推到极低帧率(<12.5Hz)会导致严重的语义信息丢失。作者实验发现 DualCodec 从 12.5Hz 降到 6.25Hz 时,RVQ-1 WER 从 5.93% 飙升至 31.5%。根源在于:(a) 语义与声学信息解耦不充分,低帧率下有限的信息容量被迫在两者间取舍;(b) 固定帧率下采样丢失瞬态语音细节,而自然语音的音素/音节本身是动态速率的。

本文目标:如何在 6.25Hz 甚至更低帧率下,既保留语义完整性又维持高音频重建质量,同时支持推理时帧率可控。

切入角度:(a) 动态帧率——信息密集区分配更多帧,稀疏区(静音、长元音)合并帧;(b) 用 ASR 特征替代 SSL 特征提供更浓缩的语义信息;(c) 单模型支持 3–12.5Hz 连续可控帧率。

核心 idea:利用预训练 ASR 特征的余弦相似度动态合并语义相似帧,实现内容自适应的低帧率语音编码。

方法详解

整体框架

FlexiCodec 采用 双流编码 → 动态帧合并 → 量化 → 帧展开 → 解码 的流水线架构:

  • 语义流:冻结的 ASR 编码器(SenseVoice-Small, 230M)提取 12.5Hz 语义特征 \(e_s \in \mathbb{R}^{T \times d}\)
  • 声学流:CNN 编码器(5 层 stride=[4,4,5,8,2])将 16kHz 波形下采样至 12.5Hz 声学特征 \(e_a \in \mathbb{R}^{T \times d}\)
  • 两路特征分别经过 Frame Merging Module 动态压缩帧数
  • 语义流经 FSQ 量化得 RVQ-1 token,声学流与语义流做差后经 RVQ 量化得 RVQ-rest token
  • Frame Unmerging Module 将动态帧率序列恢复为 12.5Hz 固定帧率
  • CNN 解码器合成波形

关键设计

设计 1:ASR 特征辅助的双流编码

  • 功能:用冻结的 SenseVoice-Small ASR 模型的最后一层隐层作为语义特征,替代传统的 SSL 特征(如 HuBERT、WavLM)。
  • 核心思路:ASR 模型经 CTC loss 训练,目标是预测文本,其特征天然具有更高浓度的语义信息;而 SSL 模型以重建为目标训练,特征中语义与声学信息混杂、存在冗余。
  • 设计动机:在极低帧率下信息容量极其有限,需要让 RVQ-1 编码尽可能纯净的语义信息。实验证实,仅将 DualCodec 的 SSL 替换为 ASR 特征,6.25Hz RVQ-1 WER 就从 31.5% 降到 6.0%,效果巨大。

设计 2:动态帧合并(Dynamic Frame Merging)

  • 功能:计算相邻 ASR 特征帧的余弦相似度,将连续相似帧合并为单帧,从而自适应降低帧率。
  • 核心思路:相邻帧相似度 \(s_t = \cos(e_s[t], e_s[t+1])\),从左到右扫描,将满足 \(\min_{t=i}^{j-1} s_t \geq \tau\) 的连续段 \([i, j]\) 合并为一帧(取均值),同时记录帧长 \(\ell_k = j - i + 1\)。合并后接一个 local windowed attention Transformer 对合并帧做上下文精炼,避免帧间不自然过渡。
  • 设计动机:自然语音中静音、长元音等区域信息密度低,固定帧率在此浪费容量;而快速发音区域信息密度高,需要更多帧。实验显示帧率与音素率呈强正相关(Pearson \(r = 0.775\)),线性系数约 0.5,即每个合并帧约编码两个音素。

设计 3:推理时帧率可控

  • 功能:训练时随机采样合并阈值 \(\tau \in [0.7, 1.0]\),推理时通过调节 \(\tau\) 控制输出帧率。
  • 核心思路\(\tau = 1.0\) 时无合并,输出 12.5Hz;\(\tau\) 越小合并越激进,帧率越低。单模型即可支持 3–12.5Hz 任意帧率。
  • 设计动机:不同下游任务对效率和质量的要求不同,可控帧率允许灵活权衡——如边缘设备 TTS 可用更低帧率加速,高质量场景用更高帧率。这是传统固定帧率 codec 无法提供的。

设计 4:FSQ 语义量化 + RVQ 声学量化

  • 功能:语义流用 Finite Scalar Quantizer(FSQ)量化为 RVQ-1 token(\(D=5, L=8\),共 \(8^5 = 32768\) 个 codebook entry);声学残差用 24 层 RVQ 量化(每层 4096 entry)。
  • 核心思路:FSQ 通过将特征投影到低维空间后各维度独立 round 量化,无需 codebook 学习,避免了 VQ 的 codebook collapse 问题。声学残差保留 RVQ 的多层渐进精炼能力。
  • 设计动机:语义 token 需要大 codebook 以区分细粒度语义,FSQ 以乘法组合方式天然支持大 codebook;声学部分信息分布复杂,RVQ 的残差逐层编码更适合。

损失函数 / 训练策略

总损失为:

\[\mathcal{L} = \mathcal{L}_{\text{recon}} + \lambda_{\text{GAN}} \mathcal{L}_{\text{GAN}} + \lambda_{\text{RVQ}} \mathcal{L}_{\text{RVQ}} + \lambda_{\text{feat}} \mathcal{L}_{\text{feat}}\]
  • \(\mathcal{L}_{\text{recon}}\):多尺度 L1 Mel 频谱重建损失
  • \(\mathcal{L}_{\text{GAN}}\):MPD + MRSD 的对抗损失和特征匹配损失
  • \(\mathcal{L}_{\text{RVQ}}\):RVQ 的 codebook 更新损失 + commitment loss(FSQ 无需额外损失)
  • \(\mathcal{L}_{\text{feat}}\):RVQ-1 语义 token 嵌入与未量化语义特征的 L2 对齐损失

训练策略: - 数据:Librilight-Large,54k 小时,16kHz - 800k steps,8×V100 32GB,batch=5×5s/GPU - Quantizer dropout:随机选取 \(n \in [1, N]\) 层 RVQ 解码,\(n=1\) 时仅用语义流 - 每步随机采样 \(\tau \in [0.7, 1.0]\),确保模型适应各帧率 - 最大合并帧长 \(\ell_k = 8\),local attention 窗口 ±8

实验关键数据

主实验:与开源 Codec 全面对比(Table 5)

系统 帧率 (Hz) 比特率 (kbps) WER(RVQ1)↓ WER(RVQ1:8)↓ PESQ↑ UTMOS↑ MCD↓ SIM↑
DAC 75 6.0/8q 31.2 2.27 3.77 3.62 2.34 0.90
EnCodec 75 6.0/8q 5.90 2.24 3.12 3.01 2.60 0.89
SpeechTokenizer 50 4.0/8q 5.56 2.47 3.01 3.90 3.17 0.85
DualCodec 12.5 1.2/8q 5.93 2.26 3.29 4.18 2.81 0.85
FlexiCodec @12.5Hz 12.5 1.3/8q 2.76 2.23 3.35 4.22 2.76 0.85
WavTokenizer 75 0.90/1q 4.57 4.57 2.86 3.98 3.51 0.68
XCodec2 50 0.80/1q 2.80 2.80 2.77 4.08 3.65 0.82
FlexiCodec @8.3Hz 8.3 0.85/8q 2.98 2.28 3.03 4.21 3.10 0.78
TaDiCodec 6.25 0.15/1q 4.32 4.32 1.73 4.05 9.75 0.83
SemantiCodec 25 0.34/1q 23.8 23.8 1.89 2.93 5.92 0.40
FlexiCodec @6.25Hz 6.25 0.64/8q 4.15 2.53 2.76 4.18 3.42 0.71

Ground Truth WER = 2.1%。FlexiCodec 在各比特率区间均达到 SOTA 语义保留和音频质量。

消融实验:动态帧率的贡献(Tables 3 & 4)

语义消融:

配置 WER(RVQ1)↓ 相对变化 WER(RVQ1:8)↓ 相对变化 ASR Probing WER↓ 相对变化
FlexiCodec @8.3Hz 2.98 2.28 13.0
→ 去掉动态帧率 (FFR) 3.56 +19% 2.43 +6% 14.5 +12%
FlexiCodec @6.25Hz 4.15 2.53 15.6
→ 去掉动态帧率 (FFR) 5.22 +26% 2.73 +8% 18.8 +21%

声学消融:

配置 PESQ↑ MCD↓ UTMOS↑ SIM↑
FlexiCodec @8.3Hz 3.03 3.10 4.21 0.78
→ 去掉动态帧率 3.03 3.18 4.21 0.76
FlexiCodec @6.25Hz 2.76 3.42 4.18 0.71
→ 去掉动态帧率 2.76 3.47 4.18 0.70

关键发现

  • 帧率与音素率强正相关(Pearson \(r = 0.775\)),验证了动态帧率确实按语音内容复杂度自适应分配——快速发音区获得更多帧,静音/长元音被合并
  • 动态帧率的增益在更低帧率时更显著:6.25Hz 下去掉动态帧率 RVQ-1 WER 恶化 26%,8.3Hz 下恶化 19%。这表明帧率越低,自适应分配越重要
  • 动态帧率主要提升语义保留,对声学指标影响较小:PESQ/UTMOS 几乎不变,MCD/SIM 有轻微改善。原因是声学信息密度与语义密度不一定对齐
  • 仅替换 SSL 为 ASR 特征即可大幅提升:DualCodec 架构下从 SSL 切换到 ASR 特征,6.25Hz RVQ-1 WER 从 31.5% 降至 6.0%
  • \(\tau\) 控制帧率与质量的权衡\(\tau = 0.7\) 时平均帧率仅 3.0Hz(RVQ1 WER 51.5%),\(\tau = 0.8\) 时 4.5Hz(WER 14.4%),\(\tau = 0.9\) 时 7.9Hz(WER 3.13%)
  • 编解码效率高:RTF 仅 0.018(编码)和 0.006(解码),全帧率通用
  • 下游 TTS:FlexiCodec-TTS 在多帧率下达到有竞争力的性能,同时显著快于高帧率基线

亮点与洞察

  1. 问题洞察深刻:精确定位了低帧率 codec 语义丢失的两个根因——语义解耦不足和固定帧率丢失瞬态细节,且用大量实验验证了这两个假设
  2. 动态帧率设计优雅:利用 ASR 特征余弦相似度做帧合并,无需额外训练参数,确定性可复现,且天然支持可控帧率——一个 \(\tau\) 参数即可在 3–12.5Hz 间连续调节
  3. ASR 特征的双重复用:同一个 ASR 特征既用于语义编码(提供 RVQ-1 输入),又用于指导合并边界(计算相似度),设计简洁而高效
  4. 实验覆盖极其全面:codec 重建、语义保留、ASR probing、下游 TTS、音频理解、跨语言泛化、消融、效率分析,几乎无死角
  5. 每个合并帧约编码 2 个音素 的发现,为低帧率 codec 的信息论理解提供了量化参考

局限与展望

  1. 极低帧率(<4Hz)语义急剧退化\(\tau = 0.7\) 时 3Hz 帧率 WER 达 51.5%,说明当前方案在极端压缩下仍有瓶颈
  2. 声学质量受限于比特率:动态帧率主要改善语义,声学指标提升有限;声学信息密度与语义密度不对齐是本质原因
  3. 跨语言零样本语义性能差:英文训练的模型在未见语言上语义 token 表现不佳,需要 fine-tuning
  4. 帧长属性需额外 3 bit/帧传输:虽然开销不大,但增加了解码端的复杂性
  5. RVQ-rest 未用 FSQ:作者承认多层 FSQ(如 rFSQ)可能进一步提升声学量化质量
  6. 未探索 AR 模型直接从动态帧率 token 生成:当前仍需 Frame Unmerging 恢复固定帧率后解码,限制了动态帧率的端到端优势

相关工作与启发

  • 与 DualCodec 的关系:FlexiCodec 继承了其双流解耦思路,但将 SSL 特征替换为 ASR 特征并新增动态帧合并,语义保留能力大幅提升
  • 与 Token Merging (ToMe) 的关系:借鉴了视觉领域 DynTok 的思路——用预训练特征的相似度指导 token 合并,但适配到时序语音信号的一维场景
  • 与 TaDiCodec 的差异:TaDiCodec 也做 6.25Hz 但需要文本转写辅助合成,类似 TTS 系统;FlexiCodec 是传统 codec 范式,不依赖转写
  • 对语音 LLM 的启发:FlexiCodec 将语音 token 帧率降到接近文本帧率(4.5Hz),可大幅减少多模态 LLM 中语音 token 的序列长度,降低计算成本
  • 对自适应传输的启发:可控帧率特性适用于自适应码率传输场景——网络带宽好时用高帧率,差时用低帧率

评分

  • 新颖性: ⭐⭐⭐⭐ — 动态帧率 codec 的思路新颖,ASR 特征双重复用巧妙,但各子模块(Token Merging、FSQ、双流架构)均有先驱工作,整体是精妙的组合创新
  • 实验充分度: ⭐⭐⭐⭐⭐ — 极其充分,涵盖 codec 重建/语义/声学/消融/下游 TTS/音频理解/跨语言/效率分析,多帧率多基线全面对比
  • 写作质量: ⭐⭐⭐⭐⭐ — 逻辑清晰,动机-方法-实验一气呵成,图表信息量大且易读,Related Work 分类全面
  • 价值: ⭐⭐⭐⭐ — 为低帧率语音 codec 和语音 LLM 提供了实用基础设施,开源代码增强了实际价值;但极低帧率下质量衰减限制了激进压缩场景的适用性