5.0

5.0 | 5 ratings Rate this file 47 Downloads (last 30 days) File Size: 833.54 KB File ID: #24755
image thumbnail

G.723.1 Speech Coder and Decoder

by Peter Kabal

 

16 Jul 2009 (Updated 10 Feb 2010)

Matlab implementation of ITU-T G.723.1 speech coder and decoder

| Watch this File

File Information
Description

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.

1. P. Kabal, ITU-T G.723.1 Speech Coder: A Matlab Implementation, TSP Lab Technical Report, Dept. Electrical & Computer Engineering, McGill University, updated July 2009 (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.

MATLAB release MATLAB 7.8 (R2009a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (12)
28 Sep 2009 Vlad

Nice job!

28 Dec 2009 Ibraheem

hi,
I get this error when I have tried to code a file.
====================
??? Error using ==> roots at 30
Input to ROOTS must not contain NaN or Inf.

Error in ==> poly2lsf at 33
if (max(abs(roots(a))) >= 1.0),

Error in ==> LPxLSFQ at 8
lsf = poly2lsf (ap); % lsf's are in radians

Error in ==> G7231Coder at 98
  LSFC = LPxLSFQ (a(:,LPpar.SFRef), CoderMem.lsfQ, LSFpar);
========================
the file is the same as the file in the TestFiles directory with these proprieties:
Bitrate=128 kbps
Audio Sample Size= 16 bit
Channels =1 (mono)
Audio Sample rate =8 KHz
Audio format = PCM

I wonder whats is the cause of the error ???

regards.

28 Dec 2009 Ibraheem

hi again,
after fight with the wav files i found that after i deleted the first half second the problem is solved. looks like it happens when we have no sound at the beginning of the file.
hope you can solve it with the next edition of your package.
you may try these data sets :
 http://www.itu.int/net/itu-t/sigdb/genaudio/AudioForm-g.aspx?val=1000050

regards,

09 Feb 2010 Peter Kabal

Hi Ibraheem,
G.723.1 only accepts 8 kHz sampling rate (the link in your message is to 16 kHz files). I will put an explicit check on the sampling rate if and when I update the code. I need to see an explicit case of a file that exhibits a problem with poly2lsf (Matlab build-in routine) to be able to diagnose the problem. I have not seen any problems with normal speech files (all files in the official G.723.1 test suite work).

19 Dec 2010 sepehr  
06 Jan 2011 g raja

Hi Kabal,

        In post filter folder, you have an option like SetPFpar to setting up the parameter values for PFpar. Similarly, How to setting up the FPmem vaules? Is there any provision for it?

Thanks,
G.Raja.

13 Feb 2011 Hasa ERKAN  
01 Mar 2011 MP Sivakumar

hi kabal,

thank you for the code. well i have one question. after implimentation of the coder the data is written to a structure. i want the data to be written to a row matrix, thereafter i will be implementing QPSK modulation to this data..can u help me out

01 Aug 2011 gomal university

hi!
thank u for providing the code but when i run, it doesn't work.
i am using Matlab 7 R14
can u please tell me the version u have used???
thank u

16 Sep 2011 memory

thanks a lot

06 Dec 2011 T.

Dear,

I processed a WAV file with 128.044 bytes (sampling frequency 8000Hz, 16 bits/sample, 64000 samples (8s)).
The compressed file has a size of 154.497 bytes, but it should have not more than 6.3kbits/s * 8 s / 8 bits/bytes = 6300 bytes, should it?
What went wrong?
Regards,

31 Jan 2012 memory

thank you, it helps me a lot in my master degree studies.

Please login to add a comment or rating.
Updates
10 Feb 2010

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

Tag Activity for this File
Tag Applied By Date/Time
speech coder decoder g7231 Peter Kabal 17 Jul 2009 10:03:34
voice codec g7231 Mtech Kundu 26 Apr 2010 02:53:56
speech coder decoder g7231 Zubair Rahat 25 May 2011 05:47:48
speech coder decoder g7231 gomal university 01 Aug 2011 04:23:14

Contact us at files@mathworks.com