Polymath: Un Potente Strumento per la Produzione Musicale con Intelligenza Artificiale
Polymath è uno strumento innovativo che sfrutta la potenza dell'intelligenza artificiale per trasformare qualsiasi libreria musicale, sia quella salvata su un hard-drive o presa da YouTube, in una libreria di campioni per la produzione musicale.
Funzioni Principali
Separazione delle Canzoni
Polymath riesce a separare automaticamente le canzoni in stems, come i battiti, il basso, ecc. Questo permette di lavorare sui singoli elementi musicali in modo più preciso e creativo.
Quantizzazione
Le canzoni vengono quantizzate allo stesso tempo e alla stessa griglia di battiti, ad esempio a 120 bpm. Ciò rende più facile il lavoro di composizione e il mescolamento di diversi elementi musicali.
Analisi Strutturale
L'analisi della struttura musicale, come i versi, il coro, ecc., nonché la rilevazione della chiave musicale (come C4, E3, ecc.) e altre informazioni come il timbre, la intensità sonora, ecc., sono tutte funzionalità offerte da Polymath. Inoltre, è in grado di convertire l'audio in midi, aprendo nuove possibilità di lavoro per i produttori musicali, i DJ e gli sviluppatori di audio ML.
Casistiche d'Uso
Creazione di Nuove Composizioni
È possibile combinare facilmente elementi provenienti da diverse canzoni per creare composizioni uniche. Ad esempio, prendere un battito da un brano di Funkadelic, una linea di basso da un pezzo di Tito Puente e delle trombe adatte da un brano di Fela Kuti, e integrarli senza problemi nel proprio DAW in pochissimo tempo.
Creazione di Set DJ
Utilizzando la capacità di ricerca di Polymath per scoprire tracce correlate, è facile creare un set DJ lucido e lungo un'ora, con una sequenza di canzoni perfettamente abbinabili l'una all'altra.
Creazione di Dataset Musicali per gli Sviluppatori ML
Per gli sviluppatori ML, Polymath semplifica il processo di creazione di un grande dataset musicale, utile per il training di modelli generativi, ecc.
Come Funziona
Polymath utilizza diversi reti neurali per svolgere le sue funzioni principali. La separazione delle sorgenti musicali è effettuata con la rete neurale Demucs. La segmentazione e la etichettatura della struttura musicale è realizzata con la rete neurale sf_segmenter. Il rilevamento del pitch musicale e la determinazione della chiave sono effettuati con la rete neurale Crepe. La trascrizione dell'audio in midi è realizzata con la rete neurale Basic Pitch. La quantizzazione e l'allineamento musicali sono effettuati con pyrubberband. Infine, il recupero e il trattamento delle informazioni musicali sono effettuati con librosa.
Requisiti e Installazione
Requisiti
Per utilizzare Polymath, è necessario avere installato il software ffmpeg sul proprio sistema. Inoltre, è richiesta una versione di python compresa tra >=3.7 e <=3.10.
Installazione
Da terminale, eseguire i seguenti comandi:
git clone https://github.com/samim23/polymath
cd polymath
pip install -r requirements.txt
Se si incontra un problema con basic-pitch durante l'esecuzione di Polymath, eseguire il comando seguente dopo l'installazione:pip install git+https://github.com/spotify/basic-pitch.git
Supporto GPU
Molte delle librerie utilizzate da Polymath hanno un supporto nativo per la GPU attraverso cuda. Per impostare tensorflow per l'uso con cuda, seguire i passaggi su . Se si seguono questi passaggi, tensorflow e torch utilizzeranno automaticamente la GPU.
Docker Setup
Se si ha Docker installato sul proprio sistema, è possibile utilizzare il file Dockerfile fornito per costruire rapidamente un'immagine docker di Polymath. Dopo aver creato le seguenti quattro directory: ./input
, ./library
, ./processed
, ./separated
, si possono inserire i file da elaborare in ./input
e eseguire Polymath attraverso docker con il comando docker run
, passando gli argomenti che si sarebbero passati al comando python.
In conclusione, Polymath è uno strumento molto utile per i produttori musicali, i DJ e gli sviluppatori ML, offrendo una vasta gamma di funzionalità per la trasformazione e l'utilizzo delle librerie musicali in modo più efficace e creativo.