About This Application Note
The Single-Channel Noise Reduction V4 Reusable Subsystem Application Note contains a brief description and tuning instructions for DSP Concepts’ single-channel noise reduction version 4 (SCNRv4) Reusable Subsystem.
SCNRv4 - Single-Channel Noise Reduction Version 4 Reusable Subsystem
SCNRv4 is the 4th version of DSP Concepts’ proprietary single-channel noise reduction algorithm. It is available as a Reusable Subsystem in AWE Designer.
The SCNRv4 algorithm estimates the stationary-noise level of its incoming signal and uses that estimate to calculate and apply gain coefficients to suppress the estimated noise. It is effective for improving the signal-to-noise (SNR) ratio for non-stationary signals, such as speech, when stationary noise, such as fan noise or automotive road noise, is present. SCNRv4 works for single-channel input signals in the WOLA domain and with all sampling rates and block sizes.
Figure 1 shows an example layout demonstrating the SCNRv4 Reusable Subsystem. This example layout is designed to run in Native Mode with a file input; audio signals must be assigned to appropriate channels for running the layout on a target device. The example file input contains speech on the first channel and babble noise on the second channel.
A ScalerN module for adjusting the unprocessed SNR is located before the Adder module which combines the signal and noise to a single channel. There is a 200 Hz high-pass filter applied before the WOLAAnalysis module for filtering out low-frequency noise that may not contain signal content of interest. A Scaler module for gain compensation is located after the SCNRv4 Reusable Subsystem.
The SCNRv4 Reusable Subsystem includes an inspector window which allows users to tune the noise estimation and gain calculation processes. Figure 2 shows the inspector panel of the SCNRv4 Reusable Subsystem.
The Noise Adjust parameter is an offset value which is added to the estimated noise level. The estimated noise level is prone to be lower than the actual noise level. By setting the Noise Adjust parameter to a positive number, the noise estimation algorithm will bias the estimated noise level to be higher. This will yield more aggressive noise suppression, although it may also yield a higher risk of signal distortion.
The Noise Floor parameter defines the minimum allowable value in dB for the estimated noise level.
The estimated noise levels for each frequency bin can be smoothed out using cross-bin averaging in logarithmic groupings. The Noise Smooth Octave parameter defines how may octaves the averaging should span. Smoothing can be disabled by setting the Noise Smooth Octave parameter to 0.
The Noise Tracking Speed parameter controls the rate at which the noise estimation algorithm reacts to changes in the actual noise level. The noise estimation algorithm will react to increases in the actual noise level slower than decreases in the actual noise level. The Noise Tracking Speed value ranges from 0 to 2, with 0 yielding the slowest tracking speed and 2 yielding the fastest tracking speed. The Noise Tracking Speed is set to 1 by default.
The Sensitivity parameter controls the sensitivity of the noise estimation algorithm to small fluctuations in the actual noise level. The Sensitivity value ranges from 0 to 2, with 0 yielding the minimum sensitivity and 2 yielding the maximum sensitivity. The Sensitivity is set to 1 by default.
DSP Concepts recommends tuning the Noise Adjust, Noise Tracking Speed, and Sensitivity parameters in conjunction to achieve the desired processing behavior.
The Minimum Gain parameter is a negative number that defines the maximum allowable attenuation in dB for each frequency bin. DSP Concepts recommends initially using the default value of -12 dB. Increasing the magnitude of the Minimum Gain value will yield more aggressive noise suppression, although it will also yield a higher risk of musical noise.
The calculated gain coefficients for each frequency bin can be smoothed out using cross-bin averaging in logarithmic groupings. The Gain Smooth Octave parameter defines how many octaves the averaging should span. Higher smoothing of the gain coefficients may yield a flatter attenuation curve across the frequency spectrum. Smoothing can be disabled by setting the Gain Smooth Octave parameter to 0.
The Time Alpha Priori parameter controls the rate at which the gain calculation algorithm reacts to changes in the recursively estimated SNR level. The default value is 250 milliseconds. Higher values may yield a lower risk of musical noise but a higher risk of distorting transient signals.
Users can revert the SCNRv4 Reusable Subsystem to a regular subsystem by right-clicking on an instance of it on the AWE Designer canvas and selecting Revert To Subsystem. Right-clicking on the regular subsystem and selecting Navigate In will reveal the internal SCNRv4 processing implementation and allow users to adjust the NoiseTracking module’s ctrlPinsEnable and noiseLevelInitdB arguments which cannot be controlled when SCNRv4 is in Reusable Subsystem format. Figure 3 shows the internal SCNRv4 processing layout.