HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

Linux alkalmazások - Zene lejátszók

2008.04.13. 19:38 bagoj ur

Jó kis kitérőt tettem a csomagkezelés, a terminálban futó programok (1 2 3 4) és a kernel fordítás irányába, de most visszakanyarodnék oda, amiből eredetileg kiindultam, azaz a különféle linuxos alkalmazások taglalásába.

Erre azért volt szükség, mert régi mániám a kis késleltetéssel elinduló, azaz fürge de a főbb funkciókat már éppen tartalmazó programok után való keresgélés. A legtöbb program fejlesztése ugyanis sosem áll meg, a folyton belekerülő új funkciók nagy része pedig számomra felesleges. Majd meglátjuk, hogy a zenelejátszóknál hogyan is néz ki mindez.

Szokás szerint egy kis agymenéssel kezdem: Vannak ezek a codec-dolgok, amikről már bizonyára sokan hallottak; legfőképpen akkor, hogyha valamilyen típusú fájlt nem tudtak lejátszani. Ekkor jött a (fél)művelt hawer, hogyaszongya "tőccsed le az XY kódeket, azzal nekem minden megy". Ez persze elég gyakran inkább filmek támogatásánál fordul elő; úgyhogy erről talán kicsit később. A lényeg tehát, hogy vannak különféle média formátumok. A zenék, vagy filmek a hang- és képanyagot ezekben a bizonyos formátumokba kódolva tárolják. Ahhoz, hogy megjelenítsük vagy megszólaltassuk a gépen, ismerni kell ezeket a formátumokat, azaz dekódolni kell tudni. A kódolást és dekódolást matematikai alapokon megvalósított algoritmusok végzik - ezeket szokás codec névvel illetni. Ezek a letöltött algoritmus-gyűjtemények szépen beépülnek a programba, vagyis a program használja őket - a végeredmény szempontjából mindegy.

Node mi szükség ezekre a kódolásokra? Nem lenne elég, ha egy az egyben rögzítenénk minden képkockát, minden analóg audio anyagból átalakított bitet? Megtehetnénk. Azonban, mint tudjuk, az átlagos emberi fül érzékenysége ~20 - ~22kHz. A hibamentes digitalizáláshoz legalább kétszeres mintavételezési frekvencia szükséges (Nyquist-Shannon tétel), ezért egy másodperc alatt 44100 mérést kell elvégeznünk. Hogy az analóg jeleket ezután hogyan feleltetjük meg digitális értékeknek (kvantálás), most nem fejteném ki részletesen, mivel csak arra szeretnék rámutatni, hogy másodpercenként rengeteg mérést kell két (vagy több) csatornán elvégezni, majd ezeket a frekvencia-adatokat le kell tárolni ("az adott időpillanatban mennyit rezgett a levegő"). A helypazarlónak tartott WAV is csak az egymás után következő mérések között eltelt különbséget tárolja, nem pedig abszolút értékben a mérés eredményét, így sokkal kisebb értékeket kell tárolni. És így lesz egy percnyi hang kb. 10Mb! El lehet képzelni, hogy a 40Mb-os merevlemezek idejében miért kezdtek el azon gondolkodni, hogy hogyan lehetne hatékonyan tömöríteni a felvett hanganyagot...

És miért nem lehetett csak egy algoritmust kitalálni? Ez az üzletről szól, nem a felhasználókról: Az mpeg1 layer 3 (népszerű nevén mp3) kódoló algoritmus használatáért a Fraunhofer intézet jogdíjat kért (a dekódolóért nem), ezért fejlesztették ki az OGG/Vorbist, mivel az teljesen ingyenes, és minőségben talán jobb is. A Microsoft szeretné a saját médialejátszójához láncolni a többséget, ezért készítették el a WMA-t. És ezek csak a legelterjedtebb (veszteséges) algoritmusok... veszteségmentes például a FLAC.

Amiért süketeltem az egészről: Nem csak, hogy sokféle algoritmus van, de ezeknek sokféle megvalósítása is. A lényeg, a matematika ugyanaz, de ezt sokféleképpen le lehet programozni. Emiatt linux alatt is többféle megvalósítása van még az mp3 formátumnak is: mpg123, mad, azt hiszem a gstreamer is saját... szóval nem egyszerű az eligazodás.

Totem

