Polymath: Transformando Bibliotecas Musicais com Aprendizado de Máquina
O Polymath é uma ferramenta inovadora que utiliza o aprendizado de máquina para converter qualquer biblioteca musical, seja do disco rígido ou do YouTube, em uma sample-library para produção musical.
Funcionalidades Principais
Separação de Músicas em Stems
A ferramenta é capaz de separar automaticamente as músicas em stems, como batidas, baixo, etc. Isso permite que os usuários manipulem esses elementos isoladamente, facilitando a criação de novas combinações musicais.
Quantização e Alinhamento
Polymath quantiza as músicas para o mesmo tempo e grid de batida, por exemplo, 120 bpm. Isso garante que os elementos musicais sejam compatíveis e possam ser combinados de forma harmoniosa.
Análise de Estrutura Musical
Ela também analisa a estrutura musical, identificando partes como verso, refrão, etc., além de detectar a chave musical e outras informações, como timbre e volume.
Conversão de Áudio para MIDI
Outra funcionalidade importante é a conversão de áudio para MIDI, embora o modelo atual de Audio2Midi apresente alguns resultados mistos, especialmente com baterias e percussão, mas está sendo trabalhado para melhorias futuras.
Casos de Uso
Para Produtores Musicais
Produtores musicais podem usar o Polymath para criar composições únicas, combinando elementos de diferentes músicas. Por exemplo, pegando uma batida de uma música de Funkadelic, um baixo de uma música de Tito Puente e trompas de uma música de Fela Kuti e integrando-os perfeitamente no seu DAW.
Para DJs
DJs podem usar a capacidade de busca do Polymath para descobrir músicas relacionadas e criar mash-ups de alta qualidade e longos sets de DJ.
Para Desenvolvedores de ML Audio
Desenvolvedores de ML audio podem simplificar o processo de criação de grandes conjuntos de dados musicais para treinar modelos gerativos, usando o Polymath.
Instalação e Uso
Requisitos
Para usar o Polymath, é necessário ter o software ffmpeg instalado e a versão do python entre >=3.7 e <=3.10.
Instalação Básica
A partir do terminal, execute os seguintes comandos:
git clone https://github.com/samim23/polymath
cd polymath
pip install -r requirements.txt
Se houver algum problema com o basic-pitch durante a execução do Polymath, execute o seguinte comando após a instalação:
pip install git+https://github.com/spotify/basic-pitch.git
Suporte a GPU
A maioria das bibliotecas usadas pelo Polymath possui suporte nativo a GPU através do cuda. Siga os passos em para configurar o tensorflow para uso com cuda.
Configuração com Docker
Se você tem o Docker instalado, pode usar o arquivo Dockerfile fornecido para construir rapidamente uma imagem do Polymath. Lembre-se de prepender sudo ao comando se o seu usuário não for parte do grupo docker.
docker build -t polymath./
Para trocar arquivos de entrada e saída entre o sistema host e o container do Polymath, crie as seguintes quatro diretorias:
./input
./library
./processed
./separated
Coloque os arquivos que deseja processar com o Polymath na pasta input e execute o Polymath através do docker run, passando os argumentos que normalmente passaria ao comando python.
Conclusão
O Polymath é uma ferramenta poderosa que abre muitas possibilidades para os produtores musicais, DJs e desenvolvedores de ML audio. Com suas diversas funcionalidades e casos de uso, está ajudando a revolucionar a maneira como se trabalha com bibliotecas musicais e produção musical.