web-dev-qa-db-ja.com

LADSPAプラグインをPulseAudioストリームに適用するにはどうすればよいですか?

LADSPAプラグインを、デフォルトのPulseAudioシンクを介してストリーミングされるすべてのものに適用したい。これをどのように設定すればよいですか?

15
ændrük

LADSPAプラグインをpulseaudioに追加するには、module-ladspa-sinkを使用します。

このモジュールを出力シンクとしてインストールします。ここで処理モジュールを定義し、処理された信号をこの新しく作成されたシンクに送信できます。

LADSPAモジュールをロードします。

このモジュールは、実行時に以下を使用してロードできます。

pacmd load-module module-ladspa-sink sink_name=<yourname> master=<sinkname> plugin=<plugin> label=<label> control=<option1>,<option2>,[...]

マスターシンクの名前は、次のコマンドで読み取ることができます。

 pacmd list-sinks

sink_nameの出力リストに表示される処理済みシンクの名前を指定します。その他のオプションはすべて、使用するプラグインによって異なります(以下の例を参照)。

LADSPAプロセッサを適用するには、 "Sound Settings ..."から出力シンクを選択し、処理されたストリームをリッスンできるようになりました。制御オプションは実行時に変更できません。

LADSPAモジュールをアンロードします。

モジュールをアンロードして、さまざまなオプションで再度ロードする必要があります。アンロード用のモジュールインデックスを見つけるには、次のコマンドを発行します。

 pacmd list-modules

モジュールをアンロードするには、pulseaudio -kでサウンドサーバーを再起動するか、インデックス番号#でモジュールをアンロードします。

pacmd unload-module <#>

pulseaudioのwikiを参照 も参照してください。

起動時にLADSPAモジュールをロードします。

適切なオプションを見つけたら、デフォルトごとに実行することができます。これは、起動時にデーモンによってロードされる/etc/Pulse/default.pa構成ファイルに含めることで実行できます。

.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink <options>
.fail
.endif

例:

これは、それを行う方法に関するアイデアを提供する1つの特別なケースの例です。この例では、TAP-plugintap_pitchtap-plugins -を使用して、サウンド出力にピッチシフトを適用します。 Install tap-plugins )。このプラグインの場合、Pulse Audioへのロードに必要な追加オプションは次のとおりです。

plugin=tap_pitch # as from /usr/lib/ladspa/ without .so
label=tap_pitch  # defines which label of a plugin to use

適切な制御オプションを見つけるには、プラグインのドキュメント(ここでは TAPプラグインピッチシフター )を参照します。そこで、control=コマンドで適用する必要がある4つの関連するコントロールの素敵なテーブルを見つけます。

control=<semitone>,<rate>,<dry>,<wet>

この場合、オプションを空のままにするとデフォルトが使用されます。

したがって、次のコマンドは、マスターシンクalsa_output.pci-0000_00_14.2.analog-stereo(シンクと交換)から1オクターブ下のピッチシフトを、ladspa_outの半音シフトで出力シンク-12に適用します。 -50%のレートシフト、-90dBのドライ(未処理)ミキサーレベル、0dBのウェット(処理済み)レベル。

pacmd load-module module-ladspa-sink sink_name=ladspa_out master=alsa_output.pci-0000_00_14.2.analog-stereo plugin=tap_pitch label=tap_pitch control=-12,-50,-90,0

一部のプラグインでは、ドキュメントが完全ではない場合があります。または、適切な設定を行うには、適切になるまでかなりの実験が必要になります。

19
Takkat