GHID audio AI

SoundStream Neural Audio Codec

SoundStream is a neural audio codec from Google Research, published in July 2021, that compresses speech, music and general audio with a learned encoder, a residual vector quantizer and a learned decoder.

Ascultă acest ghidNarativ AI · ~8 min

Pe această pagină9 min read
  1. Prezentare generală
  2. Concluzii cheie
  3. Scufundare în profunzime
  4. Working out SoundStream's bitrate from its settings
  5. Implementare în lumea reală
  6. The Future of SoundStream Neural Audio Codec
  7. Punând-o în practică
  8. Surse și lecturi suplimentare
  9. Continuați să explorați
  10. Întrebări frecvente

Prezentare generală

In listening tests it matched or beat traditional codecs at a fraction of their bitrate, and its discrete codes became a standard way to turn audio into tokens for generative models.

Concluzii cheie

  1. SoundStream is a Google Research neural audio codec from July 2021 that uses a convolutional encoder, residual vector quantization and a convolutional decoder.
  2. Its encoder turns 24 kHz audio into 75 embeddings per second, and each embedding is sent as a short list of codebook indices.
  3. Quantizer dropout lets one SoundStream model run anywhere from 3 to 18 kbps by using more or fewer quantizer layers.
  4. In listening tests SoundStream at 3 kbps outperformed Opus at 12 kbps and approached EVS at 9.6 kbps.
  5. Google's Lyra V2 codec and AudioLM generator both build on SoundStream, the first for calls and the second for audio tokens.

Scufundare în profunzime

A codec, short for coder-decoder, is software that shrinks audio for sending or storage and rebuilds it on the other side. Traditional speech codecs such as Opus and EVS are designed by hand using signal processing and models of human hearing. SoundStream, described by Neil Zeghidour, Alejandro Luebs, Ahmed Omran, Jan Skoglund and Marco Tagliasacchi of Google Research in a July 2021 paper, replaces those hand-built parts with neural networks trained end to end. It handles speech, music and general audio with one model and can stream, meaning it encodes and decodes as audio arrives rather than waiting for a whole file.

The pipeline has three parts. An encoder, a stack of one-dimensional convolutional layers, reads the raw waveform sampled at 24 kHz and downsamples it with strides of 2, 4, 5 and 8, producing one embedding vector for every 320 samples. That is 75 vectors per second, one every 13.3 milliseconds. A quantizer then replaces each vector with a short list of codebook indices, which is what actually gets transmitted. A decoder, built like the encoder in reverse with transposed convolutions, turns the indices back into a waveform. All three are trained together so that the output sounds like the input.

The quantizer is the key idea. Vector quantization maps a vector to the nearest entry in a learned codebook and sends only that entry's number. The paper shows why plain vector quantization fails at useful bitrates: at 6 kbps and 75 frames per second each frame gets 80 bits, which would require a codebook of 2 to the power 80 entries. SoundStream instead uses residual vector quantization (RVQ). The first quantizer picks the closest codebook entry, the difference between the vector and that entry, called the residual, goes to a second quantizer, its residual goes to a third, and so on. With 8 quantizers of 1,024 entries each, every quantizer spends 10 bits and the total is 80 bits per frame, using only 8,192 stored vectors in total.

Training combines two kinds of loss. A reconstruction loss compares spectrograms of the input and output at several time-frequency resolutions, and a feature loss compares how the discriminators respond to real and decoded audio. Adversarial losses come from discriminators, networks trained to tell real audio from decoded audio, which push the decoder toward natural-sounding output rather than a blurry average. A technique called quantizer dropout makes the bitrate adjustable: during training, the model randomly uses only the first n quantizers, so a single trained model can later run anywhere from 3 to 18 kbps, and the authors report negligible quality loss compared with models trained for one fixed bitrate.

The headline results come from crowd-sourced listening tests inspired by MUSHRA, a standard method in which listeners rate several versions of a clip against a hidden reference. On 200 clips of clean speech, noisy speech, reverberant speech and music, each rated 20 times, SoundStream at 3 kbps outperformed Opus at 12 kbps and approached EVS at 9.6 kbps, which Google's blog post describes as using 3.2 to 4 times fewer bits. The model also proved fast: on a single CPU thread of a Pixel 4 phone, the default configuration ran more than 2.3 times faster than real time, and a smaller version more than 7.1 times. Training used LibriTTS for clean speech, LibriTTS mixed with Freesound noise for noisy speech, and MagnaTagATune for music.

