AIパーソナル・ラーニング
と実践的なガイダンス

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

はじめに

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

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


 

機能一覧

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

 

ヘルプの使用

設置プロセス

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

バッシュ
pipenv install
pipenv shell

或使用pip安装依赖:

バッシュ
pip install -r requirements.txt

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

バッシュ
./scripts/download_data.sh

2. 处理训练数据:

バッシュ
./scripts/process_data.sh

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

バッシュ
./scripts/setupexp.sh "./exp/myexperiment/" "实验备注"

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

バッシュ
./scripts/runtrain.sh "./exp/myexperiment/" "0"

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

バッシュ
./scripts/runexp.sh "./exp/myexperiment/" "0"

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

バッシュ
./scripts/download_models.sh

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

バッシュ
./scripts/run_inference.sh "./exp/default/" "0"

或进行插值:

バッシュ
./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文件:

パイソン
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の無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語