(Apologies if this question is not specific enough.) I am researching parsing strategies in noisy environments, and how noise changes these strategies. Ultimately I would like to understand how noise changes the predictions of a language model. One place I want to start my research is in ASR, and understand what adjustments these systems make to deal with noise. What are these general strategies?
2 Answers
In my experience, speech-recognition systems do quite a bit of preprocessing on the signal before trying to interpret it; part of that is getting rid of the noise.
The key is, most speech signals are periodic: the vocal folds generate a sawtooth-esque wave, and the vocal tract then applies a filter to it. So all voiced sounds(*) have a very predictable periodicity that can be exploited.
Noice, on the other hand, is aperiodic by definition. So the noise and the signal tend to be nicely separate in frequency space, and a low-pass filter can purge one while leaving the other intact. (Other approaches include convolution filters, which "smooth out" the waveform, and wavelet filters, which try to preserve sharp peaks and edges in the signal.)
(*) The key here is "voiced"—voiceless sounds, and voiceless fricatives especially, and voiceless sibilant fricatives worst of all, are pretty much pure noise. But they're noise that's much louder than the background noise, so they can survive most de-noising filters pretty much intact (if a bit beaten up and scarred).
Robust speech recognition is a huge area with lots of research papers. You can start from a textbook by Microsoft: