Wine9.21 & Yabridgeを用いてDTMプラグインを動作させる

(2025.05.05執筆)


Linux+REAPER環境のDTMで、最初に苦労するのが音源の導入です。
Ardourなら優秀なレガシー音源が付属しますが、本格的な音源は殆どがWindowsプラグインでの提供です。
そこでYabridgeというブリッジソフトを用いて、Linux上でもWindowsプラグインが動かせるようすることが今回の狙いです。

以降、sfz音源やKontakt音源などをLinux上で扱うことができるようになります。
加えて様々なVSTも、導入可能な状態になります。やってみましょう。

DAW(作曲ソフト)の下準備

Windows用プラグインの動作に必要なもの

  1. Wine9.21のインストール(Win用プラグインをLinux上で動かすもの)
  2. yabridgeの導入(このページに記載、Win用プラグインをDAWに認識させるもの)
  3. フリープラグインの動作テスト(このページにて記載)
  4. 各プラグインのライセンス認証(例:Kontaktは少し複雑)
  5. Spitfire等のプラグインを動かす場合「dxvk」という追加Wineパッケージを導入する


Yabridgeの前に、Wine9.21のインストール を完了させてください。 このページでは2と3の項目、Yabridgeの導入とフリープラグイン(Sforzando)の動作テストまで、追って記していきます。

YabridgeでWindows用プラグインが使えるまでの基本手順

  1. Yabridgeの入手
  2. Yabridgeのインストール
  3. yabridgectlの短縮コマンドを設定
  4. VSTプラグインの入手とインストール(例:Sforzando)
  5. yabridgectl addでプラグインパスを登録
  6. yabridgectl syncでLinux用のプラグイン構成.soに出力変換!
  7. REAPERを立ち上げ、出力した.soプラグインを読み込んで起動!
  8. おまけ:yabridge.tomlでパフォーマンス調整


最初のyabridgectlの設定までがいくつか工程を踏みます。がんばって!
これから手順を追って説明していきます。

Yabridgeの入手とインストール

YabridgeのReleaseページより、最新版を入手します。
執筆時点ではyabridge5.0.5.tar.gzをダウンロードしました。

ダウンロードしたyabridge.tar.gzを解凍し、(解凍するためには⇒解凍ライブラリが必要)
解凍したyabridgeフォルダを丸ごと、home/user/.local/share/以下に移動する。
~/.local/は隠しフォルダなのでこのとき「隠しファイルを表示」にチェックが必要です。




解凍したyabridgeフォルダを丸ごと、home/user/.local/share/以下に移動します




home/user/.local/share/yabridge/の中身は以下のような感じです。これでインストールは成功です!



README.mdだけは使い方のマニュアルなので、分かりやすいフォルダに移動しました。
以降、マニュアルを見ながらVST等を読み込めるよう、使い方を確認していきます。

[参考画像ここまで]

yabridgectlコマンドを使えるようにする

Yabridgeは設定をターミナル上で行わねばなりません。ターミナルを起動して以下を入力、実行し、操作コマンドを確認します。
~/.local/share/yabridge/yabridgectl



するとYabridge用のコマンド一覧の解説がでてきます。
ただ毎回"~/.local/share/yabridge/yabridgectl"のような直接ファイルパスを指定する記述は、コマンド入力が冗長になってしまい、扱いづらいと思います。

そこで、短縮コマンドの登録を~/.bashrcファイルに追記し、yabridgectlで同様の操作ができるように設定します。
ホームディレクトリの隠しファイルを表示させた状態で".bashrc"ファイルをテキストエディタで開いてみてください。



.bashrcファイルを開いたら、テキスト末尾に以下を追記し、保存します。
export PATH="$PATH:$HOME/.local/share/yabridge"




.bashrcの追記設定を保存して再度ターミナルを開くと、yabridgectlと入力しただけで、以降のコマンドを受け付けてもらえるようになります。
yabridgectl

ここまでがyabridgectlコマンドを使うための下準備です。
わからない場合は、yabridgectlコマンドの代わりに、毎回~/.local/share/yabridge/yabridgectlを入力しても大丈夫です。

試しにVSTプラグイン(Sforzando)をインストールしてみる

yabridgeの使用感を確かめるために、sfzプレイヤーで有名なプラグイン「Sforzando」を導入してみます。

plogue Sforzando ダウンロードページ


Windows用の最新版をダウンロードしたら~.exeを起動してインストールしてみてください。
インストールプラグイン形式はVST2とVST3で十分です。


インストール後、以下のフォルダにプラグインデータの所在を確認できると思います。
~/.wine/drive_c/Program Files/Common Files/VST2/


~/.wine/drive_c/Program Files/Common Files/VST3/


画像のように、余計なフォルダを省いて直接VSTプラグインを置くようにするとスッキリします。

yabridgectl add コマンドで、プラグインのインストールフォルダのパスを登録する

プラグインの用意ができたら、次にインストールフォルダをyabridgectlコマンドで指定します。
yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2"
yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3"
上記を実行しても特に反応ありませんが、間違いなくプラグインフォルダが登録されてます。

登録フォルダを確認するには、以下のコマンドを実行します。
yabridgectl list

yabridgectl sync コマンドで、フォルダ内の各プラグインをLinux用.soに変換出力!

yabridgectl sync
プラグインパスを登録したら、最後にyabridgectl sync コマンドを実行します。
およそ数十秒〜数分ほどで、~/.vstや~/.vst3フォルダ内に、Linux用プラグインとして認識される.soファイルが生成されます。
これにて、Yabridge側の設定はひとまず終了です。おつかれさまでした。

後の管理も、.wineにプラグインを追加するたびに"yabridgectl sync"を実行すればOKです。

REAPERで、VSTプラグインを読み込んで見る

後はDAW(REAPER)側でプラグインの読み込み先を、設定で確認します。
REAPERを立ち上げて、オプション(Options)⇒設定(Preferences)をクリックし、左メニュー項目で Plug-ins ⇒ VST を選択します。



REAPER7.12では画像のように、~/.vst;~/.vst3フォルダがデフォルトで指定されてます、パスはこのままOKです。
そして新規プラグインを追加するときは、設定のプラグインタブで、スキャン(Re-scan)を実行します。

...新しいプラグインが認識されます。

REAPERでSforzandoを起動してみよう



Wine9.21、Yabridge、REAPER経由で、Sforzandoが起動されました。
ちゃんと音が鳴りますね。立ち上がりも早い。様々な.sfz音源を入手できれば、これで多様な楽器群を扱えるようになります。

ひとまず無事にWindows用プラグインを実行させることができました。おめでとうございます。
今回SforzandoはVST2で起動させてますが、Yabridge側でパラメーター調整することで、さらにパフォーマンスが上がります。

休憩を挟んで、最後はおまけとして、もう少し設定を詰めてみましょう。

yabridge.tomlファイルでパフォーマンス調整

各プラグインのパフォーマンス調整に、新規で"yabridge.toml"ファイルを作成し、パラメーターの記述を調整することができます。

ファイルの作成場所は ~/.vst/yabridge/ または ~/.vst3/yabridge/以下になります。
Yabridgeによって生成された.soプラグインの格納フォルダに入ってください。



画像では~/.vst/yabridge/フォルダ以下で、右クリック「ドキュメントの作成⇒空のファイル」を選んで



[参考画像ここまで]

そこで yabridge.toml と名前をつけた、新しい空のファイルを作ります。
後は、yabridge.tomlをテキストエディタで編集します。 sforzando VST_x64.soの調整は、以下のように記述すると良いです。
["sforzando VST_x64.so"]
group = "sforzando_VST2"
editor_force_dnd = true
frame_rate = 30

「記述例」


編集後、保存して再びREAPERからSforzandoを起動させてみると、少しパフォーマンスが変わったと思います。
具体的には、複数トラックで、それぞれSforzandoを立ち上げたとき、起動スピードが早まってる。
Sforzando内のSettingタブでは、各トラックが合算された共有メモリとして数値が扱われている。ことが確認できると思います。

これは、SforzandoをVST3で立ち上げた場合と同等の効果で、総合的な読み込み速度が上昇しています。
しかし元々、SforzandoはVST2を前提に開発されたものなので、このようにパッチを宛ててVST2で運用するほうが確実だと筆者は思っています。

(ちなみにsforzando.clapの読み込みは、Wineパッケージが不足しており、wine初期の状態では機能しません)


それと描画のフレームレートを60から24に落としたので、SforzandoのCPU消費が下がっていることも確認できます。

yabridge.tomlのパラメーター設定項目

yabridge.tomlで扱えるパラメーターの種類を、公式Readme.mdから日本語訳してメモしておきます。 必要に応じて使い分けてみてください。Yabridgeの開発者さん。Linuxユーザー目線のブリッジソフトのお陰で、おそらくWinネイティブよりもパフォーマンスの高い状態でプラグインの運用を行えるようになりました。この場で多大な感謝を申し上げます。

group = "名前"

プラグイングループに任意の名前を指定することで、DAW内で複数の同名プラグインを立ち上げたときに同じプロセスでホストされ、リソースが共有されるようになります。 特にVST2のパフォーマンス向上に役立ちます。

VST3とCLAPの仕組み上、プラグイングループを有効にしているかどうかに関わらず、単一のVST3またはCLAPプラグインの複数のインスタンスは常に単一のプロセスでホストされます。 これらのプラグインでプラグイングループを使用する唯一の理由は、新しいプラグインを初めて読み込む際の読み込み時間をわずかに短縮することです。

一部のプラグインは、同じプラグインの他のインスタンス、あるいは同じメーカーの他のプラグインと通信する機能を備えています。これは、ミキシングプラグインでよく使用され、異なるトラック間でオーディオをルーティングすることなく、相互参照できるようにします。この機能を持つプラグインの例としては、FabFilter Pro-Q 3、MMultiAnalyzer、iZotopeミキシングプラグインなどがあります。この機能が動作するには、特定のプラグインのすべてのインスタンスが同じプロセスでホストされている必要があります。

disable_pipes = true か false

このオプションを有効にすると、yabridge は Wine プラグインホストの出力ストリームを、それ以上処理せずにファイルにリダイレクトします。これが役立つ可能性のあるプラグインのリストについては、既知の問題のセクションを参照してください。これはブール値に設定することができ、その場合、出力は $XDG_RUNTIME_DIR/yabridge-plugin-output.log または絶対パス(チルダまたは環境変数の拡張なし)に書き込まれます。デフォルトは false です。

editor_coordinate_hack = true か false

埋め込まれているウィンドウの絶対画面座標に依存するプラグインの互換性オプションです。Wine ウィンドウは DAW によって提供されるウィンドウ内に埋め込まれるため、これらの座標は一致せず、このオプションがないとプラグインは間違った場所に描画してしまいます。現在、このオプションを必要とするプラグインは PSPaudioware E27 と Soundtoys Crystallizer だけです。デフォルトは false です。

editor_disable_host_scaling = true か false

VST3 および CLAP プラグインのホスト駆動 HiDPI スケーリングを無効にします。Wine は現在、適切な分数 HiDPI サポートがないため、HiDPI ディスプレイを使用している場合はこのオプションを有効にする必要があります。ほとんどの場合、winecfg のグラフィック タブでフォント DPI を 192 に設定すると、プラグインは 200% のサイズで正しくスケーリングされます。デフォルトは false です。

editor_force_dnd = true か false

このオプションは、REAPER でのドラッグ アンド ドロップ サポートを強制的に有効にします。REAPER の FX ウィンドウ自体がドラッグ アンド ドロップをサポートしているため、ファイルをプラグイン エディタにドラッグすると、ドロップが FX ウィンドウによって傍受されます。これにより、通常の状況では REAPER でファイルをプラグインにドラッグできなくなります。このオプションを true に設定すると、FX ウィンドウからドラッグ アンド ドロップ サポートが削除され、ファイルを再びプラグインにドラッグできるようになります。デフォルトは false です。

editor_xembed = true か false

yabridge の通常のウィンドウ埋め込み方法の代わりに Wine の XEmbed 実装を使用します。一部のプラグインでは XEmbed を使用すると再描画の問題が発生し、エディターのサイズ変更が常に適切に機能するとは限りませんが、特定の設定では役に立つことがあります。空のエディター ウィンドウが表示される場合は、この Wine パッチを使用する必要があるかもしれません。デフォルトは false。

frame_rate = 半角数字

イベントが処理されるレート。通常はプラグインのエディター GUI のリフレッシュ レートでもあります。プラグイン グループを使用する場合、すべてのプラグインが同じイベント処理ループを共有するため、最後にロードされたプラグインによってリフレッシュ レートが設定されます。デフォルトは 60 です。

hide_daw = true か false

実際の DAW の名前をプラグインに報告しません。これが役に立つ可能性のある状況のリストについては、既知の問題のセクションを参照してください。これは、VST2、VST3、および CLAP プラグインに影響します。デフォルトは false。

vst3_prefer_32bit = true か false

VST3プラグインの64ビット版ではなく32ビット版を使用します。両方がインストールされており、それらが~/.vst3/yabridge内の同じVST3バンドル内にある場合です。このオプションはおそらく必要ありません。これらのオプションは、既知の問題セクションに記載されている問題に対する回避策です。使用するホストとプラグインによっては、いくつかを有効にする必要があるかもしれません。

[設定項目ここまで]

Yabridge利用の際は、DL付属のReadmeをよくお読みください

Yabridgeを使用の際は、DL付属のReadmeをよくお読みください。
英語が分からない場合は、翻訳アプリを駆使してください。様々な問題の解決策が記されています。

それでは。よきLinuxDTMライフをお過ごしください。

参考:Sforzandoで使えるフリーDL音源一覧




Sforzandoは、使える音源の幅が広がるのでぜひ活用されてみてください。

フリーのピアノ音源の中で一際おすすめなのがAccurate Salamander Project。
従来のフリー音源であるSalamanderGrandPianoにレゾナンスやリリース機能が追加され、ベロシティレイヤーも改良されたバージョンです。 Yamaha C5のグランドピアノの音色が元になっています。

Piano in 162は、SteinwayGrandPianoを収録したピアノ音源となっています。

SGM-v2は、古のGM音源を有志の方が揃えた基本楽器セットです。
FreePatsは無料で扱えるサウンドフォント音源がいくつか揃い、掘り出し物も(私も使ってるの幾つか)あります。
オーケストラ音源は、VSCO2のCEは無料の中では扱いやすいし楽器数もそこそこ。なお、此処でバラ売りしてるクロマチック打楽器系は即戦力クラスです()。

DreamAudioToolsオルゴール・ハープは、フリーとは思えないほど素敵。
ldk1609 Violinは、ソロ・バイオリン音源の神です。ただし最初に音程のチューンを一音一音揃える必要が在る、慣れたら自分で組んでみてください。

SFZ音源・カスタマイズ設定項目

  1. (例1:オルゴール音源を一から作る)
  2. (例2:ピアノ編・ベロシティレイヤー)
  3. (例3:ストリングス編・ダイナミクスレイヤー)