Noise Suppression C++* Demo

This README describes the Noise Suppression demo application.

How It Works

On startup the demo application reads command line parameters and loads a model to OpenVINO™ Runtime plugin. It also read user-provided sound file with mix of speech and some noise to feed it into the network by small sequential patches. The output of network is also sequence of audio patches with clean speech. The patches collected together and save into output audio file.

Preparing to Run

The list of models supported by the demo is in <omz_dir>/demos/noise_suppression_demo/python/models.lst file. This file can be used as a parameter for Model Downloader and Converter to download and, if necessary, convert models to OpenVINO IR format (*.xml + *.bin).

An example of using the Model Downloader:

omz_downloader --list models.lst

An example of using the Model Converter:

omz_converter --list models.lst

Supported Models

  • noise-suppression-denseunet-ll-0001

  • noise-suppression-poconetlike-0001


Refer to the tables Intel’s Pre-Trained Models Device Support and Public Pre-Trained Models Device Support for the details on models inference support at different devices.


Running the demo with -h shows this help message:

[ -h]               show this help message and exit
[--help]            print help on all arguments
  -m <MODEL FILE>   path to an .xml file with a trained model
  -i <WAV>          path to an input WAV file
[ -d <DEVICE>]      specify a device to infer on (the list of available devices is shown below). Default is CPU
[ -o <WAV>]         path to an output WAV file. Default is noise_suppression_demo_out.wav

For example, to do inference on a CPU, run the following command:

./noise_suppression_demo \
  -m <path_to_model>/noise-suppression-poconetlike-0001.xml \
  -d CPU \
  -i noisy.wav \
  -o cleaned.wav

Demo Inputs

The application reads audio wave from the INPUT WAV file. The INPUT file has to have 16kHZ discretization frequency and be mono. The MODEL is also required arguments.

Demo Outputs

The application outputs cleaned wave to OUTPUT WAV file. The demo reports

  • Latency : total processing time required to process input data (from reading the data to displaying the results).