AIで曲を作りたいと昔から思っていたのですが、プログラマーではないので私には無理かなぁとあきらめていました。
けど、こんな本があったので挑戦してみます。
Magentaをインストールしてみた
この本をしっかりできるくらいにはなりたいですね。
「Magenta」というライブラリでAI作曲ができるようです。
さっそく、Magentaをインストールしました。
しかし、かなり苦労したので忘備録的に残します。
以下の手順でMagenta環境を作ります。
- 仮想環境
- TensorFlowインストール(TensorFlow 2.7.0)
- Magentaインストール(Magenta 2.0.1)
1.仮想環境
まずは、仮想環境です。
「仮想環境」ってPythonでは普通のことらしいですね。
仮想環境という文字は見たことがあったのですがプロだけが使うものだと思ってました。。
Python Japanの仮想環境のページ↓
まず、Magentaを置きたいフォルダで以下のコマンドを実行します。
python -m venv (フォルダ名)
今回のフォルダ名は「magenta-env」としました。
なので、以下のコマンドを実行します。
python -m venv magenta-env
仮想環境ができるのでアクティベートします。
「アクティベート」は仮想環境を動かすことだと思います。
以下のコマンドとなります。
magenta-env\Scripts\activate
アクティベートするとコマンドプロンプトの行頭に (magenta-env) と付きます。
これで仮想環境ができたことになります。
ちなみに、アクティベートを終わる時は「deactivate」です。
2.TensorFlow
仮想環境を起動した状態でTensorFlowをインストールします。
以下のコマンドを実行します。
pip install tensorflow
おそらく問題なくインストールできるはずです。
TensorFlowのサイトはこちら。
3.Magenta
次は、Magentaのインストールです。
インストールは以下のコマンドです。
pip install magenta
エラーが出たら、以下のコマンドに変えてみてください。
私はエラーが出ました。
pip install --no-deps magenta==2.0.1
生成されたデータを入れるフォルダを作成する
次に、Magentaで生成されたが保存されるフォルダーを作ります。
ここでは「magenta-data」としました。
「magenta-env」と同じ階層に作ります。
ここに生成されたMidiデータが入ります。
basic_rnn.mag
次に以下URLから「basic_rnn.mag」というファイルをダウンロードします。
Magentaを実行する
次に、Magentaのコマンドを実行します。
以下のコマンドを入力します。
ディレクトリーはMagentaフォルダを置いた場所にします。
melody_rnn_generate --config=basic_rnn --bundle_file=C:\(ディレクトリー)\basic_rnn.mag --output_dir=C:\(ディレクトリー)\magenta-data --num_outputs=10 --num_steps=128 --primer_melody="[60]"
実行したところ、私の場合は「ModuleNotFoundError: No module named 'tensorflow_probability'」というエラーがでました。
これはモジュールがないということだと思うのでインストールします。
「ModuleNotFoundError: No module named 'tensorflow_probability'」の場合は以下のコマンドになります。
pip install tensorflow_probability
インストールしたら、再びMagentaのコマンドを実行します。
やっぱりモジュールエラーが出るのでpipでインストールします。
再び「tensor2tensor」がないとエラーがでたのでインストールします。
pip install tensor2tensor
しかし、インストールできなかったので、pipのアップグレードをしました。
コマンドは以下です。
python -m pip install --upgrade pip
引き続きエラーが出続けるので、すべてインストールします。
- tensorflow_probability
- tensor2tensor
- pretty-midi
- bokeh
- IPython
- pandas
- librosa
「librosa」をインストールした後、「melody_rnn_generate」のコマンドを実行すると無事に生成できました。
「magenta-data」を見るとMidiデータが10個ありました。
それらをMuseScoreで開いて再生します。
無事に再生できました。
ピアノの音で再生するとすごく変な感じ(下手な演奏)がしますが、DAWで音を変えてみるとかっこよくなったりします。
AI作曲と言っても、最終的には自分の音楽的な感性が問われてしまうような気がします。
機械には「あ、なんかいい感じ」的なことは、まだわからないですよね。