Mit Demucs die Tonspuren eines Musikstücks trennen

Es ist bereits fast ein Jahr her, das ich über die real-time stems separation in VirtualDJ geschrieben habe und das Thema die Tonspuren eines Musikstückes zu trennen ist nach wie vor aktuell.

Damals ging mehr oder weniger der Hype im Spleeter voraus. Weitere Tools, ganz gleich ob für’s Studio wie z.B. iZotope RX (ab Edition “Standard”, dort “Music Rebalance” genannt) oder für’s DJing wie Neural Mix Pro gibt es ebenfalls. Ganz neu war ist ist dieses Thema also nicht.

Eine weitere Alternative existiert mit dem Facebook-Projekt Demucs. Dieses ist wie Spleeter open source, setzt (wen wunderts) auf ein vorab trainiertes KI-Modell und läuft unter Python. Das Tool lässt sich auf alle gängigen Plattformen ausführen, Anleitungen hierzu findet man auf der Projektseite. Unter Windows installiert man zuerst Anaconda und klont zunächst das Git-Repository:

cd %HOMEPATH%
conda install git
git clone https://github.com/facebookresearch/demucs

Um nun den eigentlichen Vorgang durchzuführen benötigt man folgende Zeilen im Anaconda Prompt:

cd %HOMEPATH%
cd demucs
conda activate demucs
python.exe -m demucs.separate -d cpu --dl "PATH_TO_AUDIO_FILE_1"

Anbei ein Screenshot eines Versuchs:

Je nach Umfang des Musikstücks oder der Leistungsfähigkeit des Computers benötigt der Vorgang ein wenig. Das Ergebnis findet sich dann unter

%homepath%\demucs\separated\demucs\<Name der Audio-Datei>\

aufgeteilt in einzelne Dateien mit den Namen

bass.wav
drums.wav
other.wav
vocals.wav

Vor nicht all zu langer Zeit habe ich mal die Ergebnisse von VirtualDJ mit einer vorberechneten Stem-Datei, Spleeter und Demucs verglichen. Hörbar am besten bei diesen Kandidaten ist die Ausgabe von Demucs. Fairer-weise muss man sagen, das der Fokus bei VirtualDJ auf die Echtzeitfähigkeit liegt, schließlich soll ja live und direkt eingegriffen werden können. Bei Spleeter oder Demucs wird ja sozusagen in aller Ruhe berechnet. Die Ergebnisse können zudem je nach Ausgangsmaterial variieren.

Eine Idee für VirtualDJ könnte sein, das bei vorberechneten Stems ein besseres Verfahren angewendet wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.