模型:
facebook/encodec_48khz
该模型卡提供了关于 EnCodec 的详细信息,EnCodec 是由 Meta AI 开发的一种最先进的实时音频编解码器。
EnCodec 是一种利用神经网络的高保真音频编解码器。它引入了一种流式编码器-解码器架构,具有量化的潜在空间,并以端到端的方式进行训练。该模型通过使用一个多尺度频谱对抗器来简化和加速训练,有效减少了伪影并产生高质量的样本。此外,它还包括一种新颖的损失平衡机制,通过将超参数的选择与典型损失的尺度解耦来稳定训练。此外,还使用轻量级 Transformer 模型进一步压缩所得的表示,同时保持实时性能。
EnCodec 可以直接用作音频编解码器,用于对音频信号进行实时压缩和解压缩。它提供高质量的音频压缩和高效的解码。该模型在训练时使用了不同的带宽,编码(压缩)和解码(解压缩)时可以指定。EnCodec 有两种不同的设置:
EnCodec 可以针对特定音频任务进行微调,或者集成到更大的音频处理流水线中,用于语音生成、音乐生成或文本到语音任务等应用中。
【需要更多信息】
使用以下代码可以使用来自 LibriSpeech 数据集(~9MB)的虚拟示例开始使用 EnCodec 模型。首先,安装所需的 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 # load a demonstration datasets librispeech_dummy = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation") # load the model + processor (for pre-processing the audio) model = EncodecModel.from_pretrained("facebook/encodec_48khz") processor = AutoProcessor.from_pretrained("facebook/encodec_48khz") # cast the audio data to the correct sampling rate for the model librispeech_dummy = librispeech_dummy.cast_column("audio", Audio(sampling_rate=processor.sampling_rate)) audio_sample = librispeech_dummy[0]["audio"]["array"] # pre-process the inputs inputs = processor(raw_audio=audio_sample, sampling_rate=processor.sampling_rate, return_tensors="pt") # explicitly encode then decode the audio inputs 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] # or the equivalent with a forward pass audio_values = model(inputs["input_values"], inputs["padding_mask"]).audio_values
该模型使用 Adam 优化器进行了300个时期的训练,每个时期包含2000次更新,批大小为64个1秒的示例,学习率为1.5e-4,β1 = 0.5,β2 = 0.9。所有模型均使用了8个 A100 GPU 进行训练。
他们使用了四种不同的训练策略来对这些数据集进行采样:
音频按文件进行归一化,随机增益在-10到6 dB之间。
该模型使用 MUSHRA 协议(Series, 2014)进行了评估,同时使用了隐藏参考音频和低锚定音频。通过众包平台招募了标注者,要求他们在1到100的范围内对提供的样本的感知质量进行评级。他们随机选择每个类别测试集中的50个5秒样本,并强制要求每个样本至少有10个注释。为了筛除嘈杂的注释和异常值,删除了至少在20%的情况下对参考录音给出低于90评分的标注者,或者对低锚定录音给出超过80评分的标注者超过50%的情况。
使用 ViSQOL()和尺度不变的信噪比(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的情况下,相比于6 kbps的Lyra-v2和12 kbps的Opus,平均表现更好。此外,通过将语言模型与代码结合,可以实现约25-40%的带宽减小。例如,3 kbps模型的带宽可以减小到1.9 kbps。
SummaryEnCodec 是一种最先进的实时神经音频压缩模型,擅长在不同的采样率和带宽下产生高保真的音频样本。该模型的性能在不同的设置下进行了评估,范围从1.5 kbps的24kHz单声道到48kHz立体声,并展示了主观和客观结果。值得注意的是,EnCodec通过引入仅基于频谱图的对抗性损失,有效减少了伪影并提高了样本质量。通过引入损失权重的梯度平衡器,进一步增强了训练的稳定性和可解释性。此外,研究表明,可以使用紧凑的Transformer模型在不降低质量的前提下实现额外的带宽减小,特别适用于对低延迟不是关键的应用(例如音乐流媒体)。
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} }