Wiki » History » Version 10

Version 9 (Chris Cannam, 2015-04-28 05:32 PM) → Version 10/11 (Chris Cannam, 2015-04-28 05:33 PM)

h1. Preprocessing options

h3. h2. Implemented

h4. h3. Flatten dynamics

Integrating the "Flatten Dynamics plugin":/projects/flattendynamics code

h4. h3. De-envelope

Using cepstral processing to factor out the spectral envelope, after "Simple Cepstrum":/projects/vamp-simple-cepstrum

h4. h3. Remove broadband noise

Like the initial noise-removal phase of "Silvet":/projects/silvet -- which runs noise removal on the constant-Q spectrum, but I expect the method would work unchanged for STFT as well

h4. h3. Add broadband noise

Surprisingly turned out to have a potential application in MATCH: adding -30dB white noise to the inputs gave a more stable alignment

h3. h2. Not (yet) implemented

h4. h3. Remove pitched sounds

For symmetry with "Remove broadband noise", something that filters out stable pitched sinusoidal or harmonic content in the manner of the "Devuvuzelator":/projects/devuvuzelator (does this have any application?)

h4. h3. Other spectral whitenings?

h4. h3. Other aspects of harmonic/percussive separation?

h2. Processing order

We should have one single plugin / embeddable C++ class / application and it should have a list of on/off toggles for the available preprocessing options.

If more than one option is selected, the preprocessors should be applied in a fixed order:

# De-envelope
# Remove broadband noise
# (Remove pitched sounds)
# Flatten dynamics
# Add broadband noise

Nos. 1-3 are carried out in the frequency domain, the remaining two in the time domain.