機械学習を用いた音楽生成ツールプロジェクトMagenta

less than 1 minute read

Magentaは,``An open source research project exploring the role of machine learning as a tool in the createive process.’’ である。 

Generating music with Python and Neural Networks using Magenta for TensorFlow を参照して,使う.

まずは,Pythonでmagentaをインストールする.

インストールできたら,最初にTensorFlowチームが生成した訓練ずみのモデルを用いて旋律を生成することにする.

上記のサイトにリンクのあるbasic_rnn.magをダウンロードする。このファイルは,多くのMIDIファイルで訓練ずみのニューラルネットモデルを表すものである。旋律を生成するには,--primer_melodyを指定する。

melody_rnn_generate \
--config=basic_rnn \
--bundle_file=./basic_rnn.mag \
--output_dir=./tmp/melody_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_melody="[60]"

これを実行すると,カレントディレクトリの下のtmpディレクトリにmelody_rnnディレクトリが作成され,さらにその下にgeneratedが作成され,そこに10個のMIDIファイルが生成される。

Magentaの開発チームは,LookbackRNNモデルも用意している。この訓練ずみモデルを表すファイルlookback_rnn.magをダウンロードし,次の命令を実行する。

melody_rnn_generate \
--config=lookback_rnn \
--bundle_file=./lookback_rnn.mag \
--output_dir=/tmp/melody_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_melody="[60]"

次に,指定したMIDIファイルが表す旋律を元に,旋律を生成する。 同じく上記のブログ記事から,T-squareのOmens of Lovesの4小節分のメロディのMIDIファイルOmensOfLove.midをダウンロードする。

これを元に旋律を生成するには,次の命令を実行する。ニューラルネットとして,ここではlookback RNNを指定した。

melody_rnn_generate \
--config=lookback_rnn \
--bundle_file=./lookback_rnn.mag \
--output_dir=./tmp/melody_rnn/generated \
--num_outputs=10 \
--num_steps=128 \
--primer_midi=./OmensOfLove.mid

Tags:

Updated: