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.5K 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 (2024). G.723.1 Speech Coder and Decoder (https://www.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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

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