ทำไมคุณต้องการ PulseAudio


14

ฉันกำลังอ่านและพยายามที่จะเข้าใจว่าทำไมทุกคนถึงต้องการใช้ Pulse Audio และฉันไม่เข้าใจ ฉันอ่านhttps://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-itและฉันยังคงอ่าน ไม่ได้รับคำตอบที่น่าเชื่อ ฉันมีการ์ดเสียงหนึ่งชุด (ฉันไม่ต้องการทวีคูณเสียงจากหรือไปยังการ์ดเสียงหลายตัว) ฉันรู้ว่าแอปพลิเคชันทั้งหมดเขียนด้วย API ที่แตกต่างกัน, ALSA, OSS, JACK เป็นต้นดังนั้นหากฉันกำหนดค่าเฟรมเวิร์กเหล่านั้นทั้งหมดเพื่อกำหนดเส้นทางเสียงผ่านเสียงพัลส์ฉันจะได้รับประโยชน์อะไรบ้างเทียบกับเฟรมเวิร์กทั้งหมดที่พูดโดยตรงกับการ์ดเสียง คนขับรถ? นอกจากนี้ฉันไม่เห็นว่า Pulse Audio มี Application API ของตัวเอง ดังนั้นฉันต้องเลือกเฟรมเวิร์ค (เช่น ALSA) ขอบคุณ


5
สำหรับสิ่งหนึ่งฉันรู้ว่าฉันเคยมีปัญหาเมื่อ programA ใช้การ์ดเสียง programB ไม่สามารถใช้ได้จนกว่า programA จะปิด แม้ว่า programA จะไม่ใช้มันอีกต่อไป ในกรณีของฉันสิ่งนั้นก็หายไปทันทีที่ pulseaudio เกิดขึ้น บางทีฉันอาจกำหนดค่า ALSA หรือ OSS เพื่ออนุญาตให้หลาย ๆ โปรแกรมเข้าถึงการ์ดเสียงได้ แต่ฉันไม่เคยคิดเลยว่าจะทำอย่างไร
terdon

2
พวกเขา (pulseaudio) คิดว่าวิธีแก้ปัญหาของระบบเสียงหลายระบบบน linux คือการสร้างระบบเสียงอื่นขึ้นมา
ctrl-d

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

คำตอบ:


16

มันเป็นเรื่องของมัลติเพล็กซิ่ง

ฉันไม่ต้องการทวีคูณเสียงจากหรือไปยังการ์ดเสียงหลาย ๆ

อ่า แต่คุณทำ! หากคุณต้องการเล่นเสียงจากสองแหล่งพร้อมกันไม่ว่าด้วยเหตุผลใดก็ตามคุณต้องมีระบบมัลติเพล็กซ์

OSX และ Windows จัดการมัลติเพล็กซิ่งในเคอร์เนล (แต่ยังอยู่ในซอฟแวร์) ซึ่งเป็นสาเหตุที่สิ่งนี้ไม่เคย / ไม่ค่อยเกิดขึ้นบนแพลตฟอร์มเหล่านั้น

อย่างไรก็ตามใน Linux ที่มีซอฟต์แวร์เช่น ALSA การทำมัลติเพล็กซ์จะขึ้นอยู่กับการ์ดเสียง / การนำไปใช้งาน / ไดรเวอร์

น่าเสียดายที่ไม่ใช่การ์ดทั้งหมดและไดรเวอร์ทั้งหมดสนับสนุนจริง ๆ นี้ออกจากกล่อง

นั่นคือสิ่งที่ PulseAudio เข้ามาทำมัลติเพล็กซิ่งในซอฟต์แวร์โดยไม่คำนึงถึงการ์ดเสียง / สถานการณ์ไดรเวอร์ของคุณ

หากไม่มีฟังก์ชั่นนี้ถ้าคุณพูดโดยใช้ ALSA โดยตรง sans-PulseAudio ด้วยการ์ดเสียงที่มีการรองรับมัลติเพล็กซิ่ง PCM บน Linux คุณจะได้ยินเสียงจากแอปพลิเคชั่นเพียงครั้งเดียวเท่านั้น

เช่นหากคุณมีวิดีโอที่เล่นในเว็บเบราว์เซอร์และได้รับการแจ้งเตือนใน Pidgin คุณจะไม่ได้ยินเสียงการแจ้งเตือนเพราะเว็บเบราว์เซอร์ของคุณจะมีการควบคุมการ์ดเสียงของคุณอยู่แล้ว

โดยการกำหนดเส้นทางเสียงทั้งหมดผ่าน PulseAudio ก่อนปัญหานี้จะถูกหลีกเลี่ยง

แหล่งที่มา: การสนทนา IRC ที่ยาวนานที่ฉันเคยมีกับผู้ดูแล Ubuntu สำหรับ ALSA ที่ฉันถามคำถามแบบเดียวกันกับที่คุณถามตอนนี้


5
ขอบคุณ @Zee! นั่นเป็นคำตอบที่ดี! อย่างไรก็ตามฉันอ่านalsa-project.org/main/index.php/Asoundrcนี้และฉันเห็นว่าฉันสามารถทำสิ่งเดียวกันกับการกำหนดค่า ALSA โดยใช้ "ปลั๊กอิน" ฉันทดสอบแล้วและฉันสามารถเล่น aplay หลายอินสแตนซ์ได้ในเวลาเดียวกัน ดังนั้นคำถามของฉันยังคงอยู่ทำไมฉันต้องใช้ Pulse Audio หากฉันสามารถทำสิ่งนี้ทั้งหมดด้วย ALSA :)
Michael P

