Separation of the "Signal" from the "Noise"

The peaks of a spectrum are important because they often represent characteristic overtones of a sound. The smaller more numerous components are often associated with note attacks (when they occur at the start of a sound) or with noisy sounds (when they occur elsewhere). After transformation into the frequency domain, the synth separates the peaks (the "signal") from the "noise" (everything else). There are several parameters under user control that influence this separation.

The first step in the separation is to draw a curve (like the red one below) that defines the noise floor. This is done by taking a median filtering of the magnitude data. The width of this median is a parameter (No. 8) that is under user control. Typical values might be between 20 and 30. Larger values cause more averaging (and the identification of fewer peaks) while smaller values may (perhaps incorrectly) locate a greater number of peaks. Everything below the red line is called the "noise" and all the maxima above the line are called the peaks.



Dial 1 (number of peaks) defines how many peaks will be used in subsequent processing. If too low, only a few peaks will be used and the sound becomes sinusoidal and synthetic. If too large, portions of the noise will be processed as if they were overtones.

Dial 3 (peak detection threshold) raises or lowers the noise floor (the red median line). This has the effect of allowing or forbidding more peaks. Too large and not enough peaks will be detected, too small and too many are found. A readout of the current number of peaks actually detected is given to the left of the slider (it is labeled "peaks found)."



Here is a discussion of how this separation of peaks and noise is used in the TransFormSynth.

      See also: assigning dials to MIDI controllers and about the FFT      

©2008 William Sethares; site design by Anthony Prechtl