LoginSignup
29
32

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-10-01

はじめに

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

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

今後

ここでは学習済みモデルを使い短い楽曲を作る、ということをやってみました。
引き続き、自分の選んだ楽曲での学習から、作曲までやってみたいと思います。

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

29
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
32