Note that this software is currently in testing. No responsibility will be taken for damage or unexpected behaviour. It may be redistributed if no charge is involved. Questions, comments and BUG REPORTS are welcomed and can be addressed to me (contact information given on the about page).

10 July 2009 – Version 0.15b – Windows Executables
10 July 2009 – Version 0.15b – Linux Executables

  • The method for generating noise templates has been updated and produces much more accurate results. Again, old noise template files are incompatible with the new version of Noise Reduce.
  • Several parameters have been added to provide signal envelope based variations to the noise reduction parameters. See documentation for more information.
  • A configuration file is now supported to prevent requiring massive command-line argument strings.
  • Wave file handler has been updated and merged with the version used with Autoloop.
  • Large changes have been made to the core reduction method and new parameters have been introduced. See documentation.

10 July 2009 – Version 0.14b

  • /spectralcutoff parameter split into /spectralattack and /spectraldecay allowing greater control over transient response.
  • Optimisations and changes to the main noise reduction algorithm.
  • More optimisations to FFT algorithm.
  • Default parameters have been changed.
  • /artefactremoval parameter has now been completely removed.
  • Introduction of new /precision parameter which has dramatically improved the output quality. See the updated usage guide for more information.


  • The wave file reader/writer is still slow in comparison to the RAW file reader/writer. Not sure why this is, but will investigate shortly.

4 March 2009 – Version 0.12b

  • More restrictions on wave file reader have been lifted. “data chunk must be last chunk in this implementation” error message should not be shown any more.
  • Change made to noise reduction algorithm. Previous versions all instantly will have a large reduction as soon as a probability goes below the keepifover parameter. The reduction was dependant on the noise template and was used to try and “flatten” the resulting spectrum. This instantaneous reduction has been removed in the latest version and instead will be ADDED to the reducebymax parameter.
  • Default parameters have been change. Artefact removal is now defaulted to off. Spectral cutoff has been raised to a significantly larger values. The older default values were found to remove a lot of “life” from the input audio.
  • Very small optimisations.
  • Package now split into three different applications.
  • /minfreqamp parameter has been removed.
  • /levelnoise and /noisefloor parameters introduced. Run application for descriptions.
  • /snapshots parameter added to the GNP application.

25 November 2008 – Version 0.11b

  • Some restrictions imposed on the wave file reader have been lifted to give better compatibility.
  • Improvements to PCM to double sample conversion.
  • Input and output streams are now perfectly synchronised. It is still recommended to provide adequate noise at the beginning and end of input streams to allow the reduction algorithm to ‘stabilise’.

25 November 2008 – Version 0.9b

  • Major optimisations to wave writing code – performance noticeably increased.
  • New sample formats activated. Current formats are:
    ASF_IEEEFLOAT32: Samples read/written as IEEE Floating point numbers
    ASF_SIGNEDINT32: Samples read/written as 32bit signed integers
    ASF_SIGNEDINT24: Samples read/written as 24bit signed integers
    ASF_SIGNEDINT16: Samples read/written as 16bit signed integers

24 November 2008 – Version 0.8b

  • Bug fixes to wave reading code. In 0.7b there was a bug where if the wave was not laid out exactly as a basic wave (format chunk followed by data chunk), the file would not load and the program would terminate claiming that a required chunk was missing.
  • Minor changes to the information displayed when the program is run and the default reduction settings.

16 November 2008 – Version 0.7b

  • Very basic .WAV support enabled in this version. Input and output files default to being read and written using WAV files unless the /inraw or new /outraw parameters are used.
  • Addition of some basic artefact detection and removal code. See the /artefactremovallevel parameter
  • Addition of spectral smoothing code which reduces the effects of artefacts but decreases transient performance. See the /spectralcutoff parameter

4 November 2008 – Version 0.6b

  • Massive optimisation to FFT code. Performance boosted by more than 100%.
  • Minor optimisations and bug fixes throughout codebase.
  • Delay routine has been added to periodically allow other applications to process data. This has been included as testing the application on other machines showed that some exhibited unresponsive behaviour.
  • File handling improved dramatically to reduce the frequency of hard-disk reads and writes.
  • Wave support still in testing and not enabled in this release.

26 October 2008 – Version 0.5b

  • Project translated from C to C++.
  • Small optimisations and changes to the noise reduction code.
  • In preparation for wave file support, multiple channel RAW files are now supported with different bitrates (use the /inraw parameter)
  • Reduction template file format changed to support multiple channels. No need to specify the fftsize parameter with the nr command.
  • New parameters introduced /reducebymin and /window – /samplerate parameter discarded. See documentation.

6 October 2008 – Version 0.4b

  • Major bug fix in noise template preparation code. The bug caused some noise templates to contain NAN errors which could then propagate through to the noise reduction algorithm where they would end up in the output file. This bug only seemed to affect very loud samples and can be easily seen in the output files by blocks of audio, half the FFT size long in samples, where all the sample values seem to drop to negative infinity.

Version 0.3b

  • First online public release.