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?