Multitask Noisy Speech Enhancement System

www.denoise.net

Overview
Example
Restorer
- 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
Recorder
Browser
- Synchronisation
- Normalisation
Contact info

Blind deconvolution

The blind deconvolution module removes linear distortions introduced to the signal by the transmission channel. These distortions modify the signal spectrum: some frequency bands are amplified and other bands are attenuated. This results in unnaturally sounding speech.

The blind deconvolution module uses the same algorithm as the noise whitening module. The main difference is that a speech signal (the pattern) is used in the processing instead of part that contains only noise. Ideally, the pattern should contain only speech signal from the same speaker as in the processed recording and it should not contain any noise. The aim of the processing is to match the spectrum of the parts of recording that contain speech signal to the spectrum of the pattern.

The algorithm works as follows:

  • the averaged and smoothed spectrum of the speech pattern is calculated;
  • parts of the recording that contain speech signal are detected and segmented;
  • the averaged and smoothed spectra of each detected section of recording are calculated;
  • the inverse transfer function of the transmission channel is calculated for each section;
  • the signal is filtered.

The averaging of the noise spectrum may be described by the equation:


The equation above describes power spectrum estimate. Power spectrum of the stationary random signal xn is related to the correlation by discrete Fourier transform:

Average signal power, limited by Nyquist frequency, is given by:

and power spectral density (PSD) is:


Practically, averaged spectrum is obtained by calculating the spectra of the segmented signal (segments may overlap and they may be time-weighted using windows). The averaged signal spectrum is the average spectral energy from all segments. Spectrum in each segment is calculated using the discrete cosine transform. Averaged spectrum is additionally smoothed using the moving average filter in cepstrum domain in order to avoid extreme variations of spectrum magnitude.

Before the user starts the processing with the blind deconvolution module, noise pattern has to be selected and opened in the application from a separate sound file. The following module parameters may be set by the user during the processing.

  • Filtering depth - for low values signal is hardly altered, for high values - signal spectrum becomes very similar to the spectrum of the pattern. It is recommended to start processing with setting this parameter to the middle value (50%).
  • High-pass filter cut-off frequency - spectral components below that frequency will be filtered.
  • Stop-band amplification - level of the signal components below the cut-off frequency after filtering (0%: spectral components below cut-off frequency are removed, 100%: no filtering).
The high-pass filter is useful if the low-frequency distortions are present in the recording.

To obtain best results using this module it is recommended to make, if possible, separate recording of the speaker present in the restored recording, in low noise environment, using high quality microphone and recorder.