Recurrent neural network training for noise reduction in robust automatic speech recognition
Matlab M
Latest commit 55edd5b Jun 5, 2014 @amaas Update drdae_obj.m
removed no op -1

README.md

rnn-speech-denoising

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.