LADSPAについて
Linux Audio Developer's Simple Plugin API (LADSPA)は、既存の音声データに対して様々なフィルタをかけたり、音声を生成したりといったことを行うプラグインのAPI。これに基づいて作成されたプラグインを用いると、LADSPAに対応したアプリケーション全てで同じように利用できる*1。
プラグインの入手
ディストリのパッケージになっているものが多い。他にもまだある。下はGentoo Linuxのパッケージ名だが、DebianやUbuntuにも結構用意されているようだ。
プラグインの配置場所と環境変数LADSPA_PATH
プラグインの標準的な配置場所は/usr/lib/ladspa/以下になる。対応ソフトウェアから利用する場合、この場所を環境変数LADSPA_PATHの値に設定しておく必要があるが、Gentoo Linuxでは自動的に設定されている。
プラグインの情報を取得
LADSPAプラグインは、ライブラリと同様、.soファイルという形で存在しているが、1つの.soファイルには複数のプラグインを含めることができるため、どのプラグインを使うのかをファイル名だけでは識別できない。
LADSPAプラグインには、プラグインを識別するためのユニークIDとラベルが存在する。このいずれかを指定することで、使用するプラグインが定まるのだが、これらは、プラグイン情報の取得を行うanalyzepluginというコマンドで行う。下の例では、IDが1950でラベルが「G2reverb」であることが分かる。更に、その他の様々な情報が取得できていることも分かる。
$ analyseplugin /usr/lib/ladspa/g2reverb.so Plugin Name: "Stereo reverb" Plugin Label: "G2reverb" Plugin Unique ID: 1950 Maker: "Fons Adriaensen <fons.adriaensen@alcatel.be>" Copyright: "GPL" Must Run Real-Time: Yes Has activate() Function: Yes Has deativate() Function: Yes Has run_adding() Function: No Environment: Normal or Hard Real-Time Ports: "In L" input, audio "In R" input, audio "Out L" output, audio "Out R" output, audio "Room size" input, control, 10 to 150 "Reverb time" input, control, 1 to 20 "Input BW" input, control, 0 to 1 "Damping" input, control, 0 to 1 "Dry sound" input, control, -80 to 0 "Reflections" input, control, -80 to 0 "Reverb tail" input, control, -80 to 0
プラグインへの引数
上のanalyzepluginの例の出力結果の後ろのほうに「Ports:」というセクションがあり、その中に「control」を含む幾つかの項目があるのが分かる。この部分がプラグインへの引数に関する記述で、項目名とデータ範囲(例: 10 to 150)が指定されている。更にデフォルト値が表示されるものもあるが、データ範囲すら表示されないものもある。