Magenta編①
目次
Magentaについて
Magentaとは音楽生成するAI機械学習ライブラリーです。MuLogicalではV2.06からMagentaを用いて音楽を生成しMuLogicalに読み込む事が出来るように機能を追加しました。MuLogicalでMagentaを使用する前に、Pythonおよび、PythonのライブラリーTensorFlowとMagentaをインストールしPythonの仮想環境を構築する必要があります。まずMagentaの環境構築について説明します。
Magentaの開発については以下の本と
こちらのページを参考にしました。
magenta/magenta/models at main · magenta/magenta · GitHub
詳しくMagentaについて知りたい方は、上記の本やサイトを参考になさってください。ここではMagenta自体の説明はかなり省略させていただき、MuLogicalでのMagentaの使い方を主に説明していきたいと思います。 なお、これから説明する内容について、いかなる損害、その他についても作者はその責任を負いません。ご了承いただけた上でMagentaを試してみてください。
Pythonのインストール
Pythonは以下のページでダウンロード出来ます。
※ダウンロードするVersionですが、私のパソコンの環境で2023年7月の時点でMagentaライブラリーの最新のVersionが2.1.4でした。初めにPython3.11.4をインストールしたのですが、後述するMagentaのインストール時に以下のエラーが出てインストール出来ませんでした。
src\_rtmidi.cpp(216): fatal error C1083: include ファイルを開けません。'longintrepr.h':No such file or directory
次に3.10.11をインストールしたのですが、rtmidi.cppでコンパイルエラーが発生しインストールすることが出来ませんでした。3.7.9をインストールした所上手く行きました。Magentaのインストール時にエラーが出る場合はPythonのバージョンが影響している可能性が高いかもしれません。因みにそれ以外のPythonのバージョンは試していません。
インストール時にPATHに追加にチェックを入れて置いてください。
仮想環境の作成
次にMagenta用のフォルダを作成します。好きな場所に好きな名前で作成していただいて構いません。作成したらコマンドプロンプトを起動してください。cdコマンドを使い、作成したMagenta用のフォルダに移動します。私の場合はDドライブにmagentaTestというフォルダを作成したのでDドライブに移動してからmagentaTestに移動しています。そこで仮想環境作成のコマンド
python -m venv magenta-env
と入力してEnterを押してください。
作成したフォルダにmagenta-envというフォルダが作成されているかと思います。次に以下のコマンドを入力して仮想環境を有効化します。
magenta-env\Scripts\activate
以下のように(magenta-env)と最初に表示されていればOKです。
ライブラリーのインストール
上記のコマンドプロンプトで pip install tensorflow と入力しtensorflowライブラリーをインストールします。時間がかかりますがインストール後、pip listと入力してtensorflowが出力されていればOKです。同様にpip install magentaと入力してmagentaをインストールします。
※私の環境では、pip install tensorflow と入力してインストールすると以下のエラーが発生してインストール出来ませんでした。
ERROR: tensorflow-intel 2.11.0 has requirement flatbuffers>=2.0, but you'll have flatbuffers 1.12 which is incompatible.
ERROR: tensorflow-intel 2.11.0 has requirement keras<2.12,>=2.11.0, but you'll have keras 2.9.0 which is incompatible.
ERROR: tensorflow-intel 2.11.0 has requirement tensorboard<2.12,>=2.11, but you'll have tensorboard 2.9.1 which is incompatible.
ERROR: tensorflow-intel 2.11.0 has requirement tensorflow-estimator<2.12,>=2.11.0, but you'll have tensorflow-estimator 2.9.0 which is incompatible.
ERROR: resampy 0.4.2 has requirement numba>=0.53, but you'll have numba 0.49.1 which is incompatible.
このエラーはtensorflow-intelのVersion 2.11.0はflatbuffersのVersion2.0以上を要求しているけど、あなたはflatbuffers1.12を持っていますという意味で、以下のようにflatbuffers2.0を入れ直したのですが、今度はMagentaのインストール時にエラーが発生します。
pip uninstall flatbuffers
pip install flatbuffers=2.0
色々試してみた結果tensorflowのバージョンを2.10.0rc0に下げることによって上手くいきました。私の環境で打ったコマンドは以下になります。
pip install tensorflow-intel==2.10.0rc0
pip install magenta
ただこれは、環境とインストールする時期によると思いますので、インストール時にエラーが発生した場合は、python、tensorflow、magentaのバージョンの組み合わせの可能性が高いと思っていただくといいのかなと思います。
学習データと初めのフレーズデータフォルダの作成
MuLogical用に学習データと初めのフレーズデータフォルダを作成しておいてください。場所はどこでもいいですが、私は先ほど作成したMagentaフォルダの下にD:\magentaTest\learnData、D:\magentaTest\firstMelodyという名前にしました。