はじめに
この記事は MOD Audio ( https://mod.audio/ )が無料で提供しているギターマルチエフェクター、MOD Desktop の Windows版プラグインを Windowsの WSL 環境を使って増やそうという試みです。
今まで、MOD Desktop Linux版では mod-plugin-builder という Linux用のプラグインを作成できるツールがあって、実際に上記のように増やせたのですが、Windows版では mod-plugin-builder は利用できませんでした。
もともと MOD Desktop のもととなった MOD Dwarf は Linux OS をベースに作られており、そのプラグインも Linux の音楽制作で使われている lv2 という規格で作られています。
lv2 は Linux 限定の規格ではないので、Windows でも使うことができますが、Windows ではたぶんほとんど使われていません。
そこで MOD Audio や Darkglass Anagram の開発にも携わっておられる falkTX さんが準備したのが、オーディオ・プラグインのためのクロスプラットフォーム・ビルドスクリプト PawPaw です。
今回はその PawPaw を使って、Guitarix という Linux向けギター・マルチエフェクターを作成しておられる brummer さんの ToneTwistPlug を Windows版 MOD Desktop向けに作成しようというものです。
たぶん ToneTwistPlugs 以外にも PawPaw でクロスビルドできるプラグインがあると思いますので、もし成功したら教えていただけると幸いです。
WSLの準備
WSL はわたしは Ubuntu 24.04 LTS を利用しました。
導入方法等はたくさん記事があるので、そちらを参照してください。
導入が終わったら、下記のようにアップデート&アップグレードします。
sudo apt update
sudo apt upgrade
開発環境をインストールします。
sudo apt install build-essential mingw-w64 git curl cmake autoconf \
meson gperf libssl-dev libedit-dev zlib1g zlib1g-dev libbz2-dev \
libsqlite3-dev libffi-dev readline-dev tk-dev liblzma-dev
PawPaw は wine も利用しているようなので、インストールします。
sudo apt install wine
PawPaw には上記のような問題があって、Python3.12以降ではスクリプトが通らない部分があるので、pyenv を使って Python1.11.13 を導入します。
curl -fsSL https://pyenv.run | bash
.bashrc に下記を追記します。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
一度 Ubuntuターミナルを閉じて、再び起動します。
Python をインストールします。
pyenv install 3.11.13
pip で meson もインストールします。
pyenv global 3.11.13
pip install meson
これでひとまず準備完了です。
PawPaw の環境構築
git clone https://github.com/DISTRHO/PawPaw.git
cd PawPaw
./bootstrap-plugins.sh win64
たぶん上記の問題でスクリプトがエラーで止まると思います。
これは $HOME/PawPawBuilds/targets/win64/bin/gdbus-codegen のシェバングが #!/usr/bin/python3 と絶対パスで書かれているからです。
一時的に $HOME/.pyenv/shims/python3 を /usr/bin/python3 コピーするか、リンクします。(あとで戻しておいてください。ほかに良い方法があれば教えてください。)
再度、bootstrap-plugins.sh を実行します。
エラーで下記のコマンドを実行するように指示されるので実行します。
(先に下記を実行しておくとエラーで進めなくなったので、このタイミングで実行します。ほかに良い方法があれば教えてください。)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine32:i386
またエラーになるので、下記を実行します。
cd ~/PawPawBuilds/targets/win64
mv wine wine.back
cd -
./bootstrap-plugins win64
止まったら、たぶん PawPaw の環境構築の終了です。
PawPaw の使い方
source local.env win64
上記を実行したあと、希望の lv2 プラグインのレポジトリをクローンしてきて make すれば良いだけです。
git clone --recurse-submodules https://github.com/brummer10/ToneTwistPlugs.git
cd ToneTwistPlugs
make
make が通ったら、bin以下に成果物があるので、Documents/MOD Desktop/lv2フォルダを作り、コピーします。
mkdir /mnt/c/Users/ユーザー名/Documents/MOD\ Desktop/lv2
cp -r tubescreamer.lv2 /mnt/c/Users/ユーザー名/Documents/MOD\ Desktop/lv2/
その他
PawPaw でビルドできるプラグイン。
今後
今回ビルドしたプラグインは見た目があんまり良くないので、その辺をなんとかしたいです。
