音频人工智能指南

神经音频编解码器

A neural audio codec is a pair of neural networks that compresses sound into a small stream of numbers and rebuilds the waveform from it.

听听这个指南AI叙述 · ~8 min

在本页阅读时间 9 分钟
  1. 概述
  2. 主要要点
  3. 深入探讨
  4. Working out a codec's bitrate from its design
  5. 现实世界的实施
  6. 神经音频编解码器的未来
  7. 付诸实践
  8. 资料来源与延伸阅读
  9. 不断探索
  10. 常见问题

概述

Systems such as Google's SoundStream (2021), Meta's EnCodec (2022) and Descript's DAC (2023) beat traditional codecs at low bitrates, and their discrete tokens are now the vocabulary that speech and music generators such as VALL-E, MusicGen and Moshi predict.

主要要点

  1. A neural audio codec uses a trained encoder, a quantizer and a decoder to compress audio into integer codes and rebuild the waveform.
  2. Residual vector quantization stacks quantizers that each encode what the previous ones missed, so dropping later codebooks lowers bitrate gracefully.
  3. In Google's listening tests, SoundStream at 3 kbps outperformed the Opus codec at 12 kbps on 24 kHz audio.
  4. Descript's DAC compresses 44.1 kHz audio about 90 times, to 8 kbps, with one model for speech, music and other sounds.
  5. Codec tokens are the vocabulary of audio language models such as VALL-E, MusicGen and Kyutai's Moshi.

深入探讨

A codec, short for coder-decoder, turns audio into a compact bitstream and back. Traditional codecs such as MP3, Opus and EVS are designed by engineers using signal processing: a transform splits the sound into frequency components, a perceptual model decides which components the ear will not miss, and the rest are quantized, meaning rounded to a limited set of values, then entropy coded. A neural audio codec replaces most of that hand-designed pipeline with networks trained on large amounts of audio. An encoder network turns the waveform into a short sequence of vectors, a quantizer turns each vector into a few integers, and a decoder network rebuilds a waveform from those integers. Because the whole chain is trained end to end, the system learns what to keep and what to discard.

Google's SoundStream, posted in July 2021 by Neil Zeghidour and colleagues, set the template. Its encoder is a stack of convolutions that downsamples by strides of 2, 4, 5 and 8, so one embedding is produced for every 2 x 4 x 5 x 8 = 320 samples. At 24,000 samples per second, that is 75 frames per second. To hit 6 kbps, each frame gets 80 bits. A plain vector quantizer would need a codebook, a lookup table of learned vectors, with 2 to the 80th power entries, which the paper calls obviously unfeasible. SoundStream instead uses residual vector quantization (RVQ): the first quantizer picks the nearest of 1,024 codebook vectors, the second quantizes what the first missed, and so on. Eight quantizers with 1,024 entries each, 10 bits apiece, give the 80 bits.

RVQ also makes bitrate adjustable. SoundStream trained with quantizer dropout, randomly using only the first few quantizers in each training example, so a single model works at 3 to 18 kbps by sending more or fewer codebook indices. Training combines reconstruction losses, which compare the output with the original, and adversarial losses from discriminator networks that try to tell decoded audio from real audio, a technique borrowed from neural speech synthesis. Both encoder and decoder use only causal convolutions, which look only at past samples, so the codec can stream with latency set by the 320-sample frame. In the paper's listening tests, SoundStream at 3 kbps outperformed Opus at 12 kbps and approached EVS at 9.6 kbps.

Meta's EnCodec, posted in October 2022 by Alexandre Defossez, Jade Copet, Gabriel Synnaeve and Yossi Adi, kept the encoder, RVQ and decoder design but simplified training with a single multiscale spectrogram discriminator and added a loss balancer, which sets each loss weight as a fraction of the total gradient. It also used a small transformer language model with entropy coding to shrink the bitstream by up to 40% while staying faster than real time. Its models use up to 32 codebooks of 1,024 entries, 75 frames per second at 24 kHz, and in MUSHRA listening tests, a standard method in which listeners score clips against a hidden reference, it beat Opus, EVS and Google's Lyra-v2 across speech, noisy speech and music.

