# Disco

Audio fingerprint discrimination and resynthesis via Haar wavelets.

# 1 see also

# 2 dependencies

gcc, make, libsndfile, libgsl

# 3 build

make                  # native versions

# 4 examples

Timbre stamp white noise with energy per octave of a control input:

./timbre-stamp input.wav output.wav

Compute energy per octave (audio) per octave (rhythm) fingerprint:

./rhythm-analysis input.wav output.dat

Resynthesize from fingerprint by stamping on white noise:

./rhythm-synthesis input.dat output.wav

Compute energy per octave (audio) Markov chain via self-organizing map:

./markov-analysis input.wav output.dat

Resynthesize from Markov chain by stamping on white noise:

./markov-synthesis input.dat output.wav

Normalize an audio file to peak value 1.0:

./normalize input.wav output.wav

# 5 bugs

Uses large stack-allocated arrays: if it crashes, try running this first:

ulimit -s unlimited