Man Linux: Main Page and Category List


       dnoise - Reduces noise in a file. .


       This is a noise reduction scheme using frequency-domain noise-gating.


           dnoise [flags] -i noise_ref_file  -o output_soundfile  input_soundfile


       Dnoise specific flags:

       ·   (no flag) input soundfile to be denoised

       ·   -i fname input reference noise soundfile

       ·   -o fname output soundfile

       ·   -N fnum # of bandpass filters (default: 1024)

       ·   -w fovlp filter overlap factor: {0,1,(2),3} DON´T USE -w AND -M

       ·   -M awlen analysis window length (default: N-1 unless -w is

       ·   -L swlen synthesis window length (default: M)

       ·   -D dfac decimation factor (default: M/8)

       ·   -b btim begin time in noise reference soundfile (default: 0)

       ·   -B smpst starting sample in noise reference soundfile (default: 0)

       ·   -e etim end time in noise reference soundfile (default: end of

       ·   -E smpend final sample in noise reference soundfile (default: end
           of file)

       ·   -t thr threshold above noise reference in dB (default: 30)

       ·   -S gfact sharpness of noise-gate turnoff, range: 1 to 5 (default:

       ·   -n numfrm number of FFT frames to average over (default: 5)

       ·   -m mingain minimum gain of noise-gate when off in dB (default: -40)

       Soundfile format options:

       ·   -A AIFF format output

       ·   -W WAV format output

       ·   -J IRCAM format output

       ·   -h skip soundfile header (not valid for AIFF/WAV output)

       ·   -8 8-bit unsigned char sound samples

       ·   -c 8-bit signed_char sound samples

       ·   -a alaw sound samples

       ·   -u ulaw sound samples

       ·   -s short_int sound samples

       ·   -l long_int sound samples

       ·   -f float sound samples. Floats also supported for WAV files. (New
           in Csound 3.47.)

       Additional options:

       ·   -R verbose - print status info

       ·   -H [N] print a heartbeat character at each soundfile write.

       ·   -- fname output to log file fname

       ·   -V verbose - print status info

           DNOISE also looks at the environment variable SFOUTYP to determine
           soundfile output format.

           The -i flag is used for a reference noise file (normally created
           from a short section of the denoised file, where only noise is
           audible). The input soundfile to be denoised can be given anywhere
           on the command line, without a flag.


       This is a noise reduction scheme using frequency-domain noise-gating.
       This should work best in the case of high signal-to-noise with
       hiss-type noise.

       The algorithm is that suggested by Moorer & Berger in “Linear-Phase
       Bandsplitting: Theory and Applications” presented at the 76th
       Convention 1984 October 8-11 New York of the Audio Engineering Society
       (preprint #2132) except that it uses the Weighted Overlap-Add
       formulation for short-time Fourier analysis-synthesis in place of the
       recursive formulation suggested by Moorer & Berger. The gain in each
       frequency bin is computed independently according to

           gain = g0 + (1-g0) * [avg / (avg + th*th*nref)] ^ sh

       where avg and nref are the mean squared signal and noise respectively
       for the bin in question. (This is slightly different than in Moorer &

       The critical parameters th and g0 are specified in dB and internally
       converted to decimal values. The nref values are computed at the start
       of the program on the basis of a noise_soundfile (specified in the
       command line) which contains noise without signal.

       The avg values are computed over a rectangular window of m FFT frames
       looking both ahead and behind the current time. This corresponds to a
       temporal extent of m*D/R (which is typically (m*N/8)/R). The default
       settings of N, M, and D should be appropriate for most uses. A higher
       sample rate than 16 Khz might indicate a higher N.


       Author: Mark Dolson

       August 26, 1989

       Author: John ffitch

       December 30, 2000

       Updated by Rasmus Ekman on March 11, 2002.


       Barry Vercoe
       MIT Media Lab


       Dan Ellis
       MIT Media Lab,