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