AI个人学习
和实操指南

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

综合介绍

MuseGAN是一个基于生成对抗网络(GAN)的音乐生成项目,旨在生成多轨(多种乐器)音乐。该项目能够从零开始生成音乐,或根据用户提供的轨道进行伴奏。MuseGAN使用Lakh Pianoroll Dataset进行训练,生成包含贝斯、鼓、吉他、钢琴和弦乐的流行歌曲片段。最新的实现基于3D卷积层的网络架构,具有较小的网络规模,但控制能力有所降低。MuseGAN提供了多种脚本,方便用户管理实验、训练新模型、使用预训练模型进行推理和插值等操作。

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


 

功能列表

  • 生成多轨音乐:从零开始生成包含多种乐器的音乐片段。
  • 伴奏生成:根据用户提供的轨道生成伴奏。
  • 训练新模型:提供脚本和配置文件,方便用户训练自己的音乐生成模型。
  • 使用预训练模型:下载并使用预训练模型进行音乐生成。
  • 数据处理:下载和处理训练数据,支持Lakh Pianoroll Dataset。
  • 实验管理:提供多种脚本,方便用户设置和管理实验。
  • 输出格式:生成的音乐可以以numpy数组、图像文件和多轨pianoroll文件格式保存。

 

使用帮助

安装流程

  1. 确保已安装pipenv(推荐)或pip。
  2. 使用pipenv安装依赖:

bash
pipenv install
pipenv shell

或使用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/" "实验备注"

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

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

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

bash
./scripts/runexp.sh "./exp/myexperiment/" "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')

示例结果

一些示例结果可以在./exp/目录中找到。更多示例可以从以下链接下载:

AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » MuseGAN:生成多轨音乐/配乐的开源模型,轻松创作多种乐器的音乐片段

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文