Descript's Descript Audio Codec (DAC), from the June 2023 paper on Improved RVQGAN by Rithesh Kumar, Prem Seetharaman and colleagues, pushed quality further. It compresses 44.1 kHz audio about 90 times, to 8 kbps, with one model for speech, music and environmental sound. The authors identified codebook collapse, in which many codebook entries go unused and bandwidth is wasted, and fixed it with two techniques from image models: projecting vectors to a low-dimensional space before lookup and normalizing them. They also found that standard quantizer dropout hurt full-bitrate quality and applied it to only some training examples. In their listening tests DAC scored much higher than EnCodec at all bitrates tested, though still below the original audio.

The second role of these codecs turned out to be as important as compression. Their integer codes are discrete tokens, the same kind of input language models are built to predict. VALL-E trained a language model on codec tokens to clone a voice from 3 seconds of audio, MusicGen interleaves several codebook streams so one transformer can generate music, and Kyutai's Mimi codec, described in the September 2024 Moshi paper, distills semantic information from the WavLM speech model into its first quantizer so that a single token stream carries both meaning and sound at 12.5 frames per second.

Compared with traditional codecs, neural codecs win most clearly at low bitrates, where engineered codecs introduce audible artifacts. At higher bitrates, established codecs remain efficient, standardized and supported by every device. Neural codecs cost more computation, need a matching decoder on both ends, and can fail in unfamiliar ways: rather than adding hiss, a generative decoder can produce plausible but wrong detail, such as smeared consonants or altered timbre, especially on sounds unlike its training data. Because codec tokens let a language model continue a voice from a 3-second sample, as VALL-E showed, the same technology that compresses speech also makes convincing voice imitation easier.

In practice, using a neural codec is simple: EnCodec and DAC publish code and pretrained weights, and encoding or decoding runs on a laptop. EnCodec's paper targeted models that run in real time on a single CPU core. Training a new codec is a larger job, because it needs large and varied audio collections and adversarial training with several discriminator networks.

04工作示例

Working out a codec's bitrate from its design

  1. Take a codec that receives 24 kHz audio and downsamples with strides 2, 4, 5 and 8.

  2. Multiply the strides: 2 x 4 x 5 x 8 = 320 samples per frame, so 24,000 / 320 = 75 frames per second.

  3. Choose 8 residual quantizers, each with a codebook of 1,024 entries, which is 10 bits per index.

  4. Bits per frame: 8 x 10 = 80; bitrate: 75 x 80 = 6,000 bits per second, or 6 kbps.

  5. Drop to the first 4 quantizers: 75 x 4 x 10 = 3,000 bits per second.

  6. Compare a single quantizer with 80 bits: its codebook would need 2 to the 80th power entries.

它显示了什么

The learner reproduces SoundStream's 6 kbps configuration and sees how residual quantization trades bitrate for quality by sending more or fewer codebook indices, while avoiding an impossibly large single codebook.

现实世界的实施

Low-bitrate calls: in listening tests on 24 kHz audio, SoundStream at 3 kbps was rated above the Opus codec at 12 kbps, and a single model covered bitrates from 3 to 18 kbps while running in real time on a smartphone CPU.

Music and stereo compression: Meta's EnCodec supports 1.5, 3, 6, 12 and 24 kbps for 24 kHz mono audio and 3 to 24 kbps for 48 kHz stereo, with code and models released on GitHub.

Text-to-speech: Microsoft's VALL-E (January 2023) trained a language model on the discrete codes of an off-the-shelf neural codec using 60,000 hours of English speech, and cloned a voice from a 3-second sample.

Music generation: Meta's MusicGen (NeurIPS 2023) is a single transformer that predicts several parallel streams of compressed music tokens, generating mono or stereo music from text or a melody.