Mivel lassan közismertté válik, hogy Ubuntut használok, és abban a Totem alapértelmezett, ezért kezdjük ezzel: teljesen szimpla médialejátszó, ami a Windows Media Playert utánozza (természetesen filmeket is lejátszik), és a gstreamer-re bízza a kódolást/dekódolást. Van egy playlist, véletlenszerű és/vagy ismétlődő lejátszó mód és kész. Képes a Windows Media Playerből megismert (szerintem felesleges) vizualizációra, és a böngészőbe is be tud épülni a különféle média lejátszására. Sajnos épp a program kezelése idegesítő: Ha a playlist az aktív (tudok mozogni a "fénygerendával" a számok között), akkor nem lehet előre-hátra pörgetni, lépkedni magában a számban, illetve a hangerőt nem lehet állítani. Érdekes, hogy az előző/következő és a pause működik (b,n,p). Ha a lejátszósáv (ahol az időt mutatja) az aktív, akkor pedig a le/fel gombok a hangerőt változtatják, a jobbra/balra gombok pedig előre-hátra ugranak (de azok sem meghatározott léptékben, hanem először nagyot, aztán kisebbeket). Nagyon idegesítő és nem annyira használható jól. Jó nekem az lenne, hogy jobb-bal mindig a pörgetés lenne, mondjuk 5 sec egy lenyomásra, és nyomva tartva esetleg begyorsulna; míg a fel-le mindig a számok közötti válogatás lenne. A hangerő meg bármi más, mondjuk +/- kombináció.

Rhythmbox

Ritmusdoboz barátunk az eddigi legjobb, amivel találkoztam. Ehhez mérten természetesen a fél Gnome szükséges is neki, de ebben még nem csalódtam. Nem csak zenelejátszó, de zenéink listáját is tudja menedzselni. Első indításkor meg kell adni a könyvtárat, amelyben a zenéink vannak, és szépen beindexeli az egészet. Az eredmény egy kereshető adathalmaz, amelyeket szinte tetszés szerint rendezhetünk, új lejátszólistákat hozva létre (melyek lehetnek statikusak, azaz mi dobáljuk bele a számokat, illetve dinamikusak, amikor valamely tulajdonságuk alapján közös playlistbe rendezi őket). Képes letölteni és megjeleníteni az album borítót és dalszöveget. Érdekes, hogy a tag-eket nem képes megváltoztatni a zenékben; csak a saját adatbázisában lehet átírni - ezután jól jelenik meg a rhytmboxban, de más lejátszók ebből nem érzékelnek semmit. Amire még sokat használom, az a netes rádió streamek és a last.fm hallgatás. Mivel szintén a gstreamert használja, képes akár C64 .sid zenék lejátszására is. A számok között képes crossfade-elni, de okos: például egy albumon belül nem crossfade-el. Van lehetőség a számok értékelésére is. Podcast-támogatás, iPod-támogatás is van, természetesen.

Sajnos a Totem hibája (a playlist és a lejátszó rész nincs összekapcsolva megfelelően) itt is megvan.

Amarok

Nem feledkeznék meg a KDE felhasználókról sem, csakhogy ez a program még sosem volt a gépemen és nem is vágyom rá. Állítólag mindent tud, amit ember ki tudott találni zenehallgatással kapcsolatban - a képernyőképei alapján nagyon érett a felhasználói felület. Esetleges bosszantó hibáit nem ismerem... ha valaki tudna segíteni pár szóval, írjon egy kommentet, légyszí!

XMMS

Egykor A Zenelejátszó volt az opensource rendszerekre. Külsejében és használatában a Winamp mintájára készült, sőt annak skinjeit (a 2-es szériáig) tudta is használni.
Egy adott feladatra a tökéletességig csiszolt alkalmazás - plugineken keresztül bármit le tudott játszani, tudott vizualizációt, crossfade-et és még rengeteg hasznos funkciót. Akkoriban még nem volt szükség a zenék menedzselésére; hiszen a szélessávú internetelérés és a p2p akkoriban még ismeretlen volt, tehát nem sok ember dicsekedhetett akkoriban tízezres nagyságrendű mp3-gyűjteménnyel. (Hehe.) Sajnos a fejlesztését abbahagyták (pontosabban a GTK1 kódbázisnál leragadtak, mert számos okból a program átírása GTK2-re lehetetlen feladat volt), és továbbfejlesztése több ágon indult meg; ezek közül most úhy tűnik, az Audacious nevű lesz a befutó.

Zinf

Egykor FreeAmp néven szép kis karriert futott be - használtam is, mivel ez volt az első zenelejátszó program, amely képes volt katalogizálni is a zenéket (legalábbis nekem ez volt az első); de a lejátszók új generációja szépen lemosta a pályáról.

Banshee

Nekem első látásra úgy tűnt, ez egyszerűen egy Mono/GTK# Rhythmbox klón. Nem igazán láttam át a jelentőségét...

Exaile

Lásd, mint előbb. Ennek a sok klónnak talán egyetlen haszna, hogy egymással versenyezve feltehetően jobbnál jobb megvalósítások jönnek létre. Ez egy GTK-s Amarok-klón szeretne lenni, de szerintem ott máris elrontották, hogy Pythonban láttak neki a leprogramozásnak...

Music Player Daemon

