ルギア君の戯言

雑多な記事。

LADSPA のエフェクトをすべての音楽に適用する

ALSA を使う

ディストリビューションMomonga Linux 専用。他は知らん。でも .asoundrc とかは使えると思われる。
これは Momonga Project の意向を逆流するもの*1なので、あまりお薦めはしません。


まず、alsa-plugins-pulseaudio をアンインストール。

# yum remove alsa-plugins-pulseaudio

次に、

/etc/asound.conf

"/etc/alsa/pulse-default.conf"

の行をコメントアウト。

~/.asoundrc

pcm.ladspa {
   type ladspa
   slave.pcm "plughw:0,0";
   path "/usr/lib64/ladspa";
   plugins [ # ここに使うプラグインを書く。
     {
       label Chorus2
       input {
         controls [ 1.0 5.00 0.00 15.00 0.00 ]
       }
     }
     {
       label Eq2x2
       input {
         controls [ 9.5 4.1 0.0 -3.3 -5.5 -3.7 -3.7 0.0 2.1 4.5 ]
       }
     }
   ]
}

pcm.!default {
   type plug
   slave.pcm "ladspa"
   hint {
       show on
       description "default"
   }
}

これで、再起動すればおkだと思う…抜けがあったら教えてくれると嬉しい。

PulseAudio を使う

udev が動いている場合

まず、

/etc/pulse/default.pa

~/.pulse/default.pa

にコピー。

~/.pulse/*-default-sink    # ファイル名はシステムにより異なる。

から今現在使っている sink 名を得る。これはシステムにより異なる。(ここではこれを alsa_out としておく。)

~/.pulse/default.pa

### Make some devices default

の前に

load-module module-ladspa-sink sink_name=ladspa_out master=alsa_out plugin=mbeq_1197 label=mbeq control=11.621622,10,4.594594,2.702703,0,0,-1.621622,-0.270270,-5.405406,-3.513514,-8.648648,-5.675676,-4.054054,1.351351,9.189189

を追記。(plugin はそのプラグインが含まれる so のファイル名。master に先ほどの sink 名を指定する。control はそのプラグインのコントロール。)
1行につき一つまで。複数使いたい時はこの sink_name を次の master に繋いで、というように数珠つなぎにすれば良い。

その後にある

# set-default-sink output

の行のコメントアウトを外して

set-default-sink ladspa_out

に変える。

~/.pulse/*-default-sink

を削除の上、pulseaudio サーバーを再起動して、

~/.pulse/*-default-sink

ladspa_out

と書かれていれば成功。

udev が動いていない場合

不明。

後記

変更後は音量に注意。

どちらも工夫すれば音楽と通知でエフェクトを掛ける掛けないをわけられると思われる。

*1:http://developer.momonga-linux.org/wiki/?Mo6FAQ#l21