rnn-speech-denoising

March 11, 2013 ยท View on GitHub

Recurrent neural network training for noise reduction in robust automatic speech recognition.

Dependencies

The software depends on Mark Schmidt's minFunc package for convex optimization, available here: http://www.di.ens.fr/~mschmidt/Software/minFunc.html

Additionally, we have included Mark Hasegawa-Johnson's HTK write and read functions that are used to handle the MFCC files.

We used the aurora2 dataset available here: http://aurora.hsnr.de/aurora-2.html

Getting Started

A sample experiment is in train_aurora_local.m. You must change the first three paths at the top of the file before you can run it.

  • codeDir: This directory. Where the drdae code is
  • minFuncDir: Path to the minFunc dependency
  • baseDir: Where you want to run the experiment. As the experiment runs, intermediate models will be saved in a directory. For simplicity, we found it useful to create separate directories for each experiment There are a number of additional parameters to tune. A few important ones are:
  • dropout: Enable dropout
  • tieWeights: Enable tied weights in the network
  • layerSizes: The sizes of hidden layers in the network and the output layer
  • temporalLayer: Enables temporal connections in the RNN

Once you have all the parameters tuned, run 'matlab -r train_aurora_local.m'

Using Your Own Datasets

The code is written so that you can try out different datasets by just supplying a different loader. For an example, see load_aurora.m.