「Magentaで開発 AI作曲 【第3章】」を参考にMelody RNNでスノハレサビ1小節に続くメロディを生成してみた

 

アキバをブラブラしていたら、「Magentaで開発 AI作曲 」という本が目に入った。

気付いたら購入していた。

 

Magentaとは

magenta.tensorflow.org

Google先生の音楽機械学習ライブラリ。

数千曲のmidiデータから学習・作成された学習済みデータを基に、新たなmidiデータを生成する。

モデルによって、単純な単音メロディーはもとより、ドラムパターン、3パートによるバンド曲、コード進行に沿ったアドリブメロディ等を生成できるようだ。

 

章立て

「Magentaで開発 AI作曲」では、下記のような章立てとなっている。

  1. AIで作曲できる音楽機械学習ライブラリMagenta
  2. Magenta環境構築AI作曲実践準備
  3. 単音のシンプルなメロディーをつくるMelody RNN
  4. ドラム演奏の作曲を行うDrums RNN
  5. 3パートのバンド演奏作曲MusicVAE
  6. コード進行に沿ったアドリブメロディーの作曲Improv RNN
  7. バッハ風合唱曲の作曲を行うPolyphony RNN
  8. 現代音楽のような複雑な和音の作曲Pianoroll RNN
  9. 高度なピアノ演奏の作曲Performance RNN
  10. 音楽データの学習方法と学習済みデータの作成
  11. Magenta開発・独自モデルの作成
  12. Appendix Magentaのバリエーション

今回は、
3. 単音のシンプルなメロディーをつくるMelody RNN
を試してみた。

 

Melody RNNについて

Melody RNNは単音メロディを生成する音楽生成モデル。

Melody RNNで使用できる学習済みデータは4種類あり、それぞれ用途・特徴が異なる。

引用:Magentaで開発 AI作曲 P041 表3.1 各学習済みデータの特徴と音域

 

また、パラメータを設定することで、生成する曲数や曲長、テンポ、メロディ生成の基準となる最初の音・メロディを指定することができる。

 

お試し生成

今回は、Melody RNN & 各学習データを用いて、単音メロディーのmidiデータを生成してみた。

パラメータは下記の通り。

 

 

Basic:基本的なメロディー生成

Lookback:パターンに沿ったメロディー生成

 

Attention:時間的整合性のあるメロディー生成

 

Mono:MIDI全音域をカバー

 

おわりに

無事生成できた。

音楽的な良し悪しはよぐわがんにゃい...

歌詞をつけてボカロ等に歌わせるだけで、もしかしたらいい感じになるかもしれない。

次は4章よ~