MLow audio codec¶
Encodings - mlow
ENC-01 - status: review - audio
WhatsApp's low-bitrate split-band CELP speech codec ("SMPL") that reuses the Opus/CELT range coder for entropy coding.
- Decode an MLow payload as split-band CELP. Output is 16 kHz PCM.
- Entropy layer is the Opus/CELT range coder verbatim: read symbols from the front of the buffer, raw bits from the back.
- Run the decode schedule in this order: TOC/frame parse; RED de-packetization; range-coded LSF -> LPC; excitation pulses; gains; pitch/LTP; CELP synthesis; harmonic and HP post-filters; comfort-noise generation.
- MLow is a registered decoder alongside Opus; codec selection is signalled in the offer (see call-offer).
- The neural companion post-filter is OPTIONAL; not required for intelligible audio.
Breakdown: mlow-decoder, mlow-encoder, mlow-excitation, mlow-frame, mlow-lsf-lpc, mlow-noise, mlow-postfilter, mlow-rangecoder, mlow-red-fec, mlow-vad, opus
Implemented by
| Flavor | Status | Source | Notes |
|---|---|---|---|
whatsapp-rust |
working | history - blame - commits 674e851 |
— |
meowcaller |
partial | history - blame - commits 70af250 f7103c5 b0fe93c e362783 8b5ad0b 72d8a03 |
receive DSP largely KAT-verified; CELP synth + decoder orchestration in progress |
Annotation wacrg:ENC-01 — a flavor marks its implementation site in source with this comment; a script clones the source, finds it, and attaches the commit blame/permalink.
Contributors
| Contributor | Role |
|---|---|
| wrote initial spec |
protocol history / diff - blame
References - RFC 6716 — Opus
Changelog¶
- 2026-06-21 — Initial spec entry.