まずはPython
本ではMacのコンソールを利用してシェルからコマンドを叩いてインストールすることになってます。これによると最新版(21年6月)の3.9系はMegantaがサポートされてないので3.8系以下をダウンロードするように、ということになってます。更に3.8系への対応は最近なので検証が不足している、ということで3.7系を推奨されています。
う〜ん、困ったな。
いろいろやってみて確認してみることにしました。
Anacondaで環境を生成
取り敢えずAnnaconda経由で環境を生成していることにしました。インストールに利用したのはAnnaconda(2.0.4)で、ここにPython(3.8.11)を、更にはTensorflow(2.6.0)をインストールしていきます。
そして中心のmagenta(2.1.3)をインストール。
ここまでは順調に進みました。
あとは、これでちゃんと動くか、だよな。。
Melody RNNを使ってみる
最初に7種類あると言われているAI作曲モデルから、単音のシンプルなメロディーを作るMelody RNNを使ってみることにします。Melody RNNはMegantaの音楽構成の基本、とのことなので頑張って初めてみることにしました。
RNNとはニューラルネットワークの1種であるRNN(Recurrent Neural Network)を表しているそうで、その中でもLSMT(Long Short-Term Memory)を利用してメロディーを生成するのがMelody RNNだそうです。
- 特徴1 単音のメロディーのみ生成できる
- 特徴2 最初にガイドとなる音を与える
- 特徴3 曲の長さを指定できる
- 特徴4 コードやスケールは使用不可
- 特徴5 テンポの所定ができる(BPN)、ただし途中での変更不可
- 特徴6 自分の音楽データを学習させて独自の学習済みデータ作成できる
- 特徴7 学習済みデータが用意されている(4種)
とういうことで、早速いろいろ試して見ようと思います。
学習済みデータを試してみる
特徴7で挙げた4種の学習データを用意します。詳細は省きますがBasic/Loopback/Attention/Monoの4つをダウンロードし、任意のフォルダに配置してくことにします。
さて、いよいよトライですが、その前にPythonの実行環境を用意しておかなくてはならないですね。最初にインストールする際にmagenta用の仮想環境を生成しておいたので、その環境(manenta-env)に切り替えて置きます。これはシェル(Macで言うところのターミナル)から実施しました。
仮想環境の切り替え
$conda activate magenta-env
これで作成したmagentaの環境に切り替わるはずなので、ここで実行していくことになります。実行はSpyderなどを使っても良いのだと思いますが、とりあえずはシェルで試して行くことにします。
ここで利用していくのはmagentaの基本コマンドになります。
$melody_rnn_generate --config=学習済みデータ \
--bundle_file=バンドルファイル名 \
--output_dir=出力先 \
--num_outputs=5 \
--num_steps=64 \
--qpm=120.0 \
--primer_melody=[60]
ここでnum_outputsは生成する曲数、num_stepsはステップ数、qpmは楽曲のテンポ、primer_melodyはガイドとなる音データを指定します。
ここまでくれば、実行すれば何がしかのMIDIを生成してくれると踏んでいたのですが。。。
そんなに世の中甘くないですね。
$Illegal instruction: 4
やはり、バージョンがあってないからなのかなあ?
調べてみることに。
コメント