推理: false

EnCodec 模型卡
本模型卡提供了关于EnCodec的详细信息,这是由Meta AI开发的最先进的实时音频编解码器。
模型详情
模型描述
EnCodec是一种利用神经网络的高保真音频编解码器。它引入了带有量化潜在空间的流式编码器-解码器架构,并以端到端的方式进行训练。
该模型通过使用单一多尺度频谱对抗器简化并加速了训练过程,有效减少了伪影并生成高质量样本。
它还包含一种新颖的损失平衡机制,通过将超参数的选择与损失的典型规模解耦来稳定训练。
此外,轻量级Transformer模型被用于进一步压缩获得的表示,同时保持实时性能。
- 开发者: Meta AI
- 模型类型: 音频编解码器
模型来源
用途
直接使用
EnCodec可以直接用作音频编解码器,用于实时压缩和解压缩音频信号。
它提供高质量的音频压缩和高效的解码。模型在不同带宽上进行了训练,可以在编码(压缩)和解码(解压缩)时指定。
EnCodec有两种不同的设置:
- 非流式:输入音频被分割成1秒的块,重叠10毫秒,然后进行编码。
- 流式:在卷积层上使用权重归一化,输入不分割成块,而是在左侧填充。
下游使用
EnCodec可以针对特定音频任务进行微调,或集成到更大的音频处理流程中,用于语音生成、音乐生成或文本到语音任务等应用。
[需要更多信息]
如何开始使用模型
使用以下代码开始使用EnCodec模型,示例来自LibriSpeech数据集(约9MB)。首先,安装所需的Python包:
pip install --upgrade pip
pip install --upgrade datasets[audio]
pip install git+https://github.com/huggingface/transformers.git@main
然后加载音频样本,并运行模型的前向传递:
from datasets import load_dataset, Audio
from transformers import EncodecModel, AutoProcessor
librispeech_dummy = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
model = EncodecModel.from_pretrained("facebook/encodec_24khz")
processor = AutoProcessor.from_pretrained("facebook/encodec_24khz")
librispeech_dummy = librispeech_dummy.cast_column("audio", Audio(sampling_rate=processor.sampling_rate))
audio_sample = librispeech_dummy[0]["audio"]["array"]
inputs = processor(raw_audio=audio_sample, sampling_rate=processor.sampling_rate, return_tensors="pt")
encoder_outputs = model.encode(inputs["input_values"], inputs["padding_mask"])
audio_values = model.decode(encoder_outputs.audio_codes, encoder_outputs.audio_scales, inputs["padding_mask"])[0]
audio_values = model(inputs["input_values"], inputs["padding_mask"]).audio_values
训练详情
模型训练了300个epoch,每个epoch包含2,000次更新,使用Adam优化器,批量大小为64个1秒的示例,学习率为3·10−4,β1 = 0.5,β2 = 0.9。所有模型均使用8块A100 GPU进行训练。
训练数据
他们使用了四种不同的训练策略从这些数据集中采样:
- (s1) 以0.32的概率从Jamendo中采样单个源;
- (s2) 以相同概率从其他数据集中采样单个源;
- (s3) 以0.24的概率从所有数据集中混合两个源;
- (s4) 以0.12的概率从除音乐外的所有数据集中混合三个源。
音频按文件归一化,并应用-10到6 dB之间的随机增益。
评估
主观恢复指标:
该模型使用MUSHRA协议(Series, 2014)进行评估,使用隐藏参考和低锚点。通过众包平台招募标注者,要求他们在1到100的范围内对提供的样本的感知质量进行评分。他们从测试集的每个类别中随机选择50个5秒的样本,并强制每个样本至少获得10个标注。为了过滤噪声标注和异常值,我们移除那些在至少20%的情况下对参考录音评分低于90,或在超过50%的情况下对低锚点录音评分高于80的标注者。
客观恢复指标:
使用了ViSQOL()ink指标以及尺度不变信噪比(SI-SNR)(Luo & Mesgarani, 2019; Nachmani et al., 2020; Chazan et al., 2021)。
结果
评估结果表明,在不同带宽(1.5、3、6和12 kbps)下,EnCodec相对于基线表现出优越性。
当在相同带宽下比较EnCodec与基线时,EnCodec在MUSHRA评分上始终优于它们。
值得注意的是,EnCodec在3 kbps下的平均性能优于Lyra-v2在6 kbps和Opus在12 kbps下的性能。
此外,通过在代码上加入语言模型,可以实现约25-40%的带宽减少。
例如,3 kbps模型的带宽可以降至1.9 kbps。
总结
EnCodec是一种最先进的实时神经音频压缩模型,能够在各种采样率和带宽下生成高保真音频样本。
模型的性能在不同设置下进行了评估,从24kHz单声道1.5 kbps到48kHz立体声,展示了主观和客观结果。值得注意的是,EnCodec引入了新颖的仅频谱对抗损失,有效减少了伪影并提高了样本质量。
通过引入损失权重的梯度平衡器,进一步增强了训练的稳定性和可解释性。
此外,研究表明,可以使用紧凑的Transformer模型实现额外的带宽减少,最高可达40%,而不会影响质量,特别是在低延迟不关键的应用中(如音乐流媒体)。
引用
BibTeX:
@misc{défossez2022high,
title={High Fidelity Neural Audio Compression},
author={Alexandre Défossez and Jade Copet and Gabriel Synnaeve and Yossi Adi},
year={2022},
eprint={2210.13438},
archivePrefix={arXiv},
primaryClass={eess.AS}
}