The G.722 module is a bit exact implementation of the ITU G.722 specification for all three specified bit rates - 64000bps, 56000bps and 48000bps. It passes the ITU tests.
To allow fast and flexible interworking with narrow band telephony, the encoder and decoder support an option for the linear audio to be an 8k samples/second stream. In this mode the codec is considerably faster, and still fully compatible with wideband terminals using G.722.
The code was originally written by Milton Anderson [email protected] from BELLCORE, and has been modified by the Chengxiang Lu and Alex Hauptmann from the Speech Group, School of Computer Science, Carnegie Mellon University, to be fairly fast and efficient, while retaining high fidelity.
Steve Underwood [email protected] improved the code a lot later on and contributed it into several popular open source projects.
Himanshu Soni [email protected] has adjusted some coefficients to avoid over/under-flows in the decoder.
Phil Schatzmann [email protected] has added cmake-glue and Arduino support.
Librarized by Sippy Software, Inc.
git clone https://github.com/sippy/libg722.git
cmake -B libg722/build -S libg722
make -C ibg722/build clean all test install
pip install G722
git clone https://github.com/sippy/libg722.git
pip install libg722/
ARG BASE_IMAGE=debian:sid-slim
ARG LIBG722_IMAGE=sippylabs/libg722:latest-debian_sid-slim
FROM ${LIBG722_IMAGE} AS libg722
FROM ${BASE_IMAGE} AS build
COPY --from=libg722 /usr/local/lib/libg722.* /usr/local/lib/
COPY --from=libg722 /usr/local/include/g722* /usr/local/include/
This code is mostly Public Domain. Library test code is under BSD 2-clause license.
See LICENSE for copyright details and each individual file for specifics.