Bagaimana saya bisa menerapkan plugin LADSPA ke aliran PulseAudio?


15

Saya ingin menerapkan plugin LADSPA untuk semua yang mengalir melalui bak cuci PulseAudio default. Bagaimana saya mengaturnya?

Jawaban:


19

Menambahkan plugin LADSPA ke pulseaudio dilakukan dengan module-ladspa-sink .

Kami memasang modul ini sebagai bak keluaran untuk menentukan modul pemrosesan dan dapat mengirim sinyal yang sudah diproses ke bak cuci yang baru dibuat ini.

Muat modul LADSPA:

Modul ini dapat dimuat saat runtime dengan:

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

Nama master sink dapat dibaca dengan perintah berikut:

 pacmd list-sinks

Beri nama untuk wastafel yang diproses karena akan muncul di daftar keluaran di sink_name. Semua opsi lebih lanjut tergantung pada plugin yang kami gunakan (lihat contoh di bawah).

Untuk menerapkan prosesor LADSPA, kami memilih wastafel keluaran dari "Pengaturan Suara ..." dan sekarang dapat mendengarkan aliran yang diproses. Opsi kontrol tidak dapat diubah saat runtime.

Lepaskan modul LADSPA:

Kami harus membongkar modul dan memuatnya lagi untuk opsi yang berbeda. Untuk menemukan indeks modul untuk dibongkar, kami dapat mengeluarkan:

 pacmd list-modules

Untuk membongkar modul, kami me-restart server suara dengan pulseaudio -katau kami membongkar modul dengan nomor indeks itu #:

pacmd unload-module <#>

Lihat juga referensi wiki dari pulseaudio .

Muat modul LADSPA saat startup:

Setelah menemukan opsi yang sesuai, kami mungkin ingin menjalankannya sesuai standar. Ini dapat dilakukan dengan memasukkannya ke /etc/pulse/default.pafile konfigurasi yang akan dimuat oleh daemon saat startup:

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

Contoh:

Ini adalah contoh dari satu kasus khusus untuk memberi Anda ide bagaimana melakukannya. Dalam contoh ini kami ingin menerapkan perubahan nada pada output suara kami menggunakan TAP-plugin tap_pitch ( tap-plugins Pasang plugin-tap ). Untuk plugin ini, opsi tambahan yang diperlukan untuk memuat ke Pulse Audio adalah sebagai berikut:

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

Untuk menemukan opsi kontrol yang sesuai, kita telusuri dokumentasi plugin (di sini TAP plugin pitch shifter ). Di sana kami menemukan tabel yang bagus dari empat kontrol yang relevan yang harus kami terapkan dalam control=perintah:

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

Membiarkan opsi kosong akan menggunakan default dalam kasus ini.

Dengan demikian perintah berikut akan menerapkan pergeseran nada satu oktaf ke bawah dari wastafel utama saya alsa_output.pci-0000_00_14.2.analog-stereo(ganti dengan bak cuci Anda) ke wastafel keluaran ladspa_outdengan pergeseran semitone -12, yaitu perubahan laju -50%, dan dengan tingkat mixer kering (belum diproses) dari -90dB, dan tingkat basah (diproses) dari 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

Untuk beberapa plugin, dokumentasinya mungkin tidak lengkap, atau pengaturan yang sesuai akan memerlukan beberapa eksperimen sampai benar.


1
Bagaimana saya bisa menerapkan salah satu filter ini (dibuat dari modul modul pacmd load-ladspa-sink *) ke input mikrofon saya? Jadi saya dapat menjalankan filter sistem yang luas dan ini berlaku untuk Mumble, Teamspeak, Skype, Game. Saya ingin orang lain di sini input yang difilter, itu bukan untuk saya sendiri (hanya).
Braindamage

@braindamage tidak dapat menguji ini di sini (tidak ada mikrofon) tetapi coba dengan profil dupleks untuk master sink, atau coba dengan <name_of_source> .monitor sebagai master.
Takkat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.