ฉันจะใช้ปลั๊กอิน LADSPA กับสตรีม PulseAudio ได้อย่างไร


15

ฉันต้องการใช้ปลั๊กอิน LADSPA กับทุกสิ่งที่ส่งผ่านชุดเริ่มต้นของ PulseAudio ฉันจะตั้งค่านี้ได้อย่างไร

คำตอบ:


19

การเพิ่มปลั๊กอิน LADSPA เพื่อ PulseAudio จะทำกับโมดูล LADSPA อ่างล้างจาน

เราติดตั้งโมดูลนี้เป็นอ่างส่งออกที่เราสามารถกำหนดโมดูลการประมวลผลและสามารถส่งสัญญาณที่ประมวลผลไปยังอ่างที่สร้างขึ้นใหม่นี้

โหลดโมดูล LADSPA:

โมดูลนี้สามารถโหลดได้ที่รันไทม์ด้วย:

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

ชื่อของมาสเตอร์ sink สามารถอ่านได้ด้วยคำสั่งต่อไปนี้:

 pacmd list-sinks

sink_nameให้ชื่อของอ่างล้างจานการประมวลผลที่จะปรากฏอยู่ในรายชื่อที่ส่งออกใน ตัวเลือกเพิ่มเติมทั้งหมดขึ้นอยู่กับปลั๊กอินที่เราใช้ (ดูตัวอย่างด้านล่าง)

ในการใช้หน่วยประมวลผล LADSPA เราเลือกซิงค์เอาต์พุตจาก"การตั้งค่าเสียง ... "และตอนนี้สามารถฟังสตรีมที่ประมวลผลแล้ว ตัวเลือกการควบคุมไม่สามารถเปลี่ยนแปลงได้ในขณะใช้งานจริง

เลิกโหลดโมดูล LADSPA:

เราจะต้องยกเลิกการโหลดโมดูลและโหลดอีกครั้งสำหรับตัวเลือกที่แตกต่างกัน หากต้องการค้นหาดัชนีโมดูลสำหรับการยกเลิกการโหลดเราอาจออก:

 pacmd list-modules

หากต้องการยกเลิกการโหลดโมดูลเราจะรีสตาร์ทเซิร์ฟเวอร์เสียงด้วยpulseaudio -kหรือเรายกเลิกการโหลดโมดูลด้วยหมายเลขดัชนี#:

pacmd unload-module <#>

เห็นแล้วยังวิกิพีเดียอ้างอิงจาก PulseAudio

โหลดโมดูล LADSPA เมื่อเริ่มต้น:

หลังจากพบตัวเลือกที่เหมาะสมเราอาจต้องการเรียกใช้ตามค่าเริ่มต้น ซึ่งสามารถทำได้โดยรวมไว้ใน/etc/pulse/default.paไฟล์กำหนดค่าที่โหลดโดย daemon เมื่อเริ่มต้น:

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

ตัวอย่าง:

นี่เป็นตัวอย่างของกรณีพิเศษหนึ่งข้อที่จะให้แนวคิดแก่คุณเกี่ยวกับวิธีการทำ ในตัวอย่างนี้เราต้องการนำการเปลี่ยนระดับเสียงไปใช้กับเสียงของเราโดยใช้ TAP-plugin tap_pitch ( tap-plugins ติดตั้ง 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 shifter pitch pitch ) ที่นั่นเราพบตารางที่ดีของการควบคุมที่เกี่ยวข้องสี่อย่างที่เราต้องใช้ในcontrol=คำสั่ง:

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

การเว้นตัวเลือกว่างไว้จะใช้ค่าเริ่มต้นในกรณีนี้

ดังนั้นคำสั่งต่อไปนี้จะใช้การเปลี่ยนระดับเสียงหนึ่งคู่ลงจากอ่างล้างจานหลักของฉันalsa_output.pci-0000_00_14.2.analog-stereo(แทนที่ด้วยอ่างล้างจานของคุณ) กับอ่างล้างจานเอาท์พุทที่ladspa_outมีการเปลี่ยนแปลง semitone ของ-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

สำหรับปลั๊กอินบางตัวเอกสารอาจไม่สมบูรณ์หรือการตั้งค่าที่เหมาะสมจะต้องมีการทดลองบ้างจนกว่าจะถูกต้อง


1
ฉันจะใช้หนึ่งในตัวกรองเหล่านี้ (ทำจาก pacmd load-module module-ladspa-sink *) กับอินพุตไมโครโฟนของฉันได้อย่างไร ดังนั้นฉันจึงสามารถเรียกใช้ตัวกรองทั้งระบบและใช้กับ Mumble, Teamspeak, Skype, Games ฉันต้องการให้คนอื่นป้อนข้อมูลที่ถูกกรองที่นี่ไม่ใช่สำหรับฉัน (เท่านั้น)
ระดมสมอง

@braindamage ไม่สามารถทดสอบได้ที่นี่ (ไม่มีไมโครโฟน) แต่ลองใช้โปรไฟล์ดูเพล็กซ์สำหรับอ่างล้างมือหลักหรือลองใช้ <name_of_source> .monitor ในฐานะมาสเตอร์
Takkat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.