5
เฮ้ @MichaelP ดีใจที่ได้ช่วย เหตุผลที่ PulseAudio ยังมีประโยชน์ก็คือเพราะคุณอาจมีเซิร์ฟเวอร์เสียงหลายเครื่องทำงานอยู่ไม่ใช่แค่ ALSA ตัวอย่างเช่นหากมีใครบางคนกำลังทำงานแก้ไขเสียงอยู่บ่อยครั้งพวกเขาจะใช้เซิร์ฟเวอร์เสียง JACK ซึ่งเหมาะสำหรับงานเสียง latency ต่ำ แต่ยังคงใช้ ALSA สำหรับเสียงทั่วไป นั่นอาจไม่เหมาะกับคุณ แต่ PulseAudio หมายความว่าคุณไม่ต้องกังวลกับการทำงานทั้งหมด หากคุณกำหนดค่าสำหรับ ALSA เพียงคุณจะต้องกำหนดค่าแต่ละกรณีการใช้งานแยกต่างหาก PulseAudio ทำงานร่วมกับ Alsa และแหล่งเสียงอื่น ๆ ที่คุณอาจเคยใช้
Zee Alexander

2
ที่ถูกกล่าวว่า PulseAudio อาจไม่เป็นประโยชน์กับคุณโดยเฉพาะอย่างยิ่ง แต่โดยทั่วไปแล้ว distrosbones ที่ไม่ใช่แบร์โบนจะกำหนดค่าให้คุณออกนอกกรอบดังนั้นจึงไม่มีเหตุผลใดที่จะแทนที่ด้วยปลั๊กอิน ALSA หากคุณใช้ distro เช่น Arch ที่คุณต้องกำหนดค่าทุกอย่างด้วยตัวเองตั้งแต่เริ่มต้นให้ใช้ปลั๊กอิน ALSA แทน
Zee Alexander

1
ขอบคุณ @Zee Alexander ที่ทำให้ฉันสับสน ขอบคุณสำหรับคำตอบ ฉันหวังว่า PulseAudio จะอธิบายได้ดีบนเว็บไซต์ของพวกเขา
Michael P

4

นับตั้งแต่เปิดตัวDmixใน alsa pulseaudio ก็ไร้ประโยชน์ Bare alsa กับ Dmix เปิดใช้งานส่วนลึก (ฉันไม่ต้องตั้งอะไร) ทำงานได้ดีขึ้นมากสำหรับฉัน ตัวอย่างเช่นไม่มีความล่าช้าในขณะที่กำลังเปลี่ยนระดับเสียง

เพียงถอนการติดตั้ง pulseaudio หากคุณใช้ alsa เมื่อเร็ว ๆ นี้และรู้สึกดี


2
เพิ่งมีปัญหา popping นี้ถอนการติดตั้ง pulseaudio และตอนนี้ทุกอย่างฟังดูดี (การเล่นจากหลาย ๆ แหล่งทำงานได้ดีเช่นกัน) ผู้ขับขี่ Alsa 4.4.0-104, utils 1.1.0
klogd

2
WTaF ถ้าอย่างนั้น distros ยังเปิดใช้งานภูตมัลติเพล็กซิ่งของ pulseaudio มันช้า, buggy AF และเป็นผู้ร้ายที่อยู่เบื้องหลังปัญหาเสียงมากเกินไป! ฉันปิดการใช้งานภูตแทนการถอนการติดตั้งแพคเกจทั้งหมดเนื่องจากมีการพึ่งพากับการกำหนดค่า ALSA ซึ่งแพคเกจดูเหมือนจะทำได้ดี
โดมินิก Cerisano

0

คุณทำไม่ได้ เป็นชิ้นส่วนของมิดเดิลแวร์ที่ผู้ใช้ส่วนใหญ่ไม่จำเป็นโดยสิ้นเชิง แอปพลิเคชันส่วนใหญ่ที่ต้องการเสียงสามารถใช้ ALSA ได้โดยตรง ALSA สามารถจัดการสิ่งต่าง ๆ เช่นมัลติเพล็กซ์พื้นฐานได้อย่างสมบูรณ์แบบ (แม้ว่าอาจต้องใช้ปลั๊กอิน) ในระบบของฉันฉันไม่ได้ติดตั้ง pulseaudio และฉันสามารถเล่นวิดีโอเกมและมีการเล่นเพลงในพื้นหลังจาก Rhythmbox ไม่มีปัญหา มันทำงานได้ทันทีนอกกรอบด้วย ALSA ไม่จำเป็นต้องตั้งค่าที่ซับซ้อน

ฉันอยากจะแนะนำให้ทุกคนที่กำลังประสบปัญหาเกี่ยวกับเสียงเลย: สิ่งแรกที่ต้องลองคือการกำจัด pulseaudio เมื่อไม่นานมานี้ฉันมีปัญหาเกี่ยวกับเสียงออกมาและพวกเขาก็หายไปทันที

Tbh มันยากที่จะนึกถึงกรณีที่ใครบางคนต้องการ pulseaudio สำหรับผู้ใช้ระบบโฮมทั่วไปที่ต้องการให้เสียงทำงานกับแอปพลิเคชันเดสก์ท็อป ALSA นั้นเหมาะสมอย่างยิ่ง สำหรับผู้ใช้ขั้นสูงที่ต้องการทำงานด้านเสียงที่ซับซ้อนมากขึ้นหรือผู้ที่ต้องการคุณภาพเสียงระดับมืออาชีพ JACK นั้นเป็นสิ่งที่คุณต้องการอย่างชัดเจน Pulse, imo ดูเหมือนจะค่อนข้างบวมและไม่จำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.