CouthIT’s noise suppression module enhances the speech signal by suppressing stationary and non-stationary background noises and other perceivable distortions with minimal degradation in the speech quality. It operates on 16-bit PCM speech signals obtained from a single microphone, sampled at 8 khz or 16 khz, and generates an output speech signal with improved SNR and speech intelligibility. The algorithm can handle various dynamic noise environments (such as multi talker babble, car, street etc.) irrespective of variations in noise types or noise levels. The noise suppression module can be used in wireless and VoIP applications, digital hearing aids, tele-conferencing systems, speaker verification and speech recognition applications.

  • Based on the Spectral Subtraction algorithm.
  • Fixed-point ANSI C implementation.
  • Re-entrant implementation
  • C-callable APIs
  • Operates on 16-bit PCM speech signals sampled at 8 khz (narrow-band) or 16 khz (wide-band).
  • Uses a high performance internal voice activity detector (VAD).
  • Noise update is independent of VAD output.
  • Lookahead delay is 5 ms for narrow-band mode and 10 ms for wide-band mode.
  • Identifies and suppresses all types of stationary and non-stationary noises as well as mixed noise conditions.
  • Fast convergence and adaptation times for non-stationary noises (0.4 – 0.6 sec).
  • Provides better objective evaluation scores when compared to EVRC and Speex noise suppression algorithms.
  • Does not introduce any degradation in case of clean input speech samples.
  • Optimized for low memory foot print and low complexity.
  • Tested using a large database of narrow band and wide band speech and noise test vectors.
  • Tested using babble, car, street, and a combination of stationary and non-stationary background noises.
  • Tested using different speech and noise levels.
  • Performance benchmarked using objective evaluation measures such as segmental SNR, Log Likelihood Ratio, and Weighted Spectral Slope.
  • Tested for graceful exit in case of errors or exception.
  • Module is fully interruptible.
  • ARM implementation tested for any illegal memory access.
  • Tested for compliance with register preservation requirements
  • Tested for Input buffer corruption
  • Tested for I/O buffer alignment requirements
  • Tested for multi-instance implementation.
  • Tested with scratch contamination at frame boundaries
  • Tested for 100% code coverage
  • Range validation of all API parameters.
  • ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467/OMAPL138 (ARM926EJ-S) platforms.

ARM9E, ARM11, Cortex-A8, and Cortex-A9

For datasheet with resource usage details