Ez talán egy külön postot is megér! Foglalkoztam vele rendesen, még patch-eltem is saját használatra, de aztán nem jött végül össze, amit szerettem volna (legnagyobb részt saját türelmetlenségem miatt), így végül dobtam a projektet. Ettől függetlenül az MPD, mint egy keretrendszer, nagyon jó! A lényege, hogy kliens-szerver a megvalósítás; tehát a lejátszó rész teljesen elszakadt a megjelenítő felülettől, ezek akár külön gépen is lehetnek. Ennek megfelelően számos felület készült hozzá; PHP-től a GTK-ig, és ezek tetszőlegesen cserélhetők, akár lejátszás közben is... ;-)

Kis összehasonlítás

Nézzük, mellik játékos mit tud, mit nem tud:

 TotemRhytmboxAmarokXMMSZinfBansheeExaile!MPD
LejátszólistaXXXXXXXX
Kereshető (intelligens) playlist XX XXXrészben
VizualizációXXXX ? X 
Skinek  XXX  X 
iPod XX  ?X 
Streaming bemenetXX?  XX 
Streaming kimenet XX??? X
Last.FM XX  XX 
Borító, szöveg a netről XX  ?X 
Crossfade XXX?? X
Windows támogatás*  X*(1)X   


EZ az első, hogy ilyen táblázatot rajzoltam, úgyhogy ha kéne még bele fícsör vagy valami nem úgy van, dobjatok egy kommentet, kösz.

*Windows támogatás: Hátha fontos valakinek, hogy ugyanazt a felületet lássa Windows alatt is

*(1) Igazából ez azt akarja jelenteni, hogy a Winamp 1-2 sorozattal tökéletesen kompatibilis.

 

9 komment

Címkék: linux zene kde gnome media ingyenes lejátszó alkalmazások

A bejegyzés trackback címe:

https://bagojur.blog.hu/api/trackback/id/tr1612280

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

evenorbi 2008.04.13. 23:19:48

A Rhythmbox-ot mostanában kedvelem meg, de amúgy a Sonatát használtam sokáig MPD-vel.
A Quod Libet is nagyon jó lejátszó.

(csak itt jegyzem meg, hogy nagyon tetszett a kernelfordításról szóló sorozatod, remélem folytatod, ha jut még eszedbe valami)

bagoj.ur 2008.04.14. 10:00:35

Remélem, tudtam segíteni! Egyébként van még ötletem... a lejátszó ötleteket köszi, még nem ismertem egyiket sem.

mg 2008.04.15. 15:00:53

Megkérdezhetem mit szerettél volna az mpd-hez "hozzáhackelni"? Xmms2-t próbáltad már? Az is hasonlo felépítésű, de talán kevesebb frontend van hozzá...

charlie · http://blogocska.org 2008.04.15. 19:10:23

Amarokot (elvileg) lehet skinelni, vmint Windowson is megy...

bagoj.ur 2008.04.15. 23:10:07

mg: Hozzá is hackeltem, de lusta voltam rendesen megírni a kódot. Egy szavazás-alapú szerző-, szám- és stílusnépszerűséget nyilvántartó dj-program volt. Azért nem jukeboxot írok, mert ez nem kívánságokat teljesített, hanem a szavazatok alapján zenei blokkokat játszott; és nem feltétlenül játszott le minden számot, amire csak 1-1 szavazat érkezett, de figyelembe vette a számok kiválasztásánál. Elég bonyolult volt az algoritmus, nehéz fél mondatban leírni...

charlie: köszi, javítom.

a 2008.05.08. 14:55:40

Exaile-ben van "Vizualizáció", "Borító, szöveg a netről" és theme támogatás. Na meg plugin támogatás.

szomorutojas 2008.05.15. 13:24:06

Nem írtad az audacious-t, csak egy újabb winamp klón, de én ezt kedvelem legjobban. Kereshetô media directoryn kívül mindent tud.

Egyébként a "kereshetô intelligens playlist"hez (gondolom ez a winampos media directorynak felel meg) érdekesség, hogy 90 gigányi mp3 scannelése minden eddig próbált (rhythmbox, banshee) lejátszónak meghaladta a képességét. A winampnak sambán keresztül jól ment :)

szucsjoee 2008.05.16. 14:14:36

@tojás: Az xmms-nél megemlítettem: "...továbbfejlesztése több ágon indult meg; ezek közül most úhy tűnik, az Audacious nevű lesz a befutó."

Nekem a rhythmbox köszöni, jól elboldogul kb. 30 gigányi anyaggal, de olyan sok giga nekem sose lesz, mint ami Neked. Ezt is csak lustaságból, hogy ne kelljen előkeresgélni, inkább fent van az összes zene, de ebből úgyis mindig pár albumot hallgatok. De egyébként tényleg olyasmire gondoltam, mint a rhythmbox media directory-ja, a winampnak nem tudom, milyen van, utoljára a 2-es szériáját láttam...
süti beállítások módosítása