Code covered by the BSD License  

Highlights from
LPC Vocoder

4.0 | 1 rating Rate this file 63 Downloads (last 30 days) File Size: 2.17 MB File ID: #45321 Version: 1.4
image thumbnail

LPC Vocoder



30 Jan 2014 (Updated )

Builds an LPC vocoder, i.e., performs LPC analysis and synthesis on a speech file

| Watch this File

File Information

Speech processing designates a team consisting of Prof. Lawrence Rabiner (Rutgers University and University of California, Santa Barbara), Prof. Ronald Schafer (Stanford University), Kirty Vedula and Siva Yedithi (Rutgers University). This exercise is one of a set of speech processing exercises that are intended to supplement the teaching material in the textbook “Theory and Applications of Digital Speech Processing” by L R Rabiner and R W Schafer.
This MATLAB exercise builds an LPC vocoder, i.e., performs LPC analysis and synthesis on a speech file, resulting in a synthetic speech approximation to the original speech. The LPC analysis uses a standard autocorrelation analysis to determine the sets of LPC coefficients, on a frame-by-frame basis, along with the frame-based gain, G. An independent analysis method (a cepstral pitch period detector) classifies each frame of speech as being either voiced speech (with period determined by the location of the cepstral peak in a designated range of pitch periods) or unvoiced speech (simulated by a random noise frame) designated as a frame pitch period of 0 samples. The independent analysis provides a two-state excitation function for the LPC synthesis part of the processing, consisting of a series of pitch pulses (during voiced frames) and/or noise sequences (during unvoiced frames).

Required Products MATLAB
MATLAB release MATLAB 8.0 (R2012b)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
06 May 2015 john2000

Hi guys,

Nice work!
However, I'm a bit confused with the way you estimate gain: G=sqrt(sum(A.*r));

Shouldn't it be estimated as
sqrt(A(1)*r(1)-sum(A(2:end).*r(2:end))) according to the theory?

I really appreciate any help you can provide.

Comment only
12 Apr 2015 siddhant sharma

kindly update the path-to-speech variable in pathnew_matlab_central.m
New versions of Matlab treat it as a negative sign.
Thank you for the download.

Comment only
22 Aug 2014 sairam

sairam (view profile)

hello guys can u please say me how to download it

Comment only
14 Mar 2014 María Claro

Thanks for your input

07 Feb 2014 1.1

Includes speech files fix

18 Apr 2014 1.2

code updates; Read_Me.txt setup file; pathnew_matlab_central example

03 Jun 2015 1.4

Updated to work with post-R2014b graphics

Contact us