MuseGAN: модель с открытым исходным кодом для генерации многодорожечной музыки/саундтреков и простого создания музыкальных клипов для нескольких инструментов

Общее введение

MuseGAN - это проект по генерации музыки на основе генеративных адверсарных сетей (GAN), предназначенный для создания многодорожечной (мультиинструментальной) музыки. Проект способен генерировать музыку с нуля или в сопровождении предоставленных пользователем треков. MuseGAN обучается на базе Lakh Pianoroll Dataset для генерации фрагментов популярных песен, содержащих бас, барабаны, гитары, фортепиано и струнные. Последняя реализация основана на сетевой архитектуре из 3D-конволюционных слоев с меньшим размером сети, но меньшим контролем.MuseGAN предоставляет множество скриптов для облегчения таких операций, как управление экспериментами, обучение новых моделей, вывод и интерполяция с использованием предварительно обученных моделей.

MuseGAN:生成多轨音乐/配乐的开源模型,轻松创作多种乐器的音乐片段

 

Список функций

  • Создание многодорожечной музыки: создание музыкальных клипов с несколькими инструментами с нуля.
  • Генерация аккомпанемента: генерируйте аккомпанементы на основе предоставленных пользователем треков.
  • Обучение новых моделей: предоставляются скрипты и файлы конфигурации, позволяющие пользователям обучать свои собственные модели генерации музыки.
  • Использование предварительно обученных моделей: загрузите и используйте предварительно обученные модели для генерации музыки.
  • Обработка данных: загрузка и обработка обучающих данных с поддержкой Lakh Pianoroll Dataset.
  • Управление экспериментами: Предоставьте различные скрипты, чтобы облегчить пользователям постановку и управление экспериментами.
  • Формат вывода: сгенерированная музыка может быть сохранена в виде массива numpy, файла изображения и многодорожечного файла pianoroll.

 

Использование помощи

Процесс установки

  1. Убедитесь, что установлены pipenv (рекомендуется) или pip.
  2. Используйте pipenv для установки зависимостей:

bash
pipenv install
оболочка 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/myэксперимент/" "Замечания по эксперименту"

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

bash
. /scripts/runtrain.sh ". /exp/myэксперимент/" "0"

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

bash
. /scripts/runexp.sh ". /exp/myэксперимент/" "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
из pypianoroll import Multitrack
m = Multitrack('. /test.npz')
m.write('. /test.mid')

Примерные результаты

Некоторые примеры результатов можно найти в разделе./exp/можно найти в каталоге. Другие примеры можно загрузить по следующим ссылкам:

  • sample_results.tar.gz(54,7 МБ): Примеры результатов умозаключений и интерполяции
  • training_samples.tar.gz(18,7 МБ): Примеры результатов, полученных на разных этапах
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...