PCMFlowG722 es un módulo complementario opcional para PCMFlow que implementa el códec G.722 de banda ancha (voz HD) sobre infraestructuras de voz en tiempo real basadas en radio por paquetes o redes IP. Está orientado a aplicaciones como VoIP, enlaces de voz sobre ESP-NOW, WebSocket o UDP en microcontroladores de 32 bits.
El códec G.722, estandarizado por la ITU-T en 1988 y libre de patentes, transporta audio de 7 kHz muestreado a 16 kHz con un caudal de 64 kbps — el mismo presupuesto de bits que G.711, lo que implica el mismo tamaño de paquete por trama pero el doble de ancho de banda audible. En la práctica, un cuadro de voz G.722 de 20 ms a 16 kHz ocupa exactamente 160 bytes, frente a los 640 bytes del PCM crudo de 16 bits, lo que supone una compresión 4:1.
El núcleo del códec proviene de la biblioteca de dominio público sippy/libg722 (Steve Underwood, con contribución de CMU), envuelta tras las interfaces PCMSource y PCMSink de PCMFlow. La versión 0.1 expone únicamente el Modo 1 (64 kbps), el empleado por el tipo de payload RTP 9 y por la práctica totalidad de despliegues reales; los modos 2 y 3 quedan pospuestos, igual que el soporte de contenedor WAV (WAVE_FORMAT_G722) y los apéndices III/IV para ocultación de pérdida de paquetes.
En hardware, el consumo previsto del códec ronda los 12 KB de Flash y 512 B de RAM por sentido. Los destinos prácticos incluyen las familias ESP32 (incluidos S3, C3, C6 y P4), RP2040 y RP2350, Teensy 4.x, STM32 F4+ y nRF52. Los AVR (Uno, Mega, Nano), con apenas 2 KB de SRAM, quedan descartados por los requisitos de estado ADPCM y búferes intermedios.
PCMFlowG722 forma parte de una familia de códecs opcionales. Frente a G.711 (banda estrecha, <4 KB de Flash) y Opus (mayor eficiencia o audio de banda completa), G.722 es la opción adecuada cuando se dispone de 64 kbps de presupuesto en la radio o red y se prioriza la inteligibilidad y la presencia de la voz. La licencia es MIT para el código propio y de dominio público o avisos permisivos compatibles MIT para el núcleo libg722 vendoreado, sin atribuciones adicionales para el usuario final.
El repositorio incluye un ejemplo completo de transceptor extremo a extremo (micrófono ↔ ESP-NOW ↔ DAC) y una suite de pruebas con pytest-embedded y Arduino CLI en perfiles host y ESP32.
