EnCodec: 一种先进的实时神经音频编解码器
摘要 本文介绍了一种名为 EnCodec 的先进神经音频编解码器。EnCodec由facebook公司开发,它通过端到端的深度学习方法实现了实时、高保真的音频压缩。EnCodec 采用流式编解码架构,结合残差矢量量化 (RVQ) 和一种新颖的多尺度频谱图 (MS-STFT) 判别器进行对抗训练。该模型引入损失平衡机制以稳定训练,并利用轻量级 Transformer 进行熵编码,可进一步降低高达 40% 的比特率。在 24kHz 单声道和 48kHz 立体声的语音及音乐压缩任务中,EnCodec 在多个比特率下均展现出优于 Opus、EVS 和 Lyra-v2 等基线方法的性能。EnCodec源码:https://github.com/facebookresearch/encodec
1. 引言
随着流媒体需求的增长,高效音频压缩至关重要。传统编解码器依赖手工设计的信号处理,而神经编解码器通过数据驱动的方式学习高效的表示。EnCodec 正是这一方向的代表性工作,旨在解决神经音频压缩中的泛化能力和效率平衡两大挑战。它通过结合大规模训练、有效的感知损失(MS-STFT 判别器)和高效量化(RVQ)来实现高保真、低比特率和实时处理能力。
2. 相关内容简述
神经音频编解码器通常基于自编码器框架,对隐空间表示进行量化。代表性工作如 SoundStream (Zeghidour et al., 2021) 使用全卷积结构、RVQ 和对抗损失。EnCodec 继承了这一思路,但在判别器设计、训练稳定性(损失平衡器)等方面进行了关键改进。
3. EnCodec 模型架构
EnCodec 由编码器 (E)、量化器 (Q) 和解码器 (G) 组成。
编码器与解码器: 采用流式(可选非流式)卷积架构。编码器包含多个带下采样的卷积块和 LSTM 层,将音频映射到隐表示 z。解码器结构对称,使用转置卷积上采样,从量化表示 zq 重建音频 x ̂。流式版本通过因果卷积实现低延迟处理。
残差矢量量化 (RVQ): EnCodec 使用 RVQ 对编码器输出进行量化。RVQ 通过多个级联的码本逐步量化残差,得到一系列码本索引。这种方式允许单个模型通过选择不同数量的码本 (Nq) 来支持多种比特率(如 1.5 至 24 kbps)。训练时使用直通估计器 (STE) 传递梯度,并加入承诺损失 (Commitment Loss) 约束编码器输出。
基于 Transformer 的熵编码: 为了进一步压缩,EnCodec 训练了一个小型的 Transformer 模型来预测 RVQ 码本索引的条件概率分布。然后使用算术编码根据这些概率进行无损压缩,可显著降低最终比特率(约 25-40%),尤其适用于对延迟要求不高的场景(如音乐流媒体)。

4. 训练目标与关键创新
EnCodec 的训练目标结合了多种损失函数:
- 重建损失: 包括时域 L1 损失 (lt) 和多尺度梅尔频谱图上的 L1+L2 损失 (ls)。
- 对抗损失: 这是 EnCodec 的核心创新之一。
- MS-STFT 判别器: 不同于先前工作结合多种判别器(如 MSD, MPD),EnCodec 提出并主要依赖单一类型的多尺度 STFT (MS-STFT) 判别器。该判别器由多个并行的子网络构成,每个子网络作用于不同 STFT 尺度(不同窗长)计算得到的复数谱图上,有效捕捉不同频率和时间尺度上的伪影。实验证明,仅使用 MS-STFT 判别器就能获得高质量结果,简化了模型设计。
- 损失形式:包含生成器的对抗损失 (l_g) 和特征匹配损失 (l_feat),以及判别器的 Hinge Loss (L_d)。
- RVQ 承诺损失 (l_w): 鼓励编码器输出接近码本条目。
- 损失平衡器 (Balancer): 另一项关键创新。该机制通过动态调整各损失项(重建损失、对抗损失、特征匹配损失)的梯度大小,使其对模型更新的贡献与其设定的权重 (λ_i) 成正比,而不是受其原始梯度尺度的影响。这极大地稳定了包含对抗损失的训练过程,并使得权重超参数的选择更加直观和鲁棒。
总生成器损失为 :
5. 实验结果与评估
EnCodec 在包含语音、噪声、音乐的混合数据集上进行训练,并在 MUSHRA 主观听觉测试和 ViSQOL、SI-SNR 等客观指标上进行了评估。
- 性能优势: 结果(如图 2 和表 1 所示)清晰表明,在 24 kHz 单声道场景下,EnCodec 在 1.5, 3, 6, 12 kbps 等多个比特率下,其 MUSHRA 得分均显著优于 Opus、EVS 和 Lyra-v2。例如,EnCodec 3kbps 的音质优于 Lyra-v2 6kbps 和 Opus 12kbps。
- 熵编码效果: 熵编码平均可带来 25-40% 的比特率节省,进一步提升了压缩效率。
- 关键组件有效性: 消融研究证实了 MS-STFT 判别器的有效性(单独使用即可达到 SOTA水平),以及损失平衡器对稳定训练的重要性。流式架构虽然比非流式略有性能损失,但仍远超基线并实现了低延迟。
- 立体声性能: 在 48 kHz 立体声音乐压缩任务中,EnCodec 同样表现出色。例如,6 kbps 的 EnCodec 音质媲美 64 kbps 的 MP3,远超同比特率的 Opus。12 kbps 和 24 kbps 的 EnCodec 提供了接近原始音质的体验。
- 实时性: 24 kHz 流式 EnCodec 具有约 13ms 的算法延迟,编解码速度远快于实时,适用于实时通信。加入熵编码后速度有所下降,但仍满足流媒体等场景需求。


6. 结论
EnCodec 是一种高效、高质量的神经音频编解码器。其关键创新在于 MS-STFT 判别器和损失平衡机制,结合 RVQ 量化和可选的 Transformer 熵编码,在多种音频类型、比特率和通道配置下均达到了业界领先水平,同时具备实时处理能力。它的提出显著推动了神经音频压缩技术的发展。