Multitask Noisy Speech Enhancement System

- Speech band equalizer
- Dynamics processing
- Noise gate
- Signal level limiter
- Clipping restoration
- Noise reduction
- Noise whitening
- Blind deconvolution
- Spectrum analyser
- Time stretching
- Spectral expander
- Fourier corrector
- Neural network corrector
- Decorrelation
- Joint approximation
- Homomorphic approximation
- Reverberation
- Synchronisation
- Normalisation
Contact info

Neural network corrector

The neural network corrector removes or reduces impulse distortions (and other non-linear distortions) without affecting the speech signal (any linear or non-linear distortions introduced by this algorithm may be removed using the Fourier corrector module in the next stage of processing). A multi-layer, fully connected neural network is used in the algorithm as a neuropredictor. The number of network inputs is equal to the prediction order p. To obtain one predicted sample at the network output (the network has single output), p previous samples have to be fed to the network inputs.

The prediction is most accurate for those signal fragments that are similar to the examples used to train the neural network. If noise and distortions were used as an example, prediction error (the difference between the example signal and the network output signal) should be used to remove these distortions. This operation should be performed multiple times in order to obtain the processed signal without distortions.

Parts of the recording that contain noise and distortions representative for the recording should be selected and saved to a disk as the noise pattern, using the spectrum analyser module. The noise patterns are used as examples in neural network training, performed by external application using the back propagation error algorithm. The network automatically selects pairs of signal examples for each stage of training by determining minimum and maximum value of prediction error (best and worst processed signal fragments are found).

The basic mode of neural network corrector module enables the user to process the distorted speech recording. The only parameter set by the user is the gain (0-4.0, default value is 1.0). After listening to the processing results, the user has to decide whether the results are satisfactory (the signal may be further processed by other modules) or the neural network needs more training (the user needs to switch to advanced mode and prepare the network for training in the external application).