Skip to content

SYSTEM Cited by 1 source

MLow codec

Definition

MLow (Meta Low Bitrate) is Meta's proprietary real-time communication audio codec, shipped across WhatsApp, Messenger, and Instagram calls. It is the codec Meta built to replace Opus at the low end of its operating envelope — not by moving to an ML-based codec like Encodec, but by pushing classic CELP (Code Excited Linear Prediction) DSP further with a split-band architecture and a range encoder on the output. Development ran from late 2021 to public announcement in mid-2024 (Source: sources/2024-06-13-meta-mlow-metas-low-bitrate-audio-codec).

Architecture

Per the post's block-level description (Figure 3):

  • Encoder. Raw PCM audio → split into low-band + high-band. Each band is encoded separately, with information shared across bands for better compression. The two band encodings are merged and passed through a range encoder for final entropy compression.
  • Decoder. Inverse: range-decode the payload, decode each band, recombine.
  • CELP foundation. Advances over baseline CELP are in excitation generation, parameter quantization, and coding schemes. The post does not disclose algorithmic specifics.
  • Split-band payoff. The high band can be encoded with very few bits, which lets MLow deliver SuperWideBand (32 kHz sampling) at much lower bitrate than Opus's WB mode at the equivalent operating point.

Operating envelope

  • 6 kbps WB → POLQA MOS 3.9. Two times the quality of Opus at the same bitrate (Opus 1.89 WB; Opus 6 kbps is only supported in NB mode).
  • ~10% lower computational complexity than Opus. The cross-the-board design goal: better quality, less compute.
  • 14 kbps with inband FEC at 30% packet loss. Opus cannot encode any inband FEC below 19 kbps, so this operating point is MLow-exclusive.
  • SuperWideBand at low bitrate. The 0–16 kHz audio band at bitrates where Opus is stuck in NarrowBand (0–4 kHz).

Design motivation

The motivation is low-end device inclusion under adverse-network conditions:

  • A significant share of Meta's call volume runs on degraded networks; the bandwidth estimation module pushes codec bitrate down during those calls.
  • Opus hits its NarrowBand floor at 6 kbps — inadequate for human voice.
  • >20% of Meta calls are on ARMv7 devices; 10s of millions of daily WhatsApp calls are on 10+-year-old handsets.
  • ML-based codecs (Encodec) achieve great quality at low bitrates but only on expensive flagships.

The constraint space forced the classical-DSP direction; see patterns/classic-dsp-over-ml-for-compute-constrained.

Deployment

  • Instagram calls — fully launched.
  • Messenger calls — fully launched.
  • WhatsApp calls — actively rolling out at the time of the post (2024-06-13).
  • Meta reports "incredible improvement in user engagement driven by better audio quality" but does not quantify the engagement metric.
  • End-to-end encryption preserved across the rollout.

Forward-error-correction headroom

Beyond quality, the lower bitrate floor unlocks more FEC room at network-adverse operating points (patterns/aggressive-fec-at-low-bitrate):

  • At 14 kbps total, MLow packs inband FEC; Opus cannot (needs ≥19 kbps even at 10% packet loss).
  • Future work explicitly targets "pumping out more redundant audio, which MLow allows us to do efficiently" — i.e. doubling down on this headroom.

Not disclosed

  • No bitstream syntax, excitation-generation method, or range-coder parameters.
  • No open-source indication.
  • No per-CPU latency or power figures.
  • No frame size, lookahead, or end-to-end latency numbers.

Seen in

Last updated · 319 distilled / 1,201 read