Demucs sort quatre pistes d'un morceau en une ligne de commande

Résumé

Un modèle libre de séparation de sources qui découpe un morceau mixé en batterie, basse, voix et accompagnement restant. Une seule ligne de commande suffit, Python peut l'appeler, et le code est sous MIT.

Recommander
Nom
Demucs
Version
4.0.1
Tarif
Gratuit
Open source
Open source
Système
WindowsLinuxmacOS
Mis à jour
2026-10-06 17:10

Ce qui en sort

Architecture de Hybrid Transformer Demucs

Demucs est un modèle libre de séparation de sources avec un but direct : prendre un morceau mixé et le découper en pistes distinctes pour la batterie, la basse, la voix et l'accompagnement restant. Il se présente comme un modèle plus une ligne de commande, ce qui facilite son insertion dans un script maison par rapport à un outil à interface.

Il a été proposé par Défossez et d'autres, et a connu plusieurs versions, la v4 étant la ligne principale actuelle. Une chose doit être dite d'entrée : l'auteur a quitté Meta, le dépôt d'origine n'est plus maintenu et seules les corrections importantes sont traitées. Pour un projet de longue durée, cela compte, et j'y reviens en fin d'article.

La description officielle parle d'un modèle de séparation de sources musicales de premier plan, capable de sortir la batterie, la basse et la voix de l'accompagnement restant. Quatre pistes sortent donc, et non une simple coupure en deux. C'est précisément l'écart avec les outils qui ne rendent que deux fichiers.

Les chiffres sont publiés eux aussi. Hybrid Transformer Demucs atteint un SDR de 9.00 dB sur le jeu de test MUSDB HQ. En ajoutant une attention creuse et un réglage fin par source, on monte à 9.20 dB. L'entraînement s'est fait sur MUSDB HQ plus 800 morceaux supplémentaires.

Quel modèle choisir

Tableau de comparaison de la précision

Plusieurs modèles sont disponibles après installation, et le projet énonce clairement l'arbitrage. Le choix par défaut est htdemucs. Pour un peu mieux, la version affinée htdemucs_ft existe, au prix d'environ quatre fois le temps de séparation. Une version expérimentale à six sources ajoute le piano et la guitare, le projet reconnaissant lui-même que la voie du piano n'est pas encore bonne.

Deux autres modèles portent des résultats de concours : mdx a pris la première place sur la piste A du défi MDX, mdx_extra la deuxième sur la piste B. Tous deux existent en version quantifiée, plus petite et éventuellement un peu moins bonne.

Installation et usage

Notes d'installation et dépendances

L'installation est une commande pip et demande Python 3.8 ou plus. Un fichier d'environnement conda et une image de conteneur sont aussi fournis, ce qui convient à une reproduction d'environnement ou à une exécution sur serveur.

L'appel courant reçoit un chemin audio et laisse le résultat dans le dossier de sortie : un dossier au nom du modèle, puis un dossier par titre, contenant quatre fichiers stéréo en 44.1kHz — batterie, basse, reste, voix. La sortie est en wav par défaut, une option change la précision ou écrit du mp3.

Pour la voix seule, le cas karaoké habituel, un mode à deux pistes existe. Le projet prévient que ce n'est pas un raccourci : il sépare tout puis remixe le reste, donc ce n'est ni plus rapide ni plus économe en mémoire.

Mémoire, vitesse, appel depuis du code

Usage et options en ligne de commande

Les chiffres de mémoire : au moins 3GB de mémoire graphique pour un usage GPU, mais environ 7GB avec les réglages par défaut. Quand la mémoire manque, deux issues : réduire la longueur de segment ou passer au CPU. Le prix du CPU est le temps, et le projet donne comme repère 1.5 fois la durée de l'audio.

Au-delà de la ligne de commande, la bibliothèque s'appelle directement depuis Python : les arguments de la ligne de commande passent tels quels à l'interface, ce qui installe la séparation dans votre propre flux par lots.

État de maintenance et licence

Cette partie doit être honnête. L'auteur écrit sur la page d'accueil du dépôt qu'il ne travaille plus chez Meta : le dépôt d'origine n'est plus maintenu, seules les corrections importantes sont traitées, les demandes de fonctionnalités sont closes, et le travail a migré vers une branche qu'il a créée.

Côté licence, Demucs est libre sous MIT, assez permissif pour des flux commerciaux. Ce qu'il faut accepter, c'est le gel en amont : le choisir, c'est choisir une implémentation stable et non un projet encore rapide. Qui a besoin de modèles plus récents doit donc prendre cette décision en connaissance.

À qui cela convient

S'il s'agit de découper un lot d'audio en quatre pistes et d'écrire cette étape dans un script, la forme de Demucs convient mieux qu'un outil à interface : installer une fois, appeler une fois, obtenir une arborescence fixe, et laisser son propre enchaînement faire le reste.

À l'inverse, pour une bande instrumentale occasionnelle ou l'envie de parcourir des combinaisons de modèles à la souris, un outil avec interface est plus reposant. La valeur de Demucs n'est pas dans un seuil bas, elle est dans le contrôle et la répétabilité.

DemucsTéléchargement
Systèmes pris en charge : Windows Linux macOS