Compared with traditional codecs, SoundStream's strength is quality at very low bitrates and its ability to treat any kind of sound with one model. Its costs are the usual neural ones: it must be trained on large audio collections, and both ends must run the network rather than a compact hand-written algorithm. Compared with Google's first Lyra codec, an autoregressive generative model at 3 kbps, SoundStream is not autoregressive and was designed for low latency. Later codecs built on the same recipe include Meta's EnCodec, released in October 2022 for 24 kHz mono and 48 kHz stereo audio, and the Improved RVQGAN codec, which reports roughly 90 times compression of 44.1 kHz audio into 8 kbps.

The codec's limits are documented in its own paper and its successors. Quality falls as fewer quantizers are used, and latency is a trade-off: doubling the frame length to 26.6 ms requires 160 bits per frame for the same 6 kbps budget. Bitstreams are tied to a specific trained model, so both ends must run the same weights, unlike standardized codecs with fixed formats. The authors also note in the paper that PESQ and POLQA, the usual ITU-T quality metrics, are inconvenient to use because of licensing restrictions, so they relied on the open ViSQOL metric and human tests for evaluation.

SoundStream's second life is as an audio tokenizer. Because RVQ turns audio into a grid of discrete integers, those integers can be modeled like words. Google's AudioLM, announced in October 2022, uses SoundStream codes as acoustic tokens, generating them with language models and decoding them with the SoundStream decoder. In practice, developers who want SoundStream for calls can use Lyra V2, released under the Apache license in September 2022 for Android and Linux with experimental Mac and Windows support.

04Exemplu lucrat

Working out SoundStream's bitrate from its settings

  1. Start with the sample rate, 24,000 samples per second, and the encoder's total stride, 2 x 4 x 5 x 8 = 320.

  2. Divide to get frames per second: 24,000 / 320 = 75 embeddings each second, one every 13.3 ms.

  3. Pick a codebook size of 1,024 entries, which needs log2(1,024) = 10 bits per quantizer index.

  4. Choose 4 quantizer layers: 75 x 4 x 10 = 3,000 bits per second, or 3 kbps.

  5. Choose 8 layers instead: 75 x 8 x 10 = 6,000 bits per second, or 6 kbps.

  6. Choose 24 layers: 75 x 24 x 10 = 18,000 bits per second, the top of SoundStream's 3 to 18 kbps range.

Ce arată

The learner can now predict the bitrate of any RVQ codec from three numbers: frame rate, number of quantizers and bits per codebook. A check: Lyra V2's 3.2, 6 and 9.2 kbps modes are chosen the same way, by changing the number of quantizers used.

Implementare în lumea reală

Google's Lyra V2 speech codec, released as open source in September 2022, is built on SoundStream and offers 3.2, 6 and 9.2 kbps modes, with 20 ms latency and encoding plus decoding of a 20 ms frame in 0.57 ms on a Pixel 6 Pro.

Google's AudioLM, announced in October 2022, uses SoundStream codes as its acoustic tokens, generating speech and piano continuations as token sequences and then decoding them back to waveforms with the SoundStream decoder.

Low-bandwidth voice calls are the original target: the SoundStream paper reports that at 3 kbps it outperformed Opus at 12 kbps and approached EVS at 9.6 kbps in crowd-sourced listening tests on 24 kHz audio.

One SoundStream variant performs compression and background noise removal in the same model, switched on or off by a conditioning signal, so a call app could clean up speech without adding latency.

Meta's EnCodec (2022) and the Improved RVQGAN codec (NeurIPS 2023) follow the same encoder, residual quantizer and adversarial decoder recipe, the latter compressing 44.1 kHz audio about 90 times to 8 kbps.

The Future of SoundStream Neural Audio Codec

SoundStream's design has become a template. Meta's EnCodec (October 2022) and the Improved RVQGAN codec (NeurIPS 2023 spotlight) both pair a convolutional encoder and decoder with residual vector quantization and adversarial training, extending the idea to 48 kHz stereo and to roughly 90 times compression of 44.1 kHz audio. Lyra V2 (September 2022) showed that the approach can ship as an open-source, real-time product with 20 ms latency. The larger shift is that neural codecs now serve generative AI as much as communication. AudioLM (2022) treated SoundStream codes as a vocabulary for language models, and later speech and music generators adopted similar codec tokens. That raises open questions about how many tokens per second a generator should model, how to separate content from speaker identity, and how to keep codes useful for both compression and generation. Open problems for real-world use include robustness to unusual audio, fairness across languages and voices, interoperability, since each trained model defines its own bitstream, and evaluation, since the SoundStream authors relied on human tests and the open ViSQOL metric rather than licensed ITU-T scores. Detecting synthetic audio produced through codec-based generators is also an active area, as Google's AudioLM work noted with its own detection classifier.

Punând-o în practică

De ce contează

  • Acces și acoperire. Îmbunătățește accesibilitatea prin transcriere, narațiune și interfețe vocale.
  • Cost și buget. Echipele media pot livra audio mai rapid cu bugete mai mici.
  • Viteză și scară. Sistemele orientate către clienți pot procesa interacțiunile vorbite la scară mai mare.

Atenție la

  • Riscurile de utilizare greșită a vocii și uzurpare a identității cresc atunci când lipsește consimțământul.
  • Precizia poate scădea în accente, dialecte sau medii zgomotoase.
  • Audio sintetic poate fi confundat cu vorbire autentică fără etichetare clară.

Următorii pași

  1. Obțineți consimțământul explicit pentru captarea, clonarea și reutilizarea vocii.
  2. Testați calitatea pe diverse difuzoare și condiții de fundal.
  3. Definiți când un om trebuie să revizuiască sau să aprobe rezultatele.
  4. Etichetați sunetul sintetic și păstrați înregistrări de proveniență pentru responsabilitate.

Surse și lecturi suplimentare

  1. arXivSoundStream: An End-to-End Neural Audio Codec
  2. Google Research BlogSoundStream: An End-to-End Neural Audio Codec
  3. Google Open Source BlogLyra V2: a better, faster, and more versatile speech codec
  4. Google Research BlogAudioLM: a Language Modeling Approach to Audio Generation
  5. arXivHigh Fidelity Neural Audio Compression
  6. arXiv (NeurIPS 2023)High-Fidelity Audio Compression with Improved RVQGAN

Continuați să explorați

Buletin gratuit

Primește briefingul zilnic AI

Trei povești AI verificate în fiecare dimineață de zi lucrătoare, scrise în engleză simplă. Gratuit pentru totdeauna, fără reclame.

Un e-mail în fiecare zi lucrătoare. Dezabonare cu un singur clic. Nu vindem niciodată și nu împărtășim adresa ta.

Testează-te

Take the SoundStream Neural Audio Codec quiz

Feedback instantaneu la fiecare răspuns și un certificat partajabil cu un ID verificabil după ce parcurgi un curs.

Quiz Start

Susține educația AI gratuită. AI Understanding este o organizație nonprofit 501(c)(3) — fără reclame, fără barieră de plată, pentru totdeauna. Fă o donație

Întrebări frecvente

What is SoundStream Neural Audio Codec?

SoundStream is a neural audio codec from Google Research, published in July 2021, that compresses speech, music and general audio with a learned encoder, a residual vector quantizer and a learned decoder. In listening tests it matched or beat traditional codecs at a fraction of their bitrate, and its discrete codes became a standard way to turn audio into tokens for generative models.

Care trei componente alcătuiesc arhitectura SoundStream?

SoundStream este construit dintr-un encoder convoluțional, un cuantificator vectorial rezidual care discretizează înglobările și un decodor convoluțional, toate antrenate cap la cap.

Ce tehnică permite unui singur model SoundStream să servească mai multe rate de biți diferite, fără reinstruire?

În timpul antrenamentului, SoundStream elimină aleatoriu straturile de cuantificare, astfel încât, la deducție, puteți utiliza mai multe sau mai puține niveluri RVQ pentru a atinge diferite rate de biți de la un model.

În testele de ascultare ale lui Google, sa raportat că SoundStream la 3 kbps depășește ce codec la 12 kbps?

SoundStream la doar 3 kbps a egalat sau a depășit codecul Opus utilizat pe scară largă care rulează la 12 kbps în evaluările subiective ale calității.

Ce fel de semnal suplimentar de antrenament folosește SoundStream pentru a face ieșirea sunetului natural?

Dincolo de pierderile de reconstrucție, SoundStream folosește discriminatori adversari (GAN), astfel încât reconstrucțiile sună perceptiv realiste mai degrabă decât doar numeric apropiate.

Cum se raportează rata de biți a SoundStream cu cuantificatoarele sale?

Rata de biți se scalează odată cu numărul de straturi RVQ active (multit cu rata de cadre ori biți per carte de coduri), astfel încât adăugarea de cuantificatoare crește rata de biți și calitatea.