Introdução geral
O DiffRhythm é um projeto de código-fonte aberto desenvolvido pelo ASLP-lab (Audio, Speech and Language Processing Group, Northwestern Polytechnical University), com foco na criação de música de ponta a ponta por meio da tecnologia de inteligência artificial. Ele se baseia no modelo Latent Diffusion e é capaz de gerar uma música completa de até 4 minutos e 45 segundos, incluindo vocais e backing vocals, em apenas 10 segundos. O objetivo do DiffRhythm é solucionar o modelo tradicional de geração de música de alta complexidade, longo tempo de geração e que só pode gerar fragmentos dos pontos problemáticos, adequado para criadores de música, educadores e usuários do setor de entretenimento.
Experiência: https://huggingface.co/spaces/ASLP-lab/DiffRhythm
Lista de funções
- Geração de músicas de ponta a pontaInsira letras e dicas de estilo para gerar automaticamente uma música completa com vocais e faixas de apoio.
- inferência rápidaGerar uma música de até 4 minutos e 45 segundos em 10 segundos.
- Letras de músicas sincronizadas com a melodiaMelodia: Certifique-se de que a melodia gerada corresponda naturalmente às sílabas e ao ritmo da letra.
- Personalização de estiloSuporte a várias dicas de estilo musical para gerar músicas que atendam às necessidades do usuário.
- Suporte a código abertoCódigo-fonte: forneça código-fonte e modelos que permitam aos usuários personalizar e ampliar a funcionalidade.
- Saída de alta qualidadeA música gerada é de alto padrão em termos de qualidade de som e de audição.
Usando a Ajuda
Processo de instalação
O DiffRhythm é um projeto de código aberto baseado no GitHub que requer alguma base de programação para ser instalado e executado. Veja a seguir as etapas detalhadas de instalação:
- Preparação ambiental
- Certifique-se de ter o Python 3.8 ou superior instalado em seu computador.
- Instale o Git para fazer download do código do GitHub.
- Recomenda-se usar um ambiente virtual (por exemplo
venv
talvezconda
) para evitar conflitos de dependência.
- Download do código do projeto
- Abra um terminal e digite o seguinte comando para clonar o repositório DiffRhythm:
git clone https://github.com/ASLP-lab/DiffRhythm.git
- Vá para o catálogo de projetos:
cd DiffRhythm
- Abra um terminal e digite o seguinte comando para clonar o repositório DiffRhythm:
- Instalação de dependências
- Os projetos geralmente fornecem
requisitos.txt
que lista as bibliotecas Python necessárias. - Execute o seguinte comando no terminal para instalar a dependência:
pip install -r requirements.txt
- Se você não tiver esse arquivo, poderá instalar manualmente as bibliotecas principais, como o PyTorch, consultando as notas de dependência na página do GitHub ou na documentação.
- Os projetos geralmente fornecem
- Download do modelo pré-treinado
- Os modelos pré-treinados do DiffRhythm são normalmente hospedados no Hugging Face ou em outras plataformas de armazenamento em nuvem.
- entrevistas ASLP-lab/Base de DifRitmo Faça o download do arquivo do modelo (por exemplo
cfm_model.pt
). - Coloque os arquivos de modelo baixados na pasta especificada no diretório do projeto (geralmente descrito na documentação, por exemplo
modelos/
).
- Verificar a instalação
- Execute um comando de teste simples no terminal (consulte o arquivo README do GitHub para obter o comando exato), por exemplo:
python main.py --test
- Se nenhum erro for relatado, a instalação foi bem-sucedida.
- Execute um comando de teste simples no terminal (consulte o arquivo README do GitHub para obter o comando exato), por exemplo:
Como usar o DiffRhythm
A função principal do DiffRhythm é gerar músicas inserindo letras e dicas de estilo. Veja a seguir o procedimento detalhado de operação:
1. preparação de insumos
- letra da músicaEscreva uma letra de música (em chinês, inglês, etc.) e salve-a como um arquivo de texto (por exemplo
letras.txt
) ou digite-o diretamente na linha de comando. - Dicas de estiloDescrição do estilo: Prepare uma breve descrição do estilo, por exemplo, "pop-rock", "piano clássico" ou "música eletrônica de dança".
2. geração de músicas
- Abra um terminal e entre no diretório do projeto DiffRhythm.
- Execute o comando generate (os parâmetros específicos são baseados na documentação oficial, o exemplo de comando é o seguinte):
python generate.py --lyrics "lyrics.txt" --style "pop rock" --output "song.wav"
- Descrição do parâmetro:
--Letras
Especifica o caminho do arquivo de letras.--estilo
Digite uma sugestão de estilo musical.--output
Especifica o caminho e o nome do arquivo de áudio de saída.
- Aguarde cerca de 10 segundos e o programa gerará um arquivo de áudio no formato WAV no caminho especificado.
3. verificação da saída
- Quando a geração estiver concluída, encontre o
song.wav
e reproduza-o usando qualquer reprodutor de áudio (como o Windows Media Player ou o VLC). - Verifique se a letra está em sincronia com a melodia e se a qualidade do som está de acordo com o esperado.
Funções em destaque
- Geração de músicas de ponta a pontaDiffRhythm: Sem necessidade de segmentação, o DiffRhythm gera músicas completas de uma só vez. Os usuários só precisam fornecer a letra e o estilo, e não são necessários ajustes adicionais de parâmetros para obter o produto final.
- inferência rápidaA velocidade de geração é extremamente rápida graças à estrutura não autorregressiva e à técnica de difusão latente. Em comparação com o tempo de geração dos modelos tradicionais, que geralmente leva vários minutos, a geração de 10 segundos do DiffRhythm melhora muito a eficiência.
- Letras de músicas sincronizadas com a melodiaSe você achar que a melodia gerada não corresponde à letra, poderá ajustar o número de sílabas na letra ou adicionar descrições como "clear tempo" na dica de estilo para otimizar a saída.
- Personalização de estiloObservação: Experimente diferentes dicas de estilo, como "jazz", "folk" ou "hip-hop", e observe como os resultados mudam. Quanto mais específica for a sugestão de estilo, mais a música gerada se aproximará do que é esperado.
Dicas e truques
- Otimizar letras de músicaLetras curtas são mais fáceis de combinar com uma melodia do que as mais longas, evitando frases muito complexas.
- Geração de lotes:: Escreva um script simples que faça um loop pelas chamadas para o
generate.py
A música pode ser gerada para várias músicas ao mesmo tempo. - saída de depuraçãoSe os resultados gerados não forem satisfatórios, verifique os arquivos de registro (se houver) ou ajuste os parâmetros do modelo (por exemplo, número de etapas de difusão) conforme descrito na documentação do GitHub.
advertência
- Requisitos de hardwareO processo de geração requer altos recursos computacionais, e é recomendável usar um computador equipado com uma GPU para aumentar a velocidade.
- contribuição de código abertoSe você for bom em programação, poderá fazer um fork do projeto, otimizar o código ou adicionar novos recursos e enviar uma solicitação pull.
- Alerta de direitos autoraisMúsica gerada: A música gerada pode envolver riscos de direitos autorais devido a semelhanças estilísticas e é recomendada para estudo ou uso não comercial.
Com essas etapas, você pode começar a usar o DiffRhythm rapidamente e experimentar o processo de criação de uma música, desde a letra até uma música completa!