音楽
機械学習
DeepLearning
TensorFlow
magenta

TensorFlow製アート・音楽生成プロジェクト「magenta」で曲を作ってみる。

More than 1 year has passed since last update.


はじめに

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

曲を再生する分には十分ですが、他におすすめがあったら教えていただけますとありがたいです。


今後

ここでは学習済みモデルを使い短い楽曲を作る、ということをやってみました。

引き続き、自分の選んだ楽曲での学習から、作曲までやってみたいと思います。

ありがとうございました。