「Magentaで開発 AI作曲 【第3章】」を参考にMelody RNNでスノハレサビ1小節に続くメロディを生成してみた
アキバをブラブラしていたら、「Magentaで開発 AI作曲 」という本が目に入った。
気付いたら購入していた。
Magentaとは
数千曲のmidiデータから学習・作成された学習済みデータを基に、新たなmidiデータを生成する。
モデルによって、単純な単音メロディーはもとより、ドラムパターン、3パートによるバンド曲、コード進行に沿ったアドリブメロディ等を生成できるようだ。
章立て
「Magentaで開発 AI作曲」では、下記のような章立てとなっている。
- AIで作曲できる音楽機械学習ライブラリMagenta
- Magenta環境構築AI作曲実践準備
- 単音のシンプルなメロディーをつくるMelody RNN
- ドラム演奏の作曲を行うDrums RNN
- 3パートのバンド演奏作曲MusicVAE
- コード進行に沿ったアドリブメロディーの作曲Improv RNN
- バッハ風合唱曲の作曲を行うPolyphony RNN
- 現代音楽のような複雑な和音の作曲Pianoroll RNN
- 高度なピアノ演奏の作曲Performance RNN
- 音楽データの学習方法と学習済みデータの作成
- Magenta開発・独自モデルの作成
- 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章よ~