ALSA เป็นตัวผสมเสียงระดับเคอร์เนลจัดการการ์ดเสียงของคุณโดยตรง ALSA ด้วยตนเองสามารถจัดการได้ครั้งละหนึ่งแอปพลิเคชันเท่านั้น แน่นอนว่ามี ' dmix ' ซึ่งเขียนขึ้นเพื่อแก้ไขปัญหานี้ (เป็นโมดูล ALSA)
PulseAudio เป็นตัวผสมซอฟต์แวร์ที่อยู่ด้านบนของ userland (เช่นคุณเรียกใช้แอพ) เมื่อมันทำงานมันจะใช้ Alsa - ปราศจาก dmix - และจัดการการผสมทุกชนิดอุปกรณ์อุปกรณ์เครือข่ายทุกอย่างด้วยตัวเอง
ในปี 2014 คุณยังสามารถเรียกใช้ ALSA ได้เท่านั้น แต่ถ้าคุณไม่คอมไพล์แอปพลิเคชันของคุณและเปิดใช้งานการสนับสนุน ALSA ได้ทุกที่ - หรือใช้การกระจายตามแหล่งที่มาเช่น Gentoo - คุณอาจมีปัญหาการปนกัน แอพพลิเคชั่นที่รวบรวมไว้ล่วงหน้าที่ distros ship มักจะสร้างด้วยการสนับสนุน Pulseaudio ไม่ใช่ ALSA ที่บริสุทธิ์ ยกตัวอย่างเช่น Ubuntu ที่ชอบ PulseAudio มันมาพร้อมกับ PulseAudio ตามค่าเริ่มต้นดังนั้นทุกแอปพลิเคชันจะรวบรวมเพื่อใช้ PulseAudio เท่านั้น
PulseAudio มีประโยชน์อย่างไร ผู้คนบอกว่ามันดีสำหรับการทำงานกับเสียงในเครือข่ายและมันจะแก้ปัญหาบางอย่างเกี่ยวกับสตรีมเสียงหลายช่องทางที่เกิดขึ้นภายใต้ ALSA บริสุทธิ์ นอกจากนี้ยังง่ายต่อการพัฒนาแอพสำหรับ PA ในด้านของผู้ใช้สิ่งต่าง ๆ เป็นเรื่องง่ายที่จะเลือกอุปกรณ์ใหม่เพื่อควบคุมระดับเสียงโดยแอพ ฯลฯ
อย่างไรก็ตามในการกำหนดค่าเริ่มต้นจะเพิ่มจำนวนเวลาแฝงที่ไม่สำคัญในการผสม นี่เป็นข้อผิดพลาดที่ยิ่งใหญ่สำหรับงานบางประเภทที่ต้องใช้เวลาในการตอบสนองต่ำเช่นเกมและซอฟต์แวร์บางตัว
OSS เป็นทางเลือกสำหรับทั้งสองสิ่งนี้ แต่ไม่ได้รับอนุญาตภายใต้ GPL ซึ่งทำให้ไม่น่าจะเห็นการยอมรับมากมายจาก distros
ภาพประกอบ :
ระบบเสียงที่ขับเคลื่อนด้วย PulseAudio ทั่วไปเช่น Ubuntu:
เคอร์เนล: ALSA -> Userland: PulseAudio -> app1, app2, app3
ในระบบ Linux ทั่วไป PulseAudio ผสมเสียงจากแอพที่แตกต่างกันทั้งหมดของคุณ
ALSA:
เคอร์เนล: ALSA -> dmix -> Userland: app1, app2, app3
ด้วย ALSA ที่บริสุทธิ์เพียงอย่างเดียวคุณต้องใช้ dmix เพื่อผสมหลายแอป หากไม่มีมัน ALSA จะสามารถเล่นสตรีมเสียงจากแอปได้ครั้งละหนึ่งแอปเท่านั้น
OSS:
เคอร์เนล: OSS -> Userland: app1, app2, app3
ด้วย OSS แอป userland จะพูดคุยโดยตรงกับ OSS ในเคอร์เนลซึ่งผสมลำธารเข้าด้วยกัน
เพื่อสรุปในระบบทั่วไปของคุณวันนี้ ALSA พูดคุยโดยตรงกับการ์ดเสียงของคุณและ Pulseaudio พูดถึงแอพและโปรแกรมของคุณและฟีดข้อมูลนั้นลงใน ALSA