O provedor de streaming de música Deezer divulgou que recentemente decidiram abrir o código-fonte para um projeto piloto do “Spleeter”. Ele é desenvolvido como um sistema de aprendizado de máquina para separar fontes de som de composições sonoras complexas. Portanto, o Deezer abre código fonte do Spleeter, um sistema para separar música e voz.
O programa permite:
- eliminar as vozes da composição e deixar apenas o acompanhamento musical;
- manipular o som de instrumentos individuais ou liberar a música e deixar a voz se sobrepor em outra linha de som;
- criar mixagens;
- karaokê ou transcrição.
Neste projeto piloto, os modelos “Spleeter” já estão treinados para baixar e separar as vozes do acompanhamento acústico, bem como dividi-las em 4 e 5 transmissões, incluindo vozes, bateria, baixo, piano e o restante do som. O Spleeter pode ser usado como uma biblioteca Python ou como um utilitário de linha de comando independente.
Ao dividir em 2 e 4 transmissões, o editor Spleeter oferece um desempenho muito alto. Então, por exemplo, ao usar a GPU, dividir um arquivo de áudio em 4 transmissões leva 100 vezes menos tempo que a duração da composição original.
O Spleeter é um mecanismo bastante complexo e projetado, mas trabalhamos duro para torná-lo realmente fácil de usar. A separação real pode ser alcançada com uma única linha de comando e deve funcionar no seu laptop, independentemente do seu sistema operacional. Para usuários mais avançados, existe uma classe de API Python chamada Separator que você pode manipular diretamente em seu pipeline usual.
Deezer abre código fonte do Spleeter, um sistema para separar música e voz
Em um sistema com uma GPU NVIDIA GeForce GTX 1080 e uma CPU Intel Xeon Gold 6134 de 32 núcleos, o processamento da coleção de testes do musDB, que durou três horas e 27 minutos, foi concluído em 90 segundos.
Das vantagens que o Spleeter oferece, em comparação com outros desenvolvimentos no campo da separação de sons, como o projeto aberto Open-Unmix, é mencionado o uso de melhores modelos construídos com base em uma extensa coleção de arquivos de som.
Aqui está o porquê da decisão de Deezer de liberar o código Spleeter:
Por que lançar o Spleeter? Resposta curta: usamos para nossa pesquisa e acreditamos que outros também possam querer.
Estamos trabalhando na separação de fontes há muito tempo (e já tivemos uma publicação no ICASSP 2019). Comparamos o Spleeter com o Open-Unmix, outro modelo de código aberto lançado recentemente por uma equipe de pesquisa da Inria, e relatamos rendimentos um pouco melhores com maior velocidade (observe que o conjunto de dados de treinamento não é o mesmo).
Por último, mas não menos importante, o treinamento desses modelos requer muito tempo e energia. Ao fazer isso uma vez e compartilhar o resultado, esperamos poupar outros problemas e recursos.
Devido a restrições de direitos autorais , os pesquisadores de aprendizado de máquina têm acesso limitado a coleções de arquivos de música de acesso público bastante escassos, enquanto que para os modelos Spleeter eles foram construídos usando dados do extenso catálogo de músicas de Deezer.
Funcionamento rápido
Em comparação com ferramentas abertas como unmix, o Spleeter funciona aproximadamente 35% mais rápido em testes de CPU. Além disso, suporta arquivos MP3 e gera resultados muito melhores (na alocação de votos nos traços de mixagem Open-Undo de algumas ferramentas que eles provavelmente se devem ao fato de os modelos Open-Unmix serem treinados em coleções de apenas 150 faixas).
O código do projeto vem na forma de uma biblioteca Python baseada em Tensorflow. Vem com modelos pré-treinados para separação de 2, 4 e 5 transmissões e é distribuído sob a licença MIT. No caso mais simples, dois, quatro ou cinco arquivos de voz e componentes de acompanhamento (vocais.wav, drums.wav, bass.wav, piano.wav, other.wav) são criados com base no arquivo de origem.
Se você quiser saber mais sobre este projeto, verifique o seguinte link ou o código-fonte neste link.
Do mesmo modo, o Spleeter será apresentado e demonstrado ao vivo na conferência ISMIR 2019 em Delft.
Fonte: Ubunlog