Skip to content

Noise Reduction Development Guide


The noise reduction (DENOISE) algorithm can effectively suppress steady-state noise while maintaining good noise suppression effects with minimal voice distortion. After enabling this feature, recognition performance can be improved by reducing steady-state noise. However, this function consumes 24KB of internal chip storage space and CPU bandwidth resources. This document mainly introduces the applicable scenarios of the noise reduction algorithm and how to enable this feature.


1. Noise Reduction Algorithm

  • The schematic diagram of the noise reduction algorithm application principle is as follows: human voice is the target voice signal A, noise and signal A are mixed in the application environment and enter the chip. The voice noise reduction algorithm can suppress the noise signal and improve the signal-to-noise ratio of signal A, thereby improving recognition performance.

  • The voice noise reduction algorithm currently provided by ChipIntelli is only suitable for steady-state noise and semi-steady-state noise.

语音降噪算法应用原理示意框图

Figure 1-1 Noise Reduction Algorithm Application Principle Schematic Diagram

2. Noise Reduction Algorithm Software Configuration

Users can open the ci_ssp_config.c file in the SDK package. The voice noise reduction algorithm has the following parameters available for user debugging:

denoise_config_t denoise_config =
{
    .start_Hz = 0,                        // Noise reduction start frequency in Hz
    .end_Hz = 8000,                       // Noise reduction end frequency in Hz
    .fre_resolution = 31.25f,             // Frequency resolution in Hz: 16000/256
    .aggr_mode = 1,                       // Algorithm processing effect level: 0, 1, 2, processing effect increases sequentially, distortion also increases
    .set_denoise_threshold = 3200,        // Default frame average amplitude >= 3200 takes effect
    .set_denoise_thr_window_size = 20     // Threshold judgment window length
};
The following figure shows a fitting relationship curve between the set_denoise_threshold value and the actual decibel value for user reference. The data in the figure often has errors with real measured data. Debugging personnel need to debug according to the actual noise environment to determine whether noise reduction should be performed under current noise conditions.

set_denoise_threshold值与实际分贝值的拟合关系曲线

Figure 2-1 Fitting Relationship Curve Between "set_denoise_threshold" Value and Actual Decibel Value

3. Noise Reduction Algorithm Software Debugging Instructions

  • The following figure shows the comparison effect of time-domain signals after real-time processing. In this figure, you can see the original left channel data (upper half) as a mixture of target voice and noise. After processing by the voice noise reduction algorithm, noise is suppressed and the signal-to-noise ratio of the target voice is improved (lower half).

录音板采音时域效果

Figure 3-1 Recording Board Audio Collection Time Domain Effect
  • The following is the frequency domain display of the same audio. This result is normal.

音频的频域显示

Figure 3-2 Audio Frequency Domain Display