Overview
DSP Concepts proprietary Single-Channel Noise Reduction. Version 1.
Discussion
DSP Concepts proprietary Single-Channel Noise Reduction module. This module works in conjunction with the WOLA filterbank modules. The module has a mono input pin and mono output pin. The input pin is mic input signal and output pin is stationary noise-suppressed signal.
...
The module estimates SNR and determins attenuation of each frequency from gain table.
Type Definition
Code Block |
---|
typedef struct _ModuleSCNRv1 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 minGaindB; // the minimum gain to be applied in dB FLOAT32 noiseAdjust; // noise level adjustment. FLOAT32 minGain; // the minimum gain to be applied in linear. FLOAT32 attackTime; // Internal coefficient realizing the attack time. FLOAT32 attackCoeff; // Internal coefficient realizing the attack time. FLOAT32 freq1; // Internal coefficient realizing the attack time. FLOAT32 b0_1; // Desired first numerator coefficient. FLOAT32 b1_1; // Desired second numerator coefficient. FLOAT32 a1_1; // Desired second denominator coefficient. FLOAT32 freq2; // Internal coefficient realizing the attack time. FLOAT32 b0_2; // Desired first numerator coefficient. FLOAT32 b1_2; // Desired second numerator coefficient. FLOAT32 a1_2; // Desired second denominator coefficient. FLOAT32 ppriorTimeConst; // Internal coefficient realizing the attack time. FLOAT32 ppriorEta; // Internal coefficient realizing the attack time. FLOAT32* pxState; // Sb smoothing state for Px computation. FLOAT32* pshatState; // Sb smoothing state for Ps_hat computation. FLOAT32* gainState; // Sb smoothing state for gain computation. FLOAT32* pnEnvState; // Attack release env state for Pn computation. FLOAT32* prevPsHat; // Feedback memory. } ModuleSCNRv1Class; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
minGaindB | float | parameter | 0 | -15 | -15:1:0 | dB |
noiseAdjust | float | parameter | 0 | 0.5 | 0.01:0.01:1 | |
minGain | float | derived | 1 | 0.17783 | Unrestricted | |
attackTime | float | const | 1 | 2000 | Unrestricted | |
attackCoeff | float | derived | 1 | 1.0417e-05 | Unrestricted | |
freq1 | float | const | 1 | 12 | Unrestricted | |
b0_1 | float | derived | 1 | 0.00078478 | Unrestricted | |
b1_1 | float | derived | 1 | 0.00078478 | Unrestricted | |
a1_1 | float | derived | 1 | 0.99843 | Unrestricted | |
freq2 | float | const | 1 | 5 | Unrestricted | |
b0_2 | float | derived | 1 | 0.00032714 | Unrestricted | |
b1_2 | float | derived | 1 | 0.00032714 | Unrestricted | |
a1_2 | float | derived | 1 | 0.99935 | Unrestricted | |
ppriorTimeConst | float | const | 1 | 311.9 | Unrestricted | |
ppriorEta | float | derived | 1 | 0.99993 | Unrestricted | |
pxState | float* | state | 1 | [1 x 32] | Unrestricted | |
pshatState | float* | state | 1 | [1 x 32] | Unrestricted | |
gainState | float* | state | 1 | [1 x 32] | Unrestricted | |
pnEnvState | float* | state | 1 | [1 x 32] | Unrestricted | |
prevPsHat | float* | state | 1 | [1 x 32] | Unrestricted |
Pins
Input Pins
Name: in
Description: Audio input
...
Sample rate range: Unrestricted
Complex support: Complex
Output Pins
Name: out
Description: audio output
Data type: float
MATLAB Usage
File Name: scnr_v1_module.m
...