Spoken dialogue: Kyutai's Moshi uses its Mimi codec, 8 quantizers at 12.5 frames per second for 1.1 kbps, to model the user's and its own speech as parallel token streams, with a reported 200 ms practical latency.

神经音频编解码器的未来

Research on neural codecs is now driven as much by generative modeling as by compression. Lower frame rates mean shorter token sequences for a language model, which is why Kyutai's Mimi runs at 12.5 frames per second, compared with 75 for SoundStream and EnCodec. Distilling semantic information into the first codebook, as Mimi does with WavLM features, aims to give a single token stream that captures both what is said and how it sounds, whereas earlier audio language models such as AudioLM combined codec tokens with separate semantic tokens from a self-supervised speech model. Open problems include closing the remaining quality gap at full bandwidth, which the DAC authors noted still exists even at their highest bitrate, handling music, overlapping speakers and noisy recordings as well as clean speech, and keeping decoders cheap enough for phones and real-time calls. Standardization is another gap: traditional codecs are interoperable because their bitstreams are specified, while each neural codec currently needs its own decoder weights, so a stream encoded with one model cannot be decoded by another. The ability of codec-based language models to imitate a voice from a few seconds of audio has also raised questions about consent, watermarking and detection of synthetic speech. How well detectors and watermarks survive re-encoding by a different codec is an active research topic with no settled answer.

付诸实践

为什么这很重要

  • 交通与覆盖范围. 它通过转录、旁白和语音界面提高了可访问性。
  • 成本与预算. 媒体团队可以用更少的预算更快地交付精美的音频。
  • 速度与规模. 面向客户的系统可以处理更大规模的语音交互。

留意

  • 如果未征得同意,语音滥用和冒充风险就会增加。
  • 由于口音、方言或嘈杂的环境,准确性可能会下降。
  • 如果没有明确的标签,合成音频可能会被误认为是真实的语音。

后续步骤

  1. 获得语音捕获、克隆和重用的明确同意。
  2. 测试不同扬声器和背景条件下的质量。
  3. 定义人员必须审查或批准输出的时间。
  4. 标记合成音频并保留来源记录以供问责。

资料来源与延伸阅读

  1. arXivSoundStream: An End-to-End Neural Audio Codec
  2. arXiv高保真神经音频压缩
  3. arXivHigh-Fidelity Audio Compression with Improved RVQGAN
  4. arXivMoshi: a speech-text foundation model for real-time dialogue
  5. arXivNeural Codec Language Models are Zero-Shot Text to Speech Synthesizers
  6. arXiv (NeurIPS 2023)简单可控的音乐生成

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

参加神经音频编解码器测验

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是神经音频编解码器?

A neural audio codec is a pair of neural networks that compresses sound into a small stream of numbers and rebuilds the waveform from it. Systems such as Google's SoundStream (2021), Meta's EnCodec (2022) and Descript's DAC (2023) beat traditional codecs at low bitrates, and their discrete tokens are now the vocabulary that speech and music generators such as VALL-E, MusicGen and Moshi predict.

神经音频编解码器主要做哪两件事?

神经编解码器是一种编码器-解码器网络,它将波形压缩为紧凑的离散标记,然后从中重建音频。

哪种量化技术是 SoundStream 和 EnCodec 等编解码器的核心?

RVQ 堆叠多个码本,其中每个码本对前一个码本的残余误差进行编码,从而实现质量与比特率的权衡。

在残差矢量量化中,每个连续的码本编码什么?

第一个码本给出了粗略的近似值,后面的每个码本都会量化剩余的误差,添加更精细的细节。

为什么神经音频编解码器对于生成音频模型很重要?

编解码器产生的离散标记成为音频语言模型预测和生成的词汇。

在神经编解码器中使用更多的码本如何影响输出?

添加码本可以提高比特率,但可以捕获更多细节,从而提高保真度;使用更少的交易质量进行压缩。