はじめに
magentaはGoogleBrainチームの作っているアート・音楽の生成プロジェクトです。
この記事では、magentaのGitHubレポジトリに書いてある内容をもとに曲を作ってみます。
なお、環境はMacです。
Docker を起動する
magentaはDockerイメージが上がってます。
下記のコマンドをterminalで叩くと、Dockerコンテナを起動することができます。
docker run -it -p 6006:6006 -v /tmp/magenta:/magenta-data tensorflow/magenta
Dockerを起動すると、Macの/tmp/magenta
とDockerコンテナ内の/magenta-data
が同期され、ファイルのやり取りができるようになります。
なお、Dockerコンテナ内の/magenta-data
配下のデータのみしか保存されないようです。
ちなみにDocker のインストールがまだの方は下記から。
Install Docker Engine
作曲してみる
上記のDockerコンテナにはすでに学習済みのモデルが入っています。
下記のコマンドをDocker上で叩くと、曲が生成されます。
bazel run //magenta/models/lookback_rnn:lookback_rnn_generate -- \
--bundle_file=/magenta-models/lookback_rnn.mag \
--output_dir=/magenta-data/lookback_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_melody="[60]"
なお、現在(2016/10/1時点)magentaのモデルとしては3つ準備されています。
・LookBack RNN、Attention RNN
・Basic RNN
上記のコマンドではこのうち、LookBack RNNの学習済みモデルを用いて曲を作っています。
他のモデルのものも準備されているので、例えば下記のコマンドを叩けば、attentionRNNでの学習済みモデルを用いて作曲が可能です。
bazel run //magenta/models/attention_rnn:attention_rnn_generate -- \
--bundle_file=/magenta-models/attention_rnn.mag \
--output_dir=/magenta-data/attention_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_melody="[60]"
聞いてみる
上記のコマンドでは数秒の曲が10パターン作成されます。
曲はDockerの/magenta-data
配下に作成され、Macの/tmp/magenta
配下に同期されます。
曲を適当な場所に移動して再生してみてください。
なお、MIDIファイルの再生にはアプリが必要ですが、私は下記を利用しています。
Aria MAESTOSA
曲を再生する分には十分ですが、他におすすめがあったら教えていただけますとありがたいです。
今後
ここでは学習済みモデルを使い短い楽曲を作る、ということをやってみました。
引き続き、自分の選んだ楽曲での学習から、作曲までやってみたいと思います。
ありがとうございました。