PulseAudio - Okosabb mint gondolnád!lacyc3, p, 2010/07/09 - 01:22 |
Ha egy programra lehet olyat mondani hogy majdnem felnőtt, akkor a PulseAudio az Ubuntu 10.04-re nőtte ki a gyermekbetegségeit. Az eddigi problémák többsége megszűnt. Nem zabálja fel a processzor felét (a másik felét pedig a Totem..), nagyobb terhelésnél nem akadozik a hangja és egyre több programmal (és hardverrel) működik együtt. Lássuk, hogyan lehet PulseAudio segítségével korrekten kihajtani az otthoni hangrendszert a szomszédok legnagyobb örömére!
Az alapértelmezett (Rendszer -> Beállítások -> Hang) vezérlőprogram pontosan olyan amilyennek lennie kell: egyszerű, mellőz mindenféle felesleges dolgot, de a legfontosabb dolgok egy helyen vannak. Azonban mi ennél egy kicsit többet szeretnénk, mondjuk mindegyik hangkeltőt külön-külön vezérelni.
Ehhez telepítsük a PulseAudio hangerőszabályzót:
sudo aptitude install pavucontrol
A telepítés után az alkalmazások menüben el is érhető, indítsuk hát el!
Ha nem fut a háttérben lejátszó, akkor a lejátszás fülön csak a "Jelenleg egy alkalmazás sem játszik le hangot" feliratot találjuk, így hogy az élmény teljes legyen, indítsuk el Totem-mel vagy Rhythmbox-szal a kedvenc számunkat. Azért ezzel a kettővel, mert ők biztosan együttműködnek a PulseAudio-val.

Mint látható, az egész ablak valós időben követi az eseményeket. Ha a lejátszónk képes felismerni a játszott szám előadóját és címét akkor itt megjelenik. Apróbb bug, hogy ha túl hosszú a kiírás, akkor sikerül jól megnyújtani az ablakot.

A felvétel fül is ugyanígy működik csak visszafele, lépjünk tovább a konfiguráció fülre. Itt (mint ahogy az alapértelmezett programban is) beállíthatjuk hangrendszerünk legfontosabb paraméterét, azaz hány hangkeltővel rendelkezik és hogy van-e közötte mélyláda. Esetemben 4.1-et állítottam be, de ez is egy "fake 4.1", ugyanis van két hangszóró a monitorba építve és lenne 2+1 szettként. Maga a szett egy elég idős és a noname (Advent) kategóriába tartozó valami, amihez jár egy, kis hangerőn nem olyan rossz mélyláda és két szerencsétlen hangszórónak csúfolt műanyaglap, amiket nem használok.

A kimeneti eszközök fülre lépve az előbb beállított konfigurációnak megfelelő vezérlőket találunk. A jobb felső sarokban találjuk a lakat ikont. Arra kattintva inaktiváltuk a hangszórók összetartását, így függetlenül vezérelhetjük őket. Apró beépített feature, hogy ha a subwoofer (mélynyomó) hangerejét leveszük, akkor mint egy equalizer-ként viselkedve magát a basszust is leveszi a PulseAudio. A bemeneti eszközök fül is hasonlóképp működik.

Mostmár, hogy meg tudjuk mondani melyik hangszóró hogyan szóljon, itt az ideje hogy babráljunk egy kicsit a hangszínen. Ehhez szükségünk lesz a pulseaudio-equalizer csomagra, ami sajnos nincs bent egyik tárolóban sem, de egy-kettőre telepíthető a psyke83 tároló hozzáadásával.
sudo add-apt-repository ppa:psyke83/ppa
sudo apt-get update
sudo apt-get install pulseaudio-equalizer

Ha a rengeteg beépített séma ellenére nem találnánk meg a nekünk tetszőt, akkor a csúszkákat tologatva értelemszerűen változtathatjuk a hangszínt. Ne felejtsük el az "EQ Enabled" kockába tenni egy pipát, hogy a vezérlő aktiválódjon. Fontos, hogy a hangszín vezérlés nem on-line, azaz minden változtatás után Apply-ozni kell a módosításokat.
Ennyit az ALSA is tudott, mi ebben az olyan egetrengető újdonság? Kérdezhetné teljesen jogosan a Kedves Olvasó. Azonban itt még nincs vége. Mint a cikk elején írtam, a PulseAudio kezd felnőni és az eddigi elképzelések / tervek most kezdenek beérni.
Mint a jobb oldali ábrán látható, a PulseAudio nem csak egy egyszerű hangkezelő daemon, hanem annál jóval több, szinte egy egész hangkezelő platform. Ahhoz hogy további funkciókat érjünk el, telepítsük a PulseAudio Device Chooser (eszköz választó) programot:
sudo apt-get install padevchooser
A telepítés után elvileg megtalálható a menüben, de ha nem akkor a padevchooser parancsot begépelve a terminálba ugyanúgy elindul, majd mint minden rendes kisalkalmazás beül az értesítési területre.
Rákattintva az ikonra kiválaszthatjuk az alapértelmezett hangforrást, kiszolgálót, vagy hangfolyam módosítót. Így első látásra talán kicsit bonyolúltnak tűnik a dolog, de amint megértjük miért van szükség ezekre, minden világossá válik.
A kisalkalmazás menüjében kattintsunk a "Configure Local Sound Server" menüpontra. Itt a legelső fülön beállíthatjuk, hogy a gépünk feltérképezheti-e a helyi hálózaton található többi PulseAudio-val rendelkező gépet, mint potenciális hangeszközt. Ha van a hálózatunkon Apple AirTunes hangeszköz (vagy olyan ami beszéli a nyelvét) akkor a pulseaudio-module-raop csomag telepítésével azon is megszólalhat a kedvenc slágered :)
sudo apt-get install pulseaudio-module-raop

A "Network Server" fülre kattintva engedélyezheted hogy mások feltérképezzék a gépedet és - akár azonosítás után - használhassák a hangeszközöket rajta. Sőt! Mi lenne ha a TV tudna csatlakozni a helyi számítógéphez, filmek után kutatva? A rygel csomag telepítésével ez a funkció is elérhetővé válik, természetesen csak akkor ha van olyan eszközöd ami ismeri az uPnP vagy DLNA szabványok valamelyikét.

sudo apt-get install rygel
Sajnos kipróbálni nem tudtam, de valószínűsítem hogy azonosítás után a felhasználó home könyvtárában lehet anyagok után kutatni.
A "Multicast/RTP" fülre kattintva tudunk műsort közvetíteni vagy fogadni, akár mikrofonról, akár az épp játszótt dallról.

Mint láthatjuk a PulseAudio képes egyszerű de hatékony hangkezelőként és okos hálózati média kiszolgálóként is működni, így a modern otthonok igen hasznos eszköze lehet. Most pedig bulira / szomszéd bosszantásra fel! :)
















Mindez mellett is állítom,
Mindez mellett is állítom, hogy az egész projektum egy teljes melléfogás. 4 évet dolgozni azon, hogy nagyjából azt elérjük, amit az ALSA már régen tud, és ráadásul sokkal egyszerűbben is, egyszerűen hülyeség. A Kmix áttekinthetőbb és minden beállítható úgy ahogyan kell. Sokkal értelmesebb lett volna azon dolgozni, hogy az ALSA-ba minnél több hangkártya leírója bekerüljön. Az meg, hogy alapértelmezettként nyomják a legtöbb dedós disztrón, az meg egyszerűen felháborító.
Bloat
Egyetértek az előttem szólóval. Ez megint a szabad szoftverek egyik nagy problémája, nevezetesen, hogy nincs kontroll a fejlesztésben. Valaki kitalálja, hogy majd ő csinál valami teljesen mást, és évekig szüttyög azon, hogy megcsinálja ugyanazt kicsit másképp.
A Pulse az egyik legjobb példa a felesleges munkára. Rengeteg energia ment el , fejlesztők , és tesztelő, hibakereső felhasználók részéről arra, hogy megszülessen valami, ami azelőtt is megvolt.
Jack?
Én örülök, hogy végre ráakadtam egy cikkre, ami végre magyar nyelven ezzel foglalkozik. Őszinte elismerésem, részemről várom a folytatást. Az írásodnak én speciál örülök, mivel végre megtudhattam, hogy pont ezek azok a funkciók melyekre semmi szükségem, bár így olvasva tényleg nagyszerűek. Én speciál annak is örülnék, ha két hangkártyát, és azok ki és bemeneteit külön tudná kezelni. Habár látja őket, a gyakorlatban szinte kivitelezhetetlen, hogy Jack-kel normálison együtdolgozzon. És a hangkártyáim kismillió paramétereiről hallani sem akar...
Na keresem tovább a megoldást:(