Skip to content
Tech News
← Back to articles

PCMFlowG722 wideband (HD voice) codec for ESP32

read original get ESP32 Audio Development Kit → more articles
Why This Matters

The PCMFlowG722 codec introduces HD voice capabilities to ESP32-based communication systems, enabling high-quality, wideband audio over various network protocols without licensing fees. This advancement enhances real-time voice applications, making them more accessible and efficient for developers and consumers alike.

Key Takeaways

PCMFlowG722

Optional G.722 wideband (HD voice) codec add-on for PCMFlow, aimed at real-time two-way voice over packet radio / network — VoIP, ESP-NOW transceivers, WebSocket / UDP voice links.

G.722 carries 7 kHz audio at 16 kHz sampling using the same 64 kbps wire budget as G.711 — same packet size, twice the audio bandwidth. The codec core is the public-domain sippy/libg722 (Steve Underwood / CMU); this library wraps it behind PCMFlow's PCMSource / PCMSink interfaces.

PCMFlowG722's own code is MIT. The vendored upstream is Public Domain (Steve Underwood's contributions) + a permissive CMU notice, both MIT-compatible — see src/external/LICENSE_libg722.md .

See SPEC.md for the full specification.

What's inside

Class Direction Carrier Interface G722Encoder PCM (16 kHz) → G.722 byte raw bytes (RTP / ESP-NOW / UDP / WebSocket) PCMSink G722Decoder G.722 byte → PCM (16 kHz) raw bytes PCMSource

Two PCM samples map to exactly one G.722 byte. v0.1 exposes only Mode 1 / 64 kbps (the rate used by RTP payload type 9 and essentially all real deployments). Mode 2 / 3 are deferred — see SPEC §"Deferred features".

WAV-container support ( WAVE_FORMAT_G722 ) and G.722 Appendix III/IV PLC are intentionally out of scope for v0.1.

PCMFlow codec family {#pcmflow-codec-family}

... continue reading