Denoiser

Denoiser component that implements the TinyDenoiser as an Audio Framework component. For more information on the TinyDenoiser see https://github.com/GreenWaves-Technologies/tiny_denoiser/

The component processes single channel floating point samples at 16kHz, applies the RNN filter and reconstruct the cleaned signal via overlap-and-add. The noisy signal is windowed (frame size of 25 msec with an hop lenght of 6.25 msec and Hanning windowing) and the STFT is computed. The RNN is fed with the magnitude of the STFT components and return a suppression mask. After weighting, the inverse STFT returns a cleaned audio clip.

Model and STFT settings

The model and STFT has been build with AutoTiler using these settings

H_STATE_LEN = 256 FRAME_SIZE = 400 FRAME_STEP = 100 FRAME_NFFT = 512

QUANT_TYPE = “mixedne16fp16” NN_TYPE = f16 RNN_TYPE_H = uint8_t RNN_TYPE_C = int16_t ZERO = 128

Inputs/Outputs

input
Single channel floating point input buffer containing the signal to be denoised.
Type: audio_buffer, float
output
Single channel floating point output buffer containing the denoised signal.
Type: audio_buffer, float

IMPORTANT LIMITATIONS

  • PC model is not included - this will be added in a later version

Tests

Both nonreg.py and gaptest are supported and can be run as usual.

Parameters

  • enable
    Enable/disable parameter for the denoiser. If disabled the input will be copied to the output
    Type: Integer
    Range: [0, 1]