G.723.1 Speech Coder and Decoder

Version 3.0.0 (1.94 MB) by Peter Kabal
Matlab implementation of ITU-T G.723.1 speech coder and decoder
7.6K Downloads
Updated 8 Dec 2020

View License

This package implements the ITU-T G.723.1 speech coder and decoder in Matlab. The goal of the package is to provide a well-documented and modular program that was designed to facilitate experimentation and research using a practical coder as a base.

The coder implements the multipulse mode of G.723.1 (running at 6.3 kb/s). The decoder can decode all modes of the coder (ACELP at 5.3 kb/s, multipulse at 6.3 kb/s, discontinuous-transmission, packet loss concealment).

The standard interface between the coder and decoder is a bit file (compatible with the bit files generated by the ITU-T reference code). A second option passes information between the coder and decoder using a Matlab data file. This option allows for testing by passing quantized or unquantized information between the coder and the decoder.

A report [1] describing the G.723.1 and the Matlab implementation is included with the distribution. ITU-T Recommendation G.723.1 [2] is available on-line. The recommendation includes reference code (in C) and test files.

Version 3 of the package (Dec. 2020) updates the audio file reading routines to use newer Matlab functions. This package has been tested on Matlab 2015b and later versions.

1. P. Kabal, ITU-T G.723.1 Speech Coder: A Matlab Implementation, MMSP Lab Technical Report, Dept. Electrical & Computer Engineering, McGill University, updated December 2017 (available on-line at http://www-mmsp.ece.mcgill.ca/Documents)

2. ITU-T Recommendation G.723.1, Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s, March 1996.

Cite As

Peter Kabal (2026). G.723.1 Speech Coder and Decoder (https://ch.mathworks.com/matlabcentral/fileexchange/24755-g-723-1-speech-coder-and-decoder), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with R2015b and later releases
Platform Compatibility
Windows macOS Linux

G.723.1-v3/G.723.1

G.723.1-v3/G.723.1/ACB

G.723.1-v3/G.723.1/ACB/private

G.723.1-v3/G.723.1/ACELP

G.723.1-v3/G.723.1/ACELP/private

G.723.1-v3/G.723.1/Audio

G.723.1-v3/G.723.1/BitStream

G.723.1-v3/G.723.1/BitStream/private

G.723.1-v3/G.723.1/CNG

G.723.1-v3/G.723.1/CNG/private

G.723.1-v3/G.723.1/DataFile

G.723.1-v3/G.723.1/Filter

G.723.1-v3/G.723.1/LP

G.723.1-v3/G.723.1/LP/private

G.723.1-v3/G.723.1/Misc

G.723.1-v3/G.723.1/MultiPulse

G.723.1-v3/G.723.1/MultiPulse/private

G.723.1-v3/G.723.1/PLC

G.723.1-v3/G.723.1/PostFilter

G.723.1-v3/G.723.1/Tables/Convert

G.723.1-v3/G.723.1/Target

G.723.1-v3/G.723.1/Target/private

G.723.1-v3/G.723.1/test

G.723.1-v3/G.723.1/test/private

Version Published Release Notes
3.0.0

v3 uses audiowrite/audioread

1.1.0.0

Small changes:
- Check for 8 kHz sampling, error if not
- All zero frames: set the LP coefficients to [1, 0, ..., 0].

1.0.0.0