今回は、音声処理用プラグイン規格であるLADSPA/DSSI/LV2を使うレシピをお届けします。
LADSPA/DSSI/SV2とは
音声処理用のプラグインに関しては、本連載の第194回でVST規格に対応したプラグインのWindows用DLLファイルを使う方法を紹介しました。VSTプラグインを使うことで音声にエフェクトを付けたり、シンセサイザーソフトウェアを利用したりすることができますが、LADSPA/DSSI/LV2もこのようなプラグイン規格です。VSTとは異なりオープンなライセンスでリリースされています。
LADSPAはLinux用の最初のプラグイン規格で、2000年に作られました。Linux Audio Developer's Simple Plugin APIの名で勘違いしてしまいそうですが、Linux専用というわけではなくWindowsやMac OS Xでも利用されています。
2004年になると、DSSIというLADSPAの拡張が作られました。DSSIはMIDI信号でコントロールするシンセサイザーのようなソフトウェアを作ることを目的としています。Open Sound Control(OSC)で定められているプロトコルを利用してホストプログラムとアプリケーション間の通信を行うため、ネットワークからの操作も可能となっています。なお、DSSIが用いているOSC実装であるlibloもDSSIの開発者が開発しました。
2007年になるとLADSPAやDSSIの開発者によってLV2が作られました。プリセット保存などの拡張を設けていますが、各機能をモジュールに分割することでLADSPA/DSSIの機能をシンプルに継承しています。2011年現在、LADSPAプラグインの多くがLV2プラグインとしてもリリースされています。
プラグインパッケージのインストール
UbuntuではすでにたくさんのLADSPA/DSSI/LV2プラグインパッケージが利用可能となっています。ソフトウェアセンターでキーワード「ladspa」「lv2」などで検索してもすべての候補が表示されるわけではないため少々不便です。あらかじめパッケージ名を調べておくか、synapticパッケージマネジャーを使うなどして対応してください。
代表的なところでは、「cmt」、「calf-plugins」、「caps」、「tap-plugins」、「invada-studio-plugins-lv2」、「swh-lv2」、「mda-lv2」があります。これらをインストールすれば大抵のことができるでしょう。
JACKサウンドサーバーと併用
各種プラグイン用のツールが充実しているため、JACKサウンドサーバーと併用するのが簡単です[1]。大抵の場合、「jack-rack」、「lv2rack」、「zynjacku」などのホストプログラムからプラグインを呼び出して使います。
jack-rackはパッケージ「jack-rack」で提供されており、LADSPAプラグイン用となります。パッケージ「zynjacku」で提供されているlv2rackはLV2プラグイン用となります。このパッケージからは、LV2のシンセサイザープラグイン用に「zynjacku」が提供されています。
パッケージ「calf-plugins」で提供されているプラグインスイートはcalfjackhostというホストプログラムを自前で持っています。
プラグインを呼び出したホストプログラムは、JACKサウンドサーバーに対して音声入出力ポートやMIDI入出力ポートを設けます。Patchageなどのソフトウェアでポート間を接続することで思い通りの処理経路を作ることができます。
DAWソフトウェアとの併用
Ardour、Rosegarden、LMMS (Lynux Multi-Media Studio)、AudacityといったDAWソフトウェアはそれ自体がホストプログラムとしての機能を持っているため、プラグインを呼び出してトラックに適用するといった使い方ができます。
また、HydrogenドラムマシンやMixxx DJコンソールソフトウェアなどもプラグインを呼び出して利用することができます。