Speech Recognition

Bernd Plannerer


 

  Workshop Feb. 2004
  Exercises using MATLAB

 

If you have a MATLAB license, you can use these files for your own experiments and to visualize the results to get a better understanding of the individual topics. All the files presented here are examples for specific topics of speech processing, - however, they are clearly not examples of good programming style :-)

This page is under construction. Your comments and complaints are always welcome.


Utility functions

The files below provide you with some utility functions needed in our examples. Please copy them into your working directory.

melfiltermatrix.m : Compute the matrix of mel filter coefficients given the sampling frequency, the length of the FFT and the number of desired mel filter channels.

mel2freq.m : Convert a frequency from mel scale to linear scale

freq2mel.m : Convert a frequency from linear scale to mel scale

loglimit.m : returns log(x) or log (limit) if x is below limit

 



Mel Spectral Coefficients

computeSpectrum.m : Compute the log power spectrum given the desired FFT length, the time shift of the analysis window and the speech signal.

computeMelSpectrum.m : compute the log mel spectral coefficients given the matrix of mel filter coefficients, the time shift of the analysis window and the time signal.

Display feature vectors
Using the above functions, record some seconds of speech and display the resulting sequences of features vectors (power spectrum, signal energy and Mel spectrum)
featuredisp.m
featuredisp.fig

 



Pattern Matching using the DP algorithm

The following functions show a straightforward implementation of the DP algorithm and how it is used for speech recognition

dp_asym.m : Perform the Dynamic Programming algorithm to compute the distance between the vector sequences X and Y.
Return the overall distance, the complete distance matrix and a matrix containing the optimum path, i.e. the "matching function".

Testing the DP algorithm:
dptest.m
dptest.fig record two speech signals, compute the mel spectral vector sequences X and Y and match them using the dp_asym function. Display the patterns and the matching function.

 



Speech Recognition examples

Some tools to build a (quite simple) speech recognizer!

 
 

Your comments are always welcome !
Home   Slides   Textbook