ALSA, çekirdek seviyesindeki ses mikseridir, ses kartınızı doğrudan yönetir. ALSA kendi başına bir seferde yalnızca bir başvuru yapabilir. Tabii ki, bu sorunu çözmek için yazılmış ' dmix ' var . (Bu bir ALSA modülüdür.)
PulseAudio (bir uygulamayı çalıştırdığınız gibi), kullanıcının üstüne bir yazılım karıştırıcısıdır. Çalıştığında, Alsa'yı - dmix'siz - kullanır ve her türlü karışımı, cihazları, ağ cihazlarını, her şeyi kendi başına yönetir.
2014 yılında hala sadece ALSA'yı yönetebilirsiniz. Ancak, uygulamalarınızı kendiniz için derleyip ALSA desteğini her yerde (veya Gentoo gibi kaynak tabanlı bir dağıtım) kullanmıyorsanız, karıştırma problemleriyle karşılaşabilirsiniz. Gemiyi dağıtan önceden derlenmiş uygulamalar genellikle yalnızca ALS değil, Pulseaudio desteği ile inşa edilir. Örneğin Ubuntu, PulseAudio'yu tercih eder. Varsayılan olarak PulseAudio ile birlikte gelir, bu nedenle her uygulama sadece PulseAudio'yu kullanmak için derlenir.
PulseAudio'nun faydaları var. İnsanlar bir ağ üzerinden ses ile çalışmak için iyi olduğunu söylüyor ve saf ALSA altında gerçekleşen çok kanallı ses akışlarıyla ilgili bazı sorunları çözüyor. Ayrıca PA için uygulamalar geliştirmek sözde daha kolay. İşlerin son kullanıcı tarafında, yeni cihazları seçmek, uygulamaya göre sesi kontrol etmek vb. Kolaydır.
Bununla birlikte, varsayılan konfigürasyonda, karışıma önemsiz miktarda gecikme ekler. Bu, bazı oyunlar ve yazılımlar gibi düşük gecikme süresi gerektiren belirli görev türleri için büyük bir avantajdır.
OSS bunların her ikisine de bir alternatiftir, ancak GPL kapsamında lisanslı değildir; bu da dağıtım yoluyla çok fazla evlat edinme olasılığını görmez.
Örnek :
Ubuntu:
Kernel: ALSA -> Userland: PulseAudio -> app1, app2, app3 gibi tipik PulseAudio destekli ses sistemleri
Tipik Linux sisteminde PulseAudio, tüm farklı uygulamalarınızdan gelen sesleri karıştırır ve onları zinciri ALSA'ya besler.
ALSA:
Çekirdek: ALSA -> dmix -> Userland: app1, app2, app3
Sadece saf ALSA ile birden fazla uygulamayı karıştırmak için dmix'e ihtiyacınız var. Bu olmadan, ALSA bir seferde yalnızca bir uygulamadan bir ses akışı çalabilir.
OSS:
Çekirdek: OSS -> Kullanıcı alanı: app1, app2, app3
OSS ile, kullanıcı uygulamaları doğrudan çekirdeğin karışımını yapan çekirdek içinde OSS ile konuşur.
Özetlemek gerekirse, bugünlerde tipik sisteminizde, ALSA doğrudan ses kartlarınızla ve Pulseaudio uygulamalarınız ve programlarınızla konuşuyor ve bunu ALSA'ya aktarıyor.