Spleeter est un programme en ligne de commande permettant de séparer les voix des instruments depuis un fichier mp3.
Table des matières
Informations
Site web officiel : https://github.com/deezer/spleeter


Licence : MIT.
Plateforme : GNU Linux, MacOS X, Windows.
Développeur(s) : Deezer.
Description
Spleeter est un programme en ligne de commande, à code source ouvert, et gratuit, développé par Deezer. Il utilise une IA qui permet de séparer les voix de l'instrumentation d'un fichier mp3.
Il utilise le micro-processeur (CPU) pour le traitement du fichier. Il peut également utiliser votre carte graphique (GPU) pour effectuer cette tâche encore plus rapidement.
Il est écrit en Python ce qui le rend portable.
Utilisation
Le programme spleeter fourni 3 commandes :
- separate : sépare les fichiers audio depuis un modèle pré-défini.
- train : former un modèle de séparation de source. Vous avez besoin d'un ensemble de données de pistes séparées pour l'utiliser.
- evaluate : évaluation du modèle pré-défini sur l'ensemble de test musDB
.
Séparer les sources
Pour connaître l'aide liée à cette commande :
$spleeter separate -h
Si vous utilisez la version GPU et voulez spécifier la carte graphique, il faut appliquer la variable d'environnement suivante : CUDA_VISIBLE_DEVICES
- Le modèle 2stems
$spleeter separate -i file.mp3 -o audio_outputL'option -i indique la liste des fichiers audio à séparer. L'option -o indique le répertoire où seront stockés les fichiers wav issus de l'opération. La première exécution du programme peut prendre un peu de temps jusqu'à ce qu'il ait téléchargé le modèle pré-défini.
Si tout se passe bien, le répertoire dans l'exemple audio_output sera créé et contiendra deux fichiers : accompaniment.wav et vocals.wav.
- Le modèle 4stems
$spleeter separate -i audio_example.mp3 -o audio_output -p spleeter:4stemsL'option -p permet de choisir un modèle prédéfini ou vers un fichier JSON comme celui-ci


Cette fois ci vous obtenez les fichiers suivants : vocals.wav, drums.wav, bass.wav et other.wav.
- Le modèle 5stems
$spleeter separate -i audio_example.mp3 -o audio_output -p spleeter:5stems
- Utilisation des modèles jusqu'à 16kHz
$spleeter separate -i audio_example.mp3 -o audio_output -p spleeter:4stems-16kHz
Quelques conseils pratiques
Spleeter va commencer à chercher le répertoire pretrained_models, et si il ne contient pas le modèle spécifié dans la commande spleeter, il va le chercher sur le web, ce qui peut être long. Pour éviter cela, commencer par copier votre fichier musical à spleeter dans votre répertoire de travail de spleeter (toujours le même). Si vous lancez plusieurs spleeter à la suite sur plusieurs fichiers, pas de soucis, les fichiers audio extraits seront bien rangés dans des sous répertoires de audio_output (1 répertoire par fichier audio initial). Vous évitez ainsi de recharger à chaque fois le modèle pré-entraîné.
spleeter est assez gourmand en ressources (CPU et RAM). Pensez à fermer les applications grosses consommatrices de ressources avant de lancer spleeter, il n'en sera que plus rapide.
A COMPLETER: train et evaluate
Installation
avec ma distribution :
- présent sur Archlinux : dépôt utilisateur Archlinux (AUR)
.
compilation "à la main" :
- Sources : Github Spleeter
.
Installation avec Conda (recommandé)
La méthode la plus simple pour utiliser Spleeter passe par l'utilisation de conda


Pour l'installation de conda,
sur Fedora 33 :
$sudo dnf install conda
si votre distribution ne fourni pas de paquet conda : vous devez télécharger un script d'installation et le lancer pour installer conda. Par exemple pour anaconda https://docs.anaconda.com/anaconda/install/linux/


(testé sur Debian bullseye/testing)
Le paquet Spleeter est fourni par Deezer via Conda Forge


Il est d'abord nécessaire de créer une base de travail et de l'activer. Dans cet exemple nous allons l'appeler "spleeter"
$conda create -n spleeter $conda activate spleeterExécuter la commande suivante pour installer Spleeter :
$conda install -c conda-forge spleeterUn paquet fonctionnant avec un GPU (carte graphique Nvidia) est également disponible :
$conda install -c conda-forge spleeter-gpu
Installation avec Pip
méthode non-testée, voici une traduction du wiki de Spleeter.
Il est possible d'utiliser le gestionnaire de paquet pip





Enfin l'installation depuis le dépôt PyPi


$pip install spleeterLa version pip ne fourni pas le support du GPU. Pour cela, utiliser conda.
Liens et commentaires
Le wiki original de spleeter

