Aprendizagem pessoal com IA
e orientação prática

MuseGAN: um modelo de código aberto para gerar músicas/trilhas sonoras de várias faixas e criar facilmente clipes de música para vários instrumentos

Introdução geral

O MuseGAN é um projeto de geração de música baseado em Redes Adversárias Generativas (GANs) projetado para gerar músicas com várias faixas (vários instrumentos). O projeto é capaz de gerar músicas do zero ou acompanhadas por faixas fornecidas pelo usuário. O MuseGAN é treinado usando o conjunto de dados Lakh Pianoroll para gerar trechos de músicas populares contendo baixo, bateria, guitarras, piano e cordas. A implementação mais recente baseia-se em uma arquitetura de rede de camadas convolucionais 3D com um tamanho de rede menor, mas com controle reduzido. O MuseGAN oferece vários scripts para facilitar as operações, como o gerenciamento de experimentos, o treinamento de novos modelos e a inferência e interpolação usando modelos pré-treinados.

MuseGAN: um modelo de código aberto para gerar músicas/trilhas sonoras multitrilha para criar facilmente clipes de música para vários instrumentos-1


 

Lista de funções

  • Gerar música de várias faixas: gere clipes de música do zero contendo vários instrumentos.
  • Geração de acompanhamento: gere acompanhamentos com base em faixas fornecidas pelo usuário.
  • Treinamento de novos modelos: Scripts e arquivos de configuração são fornecidos para facilitar aos usuários o treinamento de seus próprios modelos de geração de música.
  • Uso de modelos pré-treinados: baixe e use modelos pré-treinados para geração de música.
  • Processamento de dados: faça o download e processe os dados de treinamento com suporte para o Lakh Pianoroll Dataset.
  • Gerenciamento de experimentos: forneça uma variedade de scripts para facilitar aos usuários a configuração e o gerenciamento de experimentos.
  • Formato de saída: a música gerada pode ser salva em matrizes numpy, arquivos de imagem e formatos de arquivo pianoroll de várias faixas.

 

Usando a Ajuda

Processo de instalação

  1. Certifique-se de que o pipenv (recomendado) ou o pip esteja instalado.
  2. Use o pipenv para instalar as dependências:

bash
instalação do pipenv
shell do pipenv

ou use o pip para instalar as dependências:

bash
pip install -r requirements.txt

### Preparação dos dados
1. faça o download dos dados de treinamento:

bash
. /scripts/download_data.sh

2. processamento de dados de treinamento:

bash
. /scripts/process_data.sh

### Treinamento de um novo modelo
1. configure o novo experimento:

bash
. /scripts/setupexp.sh ". /exp/myexperiment/" "Observações sobre o experimento"

2. modificar o arquivo de configuração e o arquivo de parâmetros do modelo para definir os parâmetros experimentais.
3. treinar o modelo:

bash
. /scripts/runtrain.sh ". /exp/myexperimento/" "0"

Ou execute o experimento completo (treinamento + inferência + interpolação):

bash
. /scripts/runexp.sh ". /exp/myexperimento/" "0"

### Usando o modelo de pré-treinamento
1 Faça o download do modelo de pré-treinamento:

bash
. /scripts/download_models.sh

2. inferência usando modelos pré-treinados:

bash
. /scripts/run_inference.sh ". /exp/default/" "0"

ou interpolação:

bash
. /scripts/run_interpolation.sh ". /exp/default/" "0"

### Gerenciamento de saída
Por padrão, as amostras de música geradas são geradas durante o treinamento; esse comportamento pode ser desativado definindo-se `save_samples_steps` como 0 no arquivo de configuração. As amostras de música geradas são salvas nos três formatos a seguir:
- `.npy`: matriz numérica bruta
- `.png`: arquivo de imagem
- `.npz`: arquivos pianoroll de várias trilhas, que podem ser carregados por meio do pacote Pypianoroll
O salvamento de formatos específicos pode ser desativado definindo-se `save_array_samples`, `save_image_samples` e `save_pianoroll_samples` como False no arquivo de configuração. Os arquivos de pianoroll gerados são salvos no formato `.npz` para economizar espaço e tempo de processamento. Ele pode ser gravado em um arquivo MIDI usando o seguinte código:

python
from pypianoroll import Multitrack
m = Multitrack('. /test.npz')
m.write('. /test.mid')

Exemplos de resultados

Alguns exemplos de resultados podem ser encontrados na seção. /exp/pode ser encontrado no catálogo. Mais exemplos podem ser baixados nos links a seguir:

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MuseGAN: um modelo de código aberto para gerar músicas/trilhas sonoras de várias faixas e criar facilmente clipes de música para vários instrumentos

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil