O Demucs é uma ferramenta de código aberto de separação de faixas musicais que se concentra em dividir músicas mixadas em faixas separadas, como vocais, bateria, baixo e outras partes de apoio. Desenvolvido por Alexandre Défossez, originalmente desenvolvido pela Meta AI e agora mantido pelo autor no GitHub, o Demucs usa técnicas avançadas de aprendizagem profunda, combinadas com a arquitetura convolucional U-Net e o modelo Hybrid Transformer, para fornecer resultados de separação de faixas de alta qualidade. Sua versão v4 apresenta a tecnologia Hybrid Transformer, que melhora a precisão da separação, especialmente adequada para produção musical, geração de karaokê e análise de áudio. O projeto oferece uma operação simples de linha de comando, suporta operação de CPU e GPU e é adequado para amantes e profissionais da música.
Lista de funções
- Separe várias faixas: suporte para separar vocais, bateria, baixo, guitarra, piano e outras faixas de apoio.
- Suporte a vários modelos: Fornece modelos de transformadores híbridos v4 (por exemplo
htdemucs_ft
) e os modelos v3 classic para atender a diferentes necessidades. - Aceleração de GPU: compatível com GPUs NVIDIA, Intel Arc e Apple MPS para um processamento mais rápido.
- Formatos de áudio flexíveis: compatível com MusDB-HQ e qualquer arquivo WAV para uma ampla variedade de entradas de áudio.
- Operação de linha de comando: a operação de linha de comando é realizada por comandos simples (por exemplo
demucs input_audio.mp3
) para concluir a separação da trilha. - Código aberto e gratuito: o código é baseado na licença MIT, que permite que os usuários o utilizem e modifiquem livremente.
Usando a Ajuda
Processo de instalação
O Demucs é fácil de instalar e é adequado para usuários com experiência básica em Python. Veja a seguir as etapas detalhadas de instalação:
- Preparação ambiental
- Certifique-se de que o Python 3.10 ou posterior esteja instalado em seu sistema.
- Recomenda-se um ambiente virtual para evitar conflitos de dependência. Execute o seguinte comando para criar um ambiente virtual:
python -m venv demucs_env source demucs_env/bin/activate # Linux/Mac demucs_env\Scripts\activate # Windows
- Instale o Git e certifique-se de que você pode clonar a base de código.
- Instalação via pip(Recomendado, rápido e fácil)
Execute o seguinte comando para instalar o Demucs diretamente:pip install demucs
Esse método instala automaticamente as dependências necessárias, como PyTorch e torchaudio.
- Instalação do código-fonte(adequado para desenvolvedores ou requer a versão mais recente)
Se precisar do código mais recente ou de alterações personalizadas, você poderá clonar o repositório por meio do GitHub:git clone https://github.com/adefossez/demucs cd demucs pip install -e .
Isso instalará o Demucs e suas dependências para cenários em que você precisa depurar ou participar do desenvolvimento.
- Suporte a GPU
- Se estiver usando a aceleração de GPU, certifique-se de ter a versão de GPU do PyTorch instalada e de ter uma GPU compatível (a NVIDIA exige potência de computação de 3,5 ou superior, e recomenda-se 3 GB ou mais de memória de vídeo).
- Para verificar se a GPU está disponível: execute
python -c "import torch; print(torch.cuda.is_available())"
saídaTrue
Indica que a GPU está disponível. - Se não houver memória de vídeo suficiente, o
--segment 8
para reduzir o espaço de memória ou adicionar-d cpu
Usar o processamento da CPU.
- Perguntas frequentes
- Usuários do Windows que encontram
OSError: [WinError 126]
Instalação manual necessárialibuv
. A instalação recomendada é a conda:conda install conda-forge::libuv
- Os usuários do Linux precisam garantir que o sistema tenha
glibc 2.27
ou superior, pode exigir a instalação adicional delibxcb-cursor0
.
- Usuários do Windows que encontram
Uso
A função principal do Demucs é separar faixas de áudio por meio da linha de comando. Aqui estão as etapas detalhadas para fazer isso:
- Separação básica de trilhas
Execute o seguinte comando para separar o áudio:demucs input_audio.mp3
- Os arquivos de entrada são compatíveis com MP3, WAV e outros formatos comuns.
- As trilhas separadas são salvas na pasta
separated/
pasta que contém os vocais (vocals.wav
), bateria (drums.wav
), baixo (bass.wav
) e outros.other.wav
). - O padrão é usar o
htdemucs
o tempo de processamento é cerca de 1,5 vez a duração do áudio.
- Seleção de um modelo específico
O Demucs oferece uma variedade de modelos que podem ser modelados com-n
é especificado:-n htdemucs_ft
Use a v4 para fazer o ajuste fino do modelo para obter a separação ideal.-n htdemucs
v4 Modelagem não trivial, mais rápida, mas um pouco menos precisa.-n hdemucs_mmi
Modelo clássico v3 para compatibilidade com a versão antiga.
Exemplo:
demucs -n htdemucs_ft song.mp3
- Opções avançadas
- Redimensionamento de segmentosQuando não houver memória de vídeo suficiente, defina
--segment 8
Reduz o espaço de memória, mas pode reduzir a qualidade da separação. - Usando a CPUQuando a placa de vídeo não for compatível, adicione
-d cpu
::demucs -d cpu song.mp3
- Aceleração de CPU com vários núcleos: Adicionar
-j
Os parâmetros são processados usando vários núcleos, por exemplo.-j 4
Usa 4 núcleos de CPU. - separação de seis trilhasO modelo experimental de seis faixas (com guitarra e piano) é compatível com a v4, mas a separação do piano pode ser mais falha. Use
-n htdemucs_6s
.
- Redimensionamento de segmentosQuando não houver memória de vídeo suficiente, defina
- Exibir ajuda
estar em movimentodemucs --help
Todos os parâmetros e descrições da linha de comando podem ser visualizados.
Operação da função em destaque
- Produção de karaokêDepois de separar os vocais, você pode usar o acompanhamento diretamente (
no_vocals.wav
) Produz faixas de karaokê. - separação em tempo realCom o plug-in VST/AU da Neutone, o Demucs pode ser integrado a uma estação de trabalho de áudio digital (DAW) para separação de faixas em tempo real.
- Serviços on-lineAudiostrip (https://audiostrip.co.uk/) e MVSep oferecem descolamento on-line gratuito com base no Demucs para iniciantes sem um ambiente local.
advertência
- A qualidade da separação depende da qualidade do áudio e da seleção do modelo. Recomenda-se usar um arquivo WAV de alta qualidade como entrada.
- O projeto não é mantido ativamente e só corrige os principais bugs, portanto, é recomendável verificar o GitHub
README
Receba as últimas atualizações. - Garanta pelo menos 8 GB de memória do sistema (memória física e de troca) ao processar áudio longo.
cenário do aplicativo
- produção musical
Os produtores musicais podem usar o Demucs para dividir faixas, ajustar os vocais, a bateria ou o baixo individualmente, remixar ou criar novas versões de músicas. - Produção de karaokê
Ao separar os vocais e as faixas de apoio, os usuários podem gerar rapidamente faixas de apoio de karaokê de alta qualidade para entretenimento doméstico ou uso comercial. - análise de áudio
Os pesquisadores podem usar o Demucs para isolar faixas de áudio, analisar estruturas musicais ou treinar outros modelos de áudio, adequados para pesquisas acadêmicas. - Pós-processamento de filmes e televisão
As equipes de pós-produção de filmes e TV podem isolar a música de fundo e o diálogo, redublar ou ajustar os efeitos sonoros para aumentar a flexibilidade da pós-produção.
QA
- Quais formatos de áudio são compatíveis com o Demucs?
O Demucs é compatível com formatos de áudio comuns, como MP3, WAV etc. O WAV é recomendado para uma separação ideal. - O que acontece quando a GPU não está disponível?
aumentar-d cpu
Os parâmetros são processados usando a CPU, que é mais lenta, mas não requer a execução da GPU. - E se os resultados da separação forem insatisfatórios?
Tente trocar de modelo (por exemplo-n htdemucs_ft
) ou verifique a qualidade do áudio de entrada. Áudio de baixa qualidade pode resultar em defeitos de separação. - Como posso reduzir meu consumo de memória?
fazer uso de--segment 8
parâmetros ou definir variáveis de ambientePYTORCH_NO_CUDA_MEMORY_CACHING=1
Os requisitos de memória podem ser reduzidos.