MuseGAN: un modelo de código abierto para generar música/bandas sonoras multipista y crear fácilmente clips musicales para varios instrumentos.
Últimos recursos sobre IAPublicado hace 9 meses Círculo de intercambio de inteligencia artificial 11.9K 00
Introducción general
MuseGAN es un proyecto de generación de música basado en redes generativas adversariales (GAN) diseñadas para generar música multipista (multiinstrumento). El proyecto es capaz de generar música desde cero o acompañada de pistas suministradas por el usuario.MuseGAN se entrena utilizando el conjunto de datos Lakh Pianoroll Dataset para generar fragmentos de canciones populares que contienen bajo, batería, guitarras, piano y cuerdas. La última implementación se basa en una arquitectura de red de capas convolucionales 3D con un tamaño de red menor pero un control reducido.MuseGAN proporciona una variedad de scripts para facilitar operaciones como la gestión de experimentos, el entrenamiento de nuevos modelos y la inferencia e interpolación utilizando modelos preentrenados.

Lista de funciones
- Genera música multipista: genera clips musicales desde cero que contengan varios instrumentos.
- Generación de acompañamientos: Genera acompañamientos basados en pistas suministradas por el usuario.
- Entrenamiento de nuevos modelos: se proporcionan scripts y archivos de configuración para facilitar a los usuarios el entrenamiento de sus propios modelos de generación de música.
- Uso de modelos preentrenados: descarga y utiliza modelos preentrenados para la generación de música.
- Procesamiento de datos: descarga y procesamiento de datos de entrenamiento con soporte para Lakh Pianoroll Dataset.
- Gestión de experimentos: Proporcionar una variedad de scripts para facilitar a los usuarios la configuración y gestión de experimentos.
- Formato de salida: la música generada puede guardarse en formatos de matriz numpy, archivo de imagen y archivo pianoroll multipista.
Utilizar la ayuda
Proceso de instalación
- Asegúrese de que pipenv (recomendado) o pip está instalado.
- Utilice pipenv para instalar las dependencias:
bash
instalar pipenv
shell pipenv
或使用pip安装依赖:
bash
pip install -r requisitos.txt
### 数据准备
1. 下载训练数据:
bash
. /scripts/descargar_datos.sh
2. 处理训练数据:
bash
. /scripts/process_data.sh
### 训练新模型
1. 设置新实验:
bash
. /scripts/configuraciónexp.sh ". /exp/miexperimento/" "Observaciones sobre el experimento"
2. 修改配置文件和模型参数文件以设置实验参数。
3. 训练模型:
bash
. /scripts/runtren.sh ". /exp/miexperimento/" "0"
或运行完整实验(训练+推理+插值):
bash
. /scripts/runexp.sh ". /exp/miexperimento/" "0"
### 使用预训练模型
1. 下载预训练模型:
bash
. /scripts/descargar_modelos.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 = Multipista('. /prueba.npz')
m.write('. /prueba.mid')
Ejemplos de resultados
En la página./exp/
del catálogo. Puede descargar más ejemplos en los siguientes enlaces:
- muestra_resultados.tar.gz(54,7 MB): Ejemplos de resultados de inferencia e interpolación
- muestras_entrenamiento.tar.gz(18,7 MB): Ejemplos de resultados generados en diferentes pasos
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...