️ A versão Spleeter 2.1.0 apresenta algumas mudanças importantes, incluindo nova nomenclatura de opção CLI para entrada e a eliminação do pacote GPU dedicado. Por favor, leia CHANGELOG para mais detalhes.
Spleeter é uma biblioteca de separação de fontes Deezer com modelos pré-treinados escritos em Python e usa Tensorflow. Ele facilita o treinamento do modelo de separação de fontes (supondo que você tenha um conjunto de dados de fontes isoladas) e fornece um modelo de última geração já treinado para realizar vários tipos de separação:
Os modelos de 2 e 4 hastes têm alto desempenho no conjunto de dados musdb. Spleeter também é muito rápido, pois pode realizar a separação de arquivos de áudio em 4 hastes 100x mais rápido do que em tempo real quando executado em uma GPU.
Projetamos o Spleeter para que você possa usá-lo diretamente na linha de comando, bem como diretamente em seu próprio pipeline de desenvolvimento como uma biblioteca Python. Ele pode ser instalado com pip ou usado com Docker.
Desde que foi lançado, existem vários forks expondo o Spleeter por meio de uma interface de usuário guiada (GUI) ou de um site independente, gratuito ou pago. Observe que não hospedamos, mantemos ou apoiamos diretamente nenhuma dessas iniciativas.
Dito isto, muitos projetos interessantes foram construídos em cima dos nossos. Notavelmente a portabilidade para o ecossistema Ableton Live através do projeto Spleeter 4 Max.
Modelos pré-treinados do Spleeter também foram usados por softwares de áudio profissionais. Aqui está uma lista não exaustiva:
? Spleeter é a base do Desafio de Demixing de Música em andamento!
Confira nossa versão comercial: Spleeter Pro. Beneficie-se de nossa experiência em separação precisa de áudio, velocidades de processamento mais rápidas e suporte profissional dedicado.
Quer experimentar, mas não quer instalar nada? Criamos um Google Colab.
Pronto para se aprofundar nisso? Em poucas linhas você pode instalar o Spleeter e separar as partes vocal e de acompanhamento de um arquivo de áudio de exemplo. Você precisa primeiro instalar ffmpeg
e libsndfile
. Isso pode ser feito na maioria das plataformas usando Conda:
# install dependencies using conda
conda install -c conda-forge ffmpeg libsndfile
# install spleeter with pip
pip install spleeter
# download an example audio file (if you don't have wget, use another tool for downloading)
wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
# separate the example audio into two components
spleeter separate -p spleeter:2stems -o output audio_example.mp3
️ Observe que não recomendamos mais o usoconda
para instalar o spleeter.
️ Existem problemas conhecidos com os chips Apple M1, principalmente devido à compatibilidade do TensorFlow. Até que estes sejam corrigidos, você pode usar esta solução alternativa.
Você deve obter dois arquivos de áudio separados ( vocals.wav
e accompaniment.wav
) na pasta output/audio_example
.
Para uma documentação detalhada, verifique o wiki do repositório
Este projeto é gerenciado usando Poetry, para executar o conjunto de testes você pode executar o seguinte conjunto de comandos:
# Clone spleeter repository
git clone https://github.com/Deezer/spleeter && cd spleeter
# Install poetry
pip install poetry
# Install spleeter dependencies
poetry install
# Run unit test suite
poetry run pytest tests/
Se você usa Spleeter em seu trabalho, cite:
@article { spleeter2020 ,
doi = { 10.21105/joss.02154 } ,
url = { https://doi.org/10.21105/joss.02154 } ,
year = { 2020 } ,
publisher = { The Open Journal } ,
volume = { 5 } ,
number = { 50 } ,
pages = { 2154 } ,
author = { Romain Hennequin and Anis Khlif and Felix Voituret and Manuel Moussallam } ,
title = { Spleeter: a fast and efficient music source separation tool with pre-trained models } ,
journal = { Journal of Open Source Software } ,
note = { Deezer Research }
}
O código do Spleeter é licenciado pelo MIT.
Se você planeja usar o Spleeter em material protegido por direitos autorais, certifique-se de obter a autorização adequada dos proprietários dos direitos com antecedência.
Spleeter é um software complexo e, embora tentemos continuamente melhorá-lo e testá-lo, você pode encontrar problemas inesperados ao executá-lo. Se for esse o caso, verifique primeiro a página de perguntas frequentes, bem como a lista de problemas atualmente abertos
Parece que às vezes o comando de atalho spleeter
não funciona corretamente no Windows. Este é um problema conhecido que esperamos corrigir em breve. Enquanto isso, substitua spleeter separate
por python -m spleeter separate
na linha de comando e deve funcionar.
Se você gostaria de participar do desenvolvimento do Spleeter, você é mais que bem-vindo. Não hesite em nos enviar uma solicitação pull e faremos o possível para examiná-la rapidamente. Por favor, verifique nossas diretrizes primeiro.
Este repositório inclui um arquivo de áudio de demonstração audio_example.mp3
que é um trecho de Slow Motion Dream de Steven M Bryant (c) copyright 2011 Licenciado sob uma licença Creative Commons Attribution (3.0) Ft: CSoul, Alex Beroza e Robert Siekawitch