Polymath est une solution innovante qui utilise l'apprentissage automatique pour convertir toute bibliothèque musicale, qu'elle provienne d'un disque dur ou de YouTube, en une bibliothèque d'échantillons pour la production musicale. Cet outil sépare automatiquement les chansons en pistes individuelles (batterie, basse, etc.), les quantifie au même tempo et à la même grille rythmique (par exemple, 120 bpm), analyse la structure musicale (par exemple, couplet, refrain, etc.), la tonalité (par exemple, C4, E3, etc.) et d'autres informations (timbre, volume, etc.), et convertit l'audio en MIDI. Le résultat est une bibliothèque d'échantillons consultable qui rationalise le flux de travail pour les producteurs de musique, les DJ et les développeurs audio en ML.
Polymath facilite la combinaison d'éléments de différentes chansons pour créer de nouvelles compositions uniques : il suffit de prendre un rythme d'un morceau de Funkadelic, une ligne de basse d'une pièce de Tito Puente et des cuivres adaptés d'une chanson de Fela Kuti, et de les intégrer de manière transparente dans votre DAW en un temps record. En utilisant la capacité de recherche de Polymath pour découvrir des morceaux connexes, il est facile de créer un set DJ de mash-up poli et d'une heure.
Pour les développeurs en ML, Polymath simplifie le processus de création d'un grand ensemble de données musicales, pour l'entraînement de modèles génératifs, etc.
Polymath fonctionne en utilisant plusieurs réseaux neuronaux pour différentes tâches : la séparation des sources musicales est effectuée avec le réseau neuronal Demucs, la segmentation et l'étiquetage de la structure musicale avec sf_segmenter, le suivi de la hauteur et la détection de la tonalité avec Crepe, et la transcription de la musique en MIDI avec Basic Pitch. La quantification et l'alignement de la musique sont effectués avec pyrubberband, et la récupération et le traitement des informations musicales sont effectués avec librosa.
Pour utiliser Polymath, vous devez avoir installé sur votre système les logiciels suivants : ffmpeg. L'installation nécessite une version de Python >=3.7 et <=3.10. Polymath prend également en charge l'utilisation de GPU pour accélérer les calculs, grâce à la prise en charge native de CUDA par la plupart des bibliothèques utilisées.