f



PLP - source code and tutorial

Hi every one,
   I am new to the group. Can I know that where would I find the source
code of PLP (by Hermansky) preferably in C++ or else in C. Can someone
refer me to a nice tutorial as well? (which both explains the
algorithmic details and deployment issues).

Regards
Adil Raja

0
Raja
9/28/2005 10:45:45 AM
comp.speech.research 1026 articles. 0 followers. Post Follow

8 Replies
776 Views

Similar Articles

[PageSpeed] 56

"Raja" <adilraja@gmail.com> writes:

>    I am new to the group. Can I know that where would I find the source
> code of PLP (by Hermansky) preferably in C++ or else in C. Can someone
> refer me to a nice tutorial as well? (which both explains the
> algorithmic details and deployment issues).

The definitive source code is wrapped up with the RASTA PLP package and
can be found at http://www.icsi.berkeley.edu/ftp/global/pub/speech/rasta/

HTK implements a version of PLP http://htk.eng.cam.ac.uk

The original paper is Hermansky, H. "Perceptual linear predictive (PLP)
analysis of speech" J.Acoustic. Soc. America, vol.87 no.4, Apr 1990
(which is not in citeseer). 

It's not that difficult to implement and it consistently outperforms MFCC.

Hope that helps.


Tony
0
tony
9/28/2005 4:38:17 PM
Thanx tony.
   I want to try this (PLP) algorithm for VoIP. Does someone has any
idea about the issues. Can someone refer some papers? I want to look
into things such as implementation issues and factors specific to VoIP.
Such as effects of packet loss, Bursty traffic, and delayed arrival of
frames?

Thanx

0
Raja
9/30/2005 4:16:03 PM
One more thing,
   Is there a way to compile RASTA on windows? Please if there is some
sequence of steps then let me know.

Regards,
Adil Raja

0
Raja
9/30/2005 7:31:31 PM
"Raja" <adilraja@gmail.com> writes:
>
>    I want to try this (PLP) algorithm for VoIP. Does someone has any
> idea about the issues. Can someone refer some papers? I want to look
> into things such as implementation issues and factors specific to VoIP.
> Such as effects of packet loss, Bursty traffic, and delayed arrival of
> frames?

What are you trying to achieve and in what timeframe?

I'd guess that you are thinking of taking a standard VoIP codec and
replacing the quantised LP coefficients with a PLP version - am I right?
If so - which codec?  What are the existing issues and solutions with
packet loss, bursty traffic, and delayed arrival of frames?  And how do
you expect that PLP will improve things?  You'll need to invert the PLP
coefficients - there are very good pages on the reconstruction of speech
spectra at http://www.ee.columbia.edu/~dpwe/resources/matlab/rastamat/

Good luck,


Tony

0
tony
10/6/2005 8:22:02 AM
Tony,
   Thanx for the feed back.
I'd guess that you are thinking of taking a standard VoIP codec and
replacing the quantised LP coefficients with a PLP version - am I
right?

First thing. I want to use the PLP analysis as a speaker independent
speech recognition tool and not a speech synthesis tool.

I want to use it for VoIP. I have been on the link u specified to me
before. The problem is that the matlab code doesnt work actually for
me. Some functions like specgram() give errors. But thanks anyway.

But if I could get a good tutorial on PLP from some where it would be
really nice. Specially as an ASR technique.

0
Raja
10/12/2005 10:56:27 AM
Hi Raja,

> First thing. I want to use the PLP analysis as a speaker independent
> speech recognition tool and not a speech synthesis tool.

Great - that is what it was designed for. 

> I want to use it for VoIP.

I don't yet understand how you want to use it for VoIP - but never mind
for now.

> I have been on the link u specified to me before. The problem is that
> the matlab code doesnt work actually for me. Some functions like
> specgram() give errors. But thanks anyway.

Ah - okay - I use Octave not Matlab so I haven't run it either (but the
author is an expert in this area so I'm sure it is very good code).

> But if I could get a good tutorial on PLP from some where it would be
> really nice. Specially as an ASR technique.

Well I've done a few implementations.  There are some old course notes
of mine at http://svr-www.eng.cam.ac.uk/~ajr/SpeechAnalysis/node52.html
(and a bit of googling alsog gives
http://www.mor.itesm.mx/~omayora/Tutorial/node20.html) which may help -
or hinder as it's actually much simpler than that.

a) window your speech - say with a 25ms hamming window advanced by 10ms
b) compute the DFT of the window
c) convert to a power spectrum
d) bin the power spectrum with triangular bins on a mel scale
e) take the cube root of each bin to simulate "loudness"
f) inverse DFT to get something like autocorrelation coefficients
g) convert these to ceptsra

Don't bother with the "Equal loudness preemphasis" in the orignal paper
and my notes - it isn't worth it.  Also the original paper used very
overlapping filters when narrower ones work better.  There is a good
summary of most of the techniques needed at
http://htk.eng.cam.ac.uk/prot-docs/HTKBook - indeed the PLP code here is
almost as good as you'll get.  You need to register for that site (it's
free).

How much of this are you happy with?


Tony

0
tony
10/12/2005 6:08:00 PM
Hi all (Specially Tony:)),
   I have compiled the source code for PLP (the C code) under Linux
available from the UC berkley web site. It has compiled well. But I
dont really have any idea as to how I should work with it? Does someone
know of some demos i can use to get a hand on the tool?

Regards 
Adil Raja

0
Raja
10/17/2005 3:46:16 PM
"Raja" <adilraja@gmail.com> writes:

>    I have compiled the source code for PLP (the C code) under Linux
> available from the UC berkley web site. It has compiled well. But I
> dont really have any idea as to how I should work with it? Does someone
> know of some demos i can use to get a hand on the tool?

I used to use it all the time - but that was a long time ago.

I don't have time to look into this this right now, but my best guess is
that http://www.icsi.berkeley.edu/~dpwe/projects/sprach/sprachcore.html
contains good examples of sensible usage.


Tony
0
tony
10/18/2005 7:10:12 AM
Reply: