Open-Unmix : un logiciel open source issu du projet ANR KAMoulox pour démixer la musique

Le démixage, qui consiste à séparer différentes sources d’un enregistrement audio, telles que la voix ou les percussions, offre de nombreuses applications. Dans le domaine de l’enseignement musical par exemple, en supprimant un instrument d’un morceau pour s’entrainer, du remastering et de la création artistique, en isolant un son pour réaliser des remix ou cover, ou encore pour l’étude d’archives sonores. Les utilisateurs ne disposent cependant pas d’outils rapides et faciles à prendre en main pour séparer et débruiter un enregistrement (soit séparer un signal jugé utile, d’un bruit inutile).
Un système fondé sur l’apprentissage par réseaux de neurones profonds
Dans la perspective de proposer à terme de tels outils, Antoine Liutkus et ses collègues se sont appuyés sur les avancés récentes en traitement du signal audio, notamment le développement d’approches basées sur l’apprentissage profond. Au sein du projet JCJC KAMoulox (2015-2020), ils ont mis au point de nouvelles méthodes de filtrage basées sur des modèles probabilistes des signaux audio pour séparer les sources. La séparation peut en effet correspondre à une opération de filtrage : il s’agit de de déterminer quelle fréquence conserver ou supprimer, et ce pour des centaines de bandes de fréquences tous les 5 ms.
La particularité du travail des chercheurs a été de combiner ces modèles probabilistes à des réseaux de neurones profonds, pour développer un outil robuste capable de séparer les basses, les percussions, la voix, et le reste. C’est cette combinaison de modèles qui fait la particularité du logiciel Open-Unmix et permet d’atteindre l’état de l’art en matière de séparation.
Un outil intégralement sur PyTorch pour une opération plus rapide
Antoine Liutkus et Fabian-Robert Stöter (de l’équipe Zenith d’Inria basée à Montpellier) ont développé cet outil et l’ont soumis en candidat du hackathon organisé par PyTorch, l’une des deux principales bibliothèques de réseaux de neurones. La particularité de leur contribution était d’implémenter dans PyTorch la chaîne complète de traitement, et non pas seulement le réseau profond. Cela a permis de diviser par dix le temps de calcul pour la séparation des sources, et de bénéficier des outils de production du framework.
Entrainé avec une base de musiques pop occidentales, Open-Unmix peut être téléchargé par toute personne pour séparer ses propres contenus audio. Il s’applique aux morceaux correspondant à la base d’entrainement du logiciel et peut également être ré-entrainé avec d’autres types de morceaux, ce qui requiert toutefois des compétences spécifiques et des dizaines d’heures de sons séparés.
Ce logiciel correspond à une implémentation de références pour la séparation de sources. Les chercheurs, lauréats du second prix du PyTorch Summer Hackathon, invitent les communautés scientifiques en traitement du signal audio et en Machine Learning à s’en saisir, pour le développer et faire progresser l’état de l’art dans ces deux domaines de recherche. Ils poursuivent aujourd’hui leurs travaux sur la mise au point d’outils pour le débruitage d’enregistrements anciens, utilisables par les chercheurs en sciences humaines et sociales (ethnologues, linguistes, etc.).
En savoir plus :
Démonstrations de séparation de musique
Vidéo de démonstration : Torch Me Up
Le projet « Jeunes chercheurs, Jeunes chercheuses » KAMoulox
Article. Démixer la musique, Interstices, janvier 2016, par Antoine Liutkus et Emmanuel Vincent