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

MuseGAN: マルチトラック音楽/サウンドトラックを生成し、複数の楽器の音楽クリップを簡単に作成するためのオープンソースモデル

はじめに

MuseGANはGenerative Adversarial Networks (GANs)に基づいた音楽生成プロジェクトで、マルチトラック(マルチ楽器)の音楽を生成するように設計されています。MuseGANはLakh Pianoroll Datasetを使用して学習され、ベース、ドラム、ギター、ピアノ、ストリングスを含む人気曲のスニペットを生成する。MuseGANは、実験の管理、新しいモデルのトレーニング、事前にトレーニングされたモデルを使用した推論や補間などの操作を容易にする様々なスクリプトを提供します。

MuseGAN: マルチトラック音楽/サウンドトラック生成のためのオープンソースモデル。


 

機能一覧

  • マルチトラック音楽の生成:複数の楽器を含む音楽クリップをスクラッチから生成。
  • 伴奏生成:ユーザーが提供したトラックに基づいて伴奏を生成します。
  • 新しいモデルのトレーニング:ユーザーが独自の音楽生成モデルをトレーニングできるように、スクリプトと設定ファイルが提供されています。
  • 事前学習済みモデルの使用:音楽生成用に事前学習済みモデルをダウンロードして使用します。
  • データ処理:Lakh Pianorollデータセットをサポートするトレーニングデータをダウンロードし、処理する。
  • 実験管理:ユーザーが実験を設定・管理しやすいように、さまざまなスクリプトを提供する。
  • 出力形式:生成された音楽はnumpy配列、画像ファイル、マルチトラックピアノロールファイル形式で保存できます。

 

ヘルプの使用

設置プロセス

  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.新しい実験をセットアップする:

バッシュ
./スクリプト/セットアップexp.sh "./exp/myexperiment/" "実験に関する備考"

2. 設定ファイルとモデルパラメータファイルを修正し、実験パラメータを設定する。
3. モデルをトレーニングする:

バッシュ
./スクリプト/実行train.sh "./exp/myexperiment/" "0"

あるいは、完全な実験(トレーニング+推論+補間)を行う:

バッシュ
./スクリプト/実行exp.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 に設定することでこの動作を無効にすることができます。生成された音楽サンプルは以下の3つの形式で保存される:
- .npy`:生のnumpy配列
- .png`: 画像ファイル
- .npz`: Pypianoroll パッケージから読み込むことができる、マルチトラックのピアノロールファイル。
設定ファイルで `save_array_samples`、`save_image_samples`、`save_pianoroll_samples` を False に設定することで、特定のフォーマットの保存を無効にすることができます。生成されたピアノロール・ファイルは容量と処理時間を節約するために `.npz` フォーマットで保存されます。以下のコードを使ってMIDIファイルに書き込むことができる:

パイソン
from pypianoroll import Multitrack
m = Multitrack('./test.npz')
m.write('./test.mid')

結果例

いくつかのサンプル結果は./exp/。カタログをご覧ください。その他の例は以下のリンクからダウンロードできます:

無断転載を禁じます:チーフAIシェアリングサークル " MuseGAN: マルチトラック音楽/サウンドトラックを生成し、複数の楽器の音楽クリップを簡単に作成するためのオープンソースモデル

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語