home/ atoms/ automix-bpm-pitch-aligned-augmentation

BPM- and pitch-aligned stem cross-mixing creates more realistic training data than random remixing

Simple Remix augmentation creates mixes where a bass line from one track is paired with drums from another, regardless of key or tempo. For fine-tuning Demucs on competition data, the automix.py script creates more musically plausible cross-song mixes: it analyses BPM (via librosa’s beat tracker) and tonal content (chroma via CQT), then only mixes stems from songs that can be aligned within 15% tempo shift and 3 semitones of pitch shift. This makes artificial mixes resemble real productions, improving the model’s performance on natural music beyond what pure random remixing achieves.

Examples

From tools/automix.py:

MAX_PITCH = 3   # maximum allowable pitch shift in semi tones
MAX_TEMPO = 0.15  # maximum allowable tempo shift

Used to train the fine-tuned MDX models that achieved state-of-the-art SDR in 2021.

Assessment

Why does musical coherence of training mixes (BPM + key alignment) matter for separation quality, even though the model never hears the coherent-vs-incoherent distinction at test time?

“it will align BPM, sync up the first beat and perform pitch shift to maximize pitches overlap. In order to limit artifacts, only parts that can be mixed with less than 15% tempo shift, and 3 semitones of pitch shift are mixed together.”
corpus · demucs-music-source-stem-separation · chunk 84