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

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:生成多轨音乐/配乐的开源模型,轻松创作多种乐器的音乐片段-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

或使用pip安装依赖:

bash
pip install -r requirements.txt

### 数据准备
1. 下载训练数据:

bash
. /scripts/download_data.sh

2. 处理训练数据:

bash
. /scripts/process_data.sh

### 训练新模型
1. 设置新实验:

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

2. 修改配置文件和模型参数文件以设置实验参数。
3. 训练模型:

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

或运行完整实验(训练+推理+插值):

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

### 使用预训练模型
1. 下载预训练模型:

bash
. /scripts/download_models.sh

2. 使用预训练模型进行推理:

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

或进行插值:

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

### 输出管理
生成的音乐样本默认会在训练过程中生成,可以通过设置配置文件中的`save_samples_steps`为0来禁用此行为。生成的音乐样本会以以下三种格式保存:
- `.npy`:原始numpy数组
- `.png`:图像文件
- `.npz`:多轨pianoroll文件,可通过Pypianoroll包加载
可以通过设置配置文件中的`save_array_samples`、`save_image_samples`和`save_pianoroll_samples`为False来禁用特定格式的保存。生成的pianoroll文件以`.npz`格式保存,以节省空间和处理时间。可以使用以下代码将其写入MIDI文件:

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:

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
pt_BRPortuguês do Brasil