Hangrendszerek Linuxon

Fórumok

Mi értelme van ennek a sok különféle hangrendszernek? Alsa, OSS, Jack... Mi a különbség közöttük?

Hozzászólások

Itt részletesen leírják:
OSS, ALSA: http://www.alsa-project.org/
JACK: http://jackit.sourceforge.net/

A valóságban ez úgy néz ki, hogy pl. a hangkártyához az alsa-t bekonfigurálod (ha automatikusan nem megy). Amelyik program kezeli az alsa-t, az sima ügy, amelyik meg nem, az oss emuláción keresztül tudja megszólaltatni a hangkártyát. A jack meg összeköti a különböző szoftvereidet. Pl.: elindítod az ardour-t (digitális audió munkaállomás), a hydrogen-t (dobgép) és a jamin-t (mastering program). Ezek a programok jack-hez lettek tervezve, a jack számára megmondják, hogy milyen ki és bemenetekkel rendelkeznek. A jack vezérlőjével meg szépen össze tudod kötni drótokkal, mintha csak jack dugókkal játszanál ;-) persze itt már az alsa hangkártyáid is megjelennek csatlakozóként.
Az alsa a digitális hangon kívül még midi-t is szolgáltat.

Szoktak tudni, kb. mindegyik, de ez kevés hangkártyánál jelenti azt, hogy több szoftveres forrásból mixelnek. Általában csak néhány spéci csatornát kevernek össze, mint pl. a PCM (*), CD, segédbemenet (ha van), mikrofon- és vonalbemenet, esetleg külön MIDI (és itt most nem a digtális MIDI-ről van szó, hanem a hangkártya által MIDI információk alapján előállított analóg csatornáról, bár ma már ilyennel nemigen játszanak asszem).

Csak a profibb kártyákban van több PCM-csatorna, de azt meg nem tudom, hogy keverik-e - gondolom, tudják keverni is, - mert általában ott meg mindegyiket kivezetik külső keverőre.

------------------------------------
(*) PCM-nek szokták hívni a ,,szoftveres csatornát'', tehát amire a programok zengenek - teljesen helytelenül, mert a PCM különben impulzuskód-modulációt jelent.

Hát ez az. Amíg volt ISA-m, én is azt használtam. :) Bár nem hiszem, hogy a GF1 chip-et ki tudjuk használni Linux alól, ami a többcsatornás lejátszást teszi lehetővé... gyanítom, hogy csak a CODEC-et (egy sztereo kimenet). Meg tizenvalahány csatorna fölött elkezd esni a kimeneti mintavételi frekvencia, mivel időosztásos keverés van... cserébe interpolálta a 8 bites mintákat 16-ra. :)

Régi szép idők.

Valójában egy felprogramozott, összelegózott dsp lehetett az egész.

Ezen mit ertesz? Minden hangkartya lelke egy DSP, azaz Digital Signal Processor/Processing Unit... A GUS Classic-ban egy ICS microproci volt (ICS11614) aka GF1 (Gravis & Forte Tech...), a PnP-ben egy AMD (Am78C201) aka GFA1. Ez mitol osszelegozott? Egy IC mind a ketto, nem tobb darabbol alt... A GF1 tulajdonkeppen az Apple IIGS hangcsipjenek az egyenesagi leszarmazottja (lasd pl. 32 csatorna vagy 8 bites mintaveletezes :-). Egy pipeline processzor, az elore beallitott csatornaszam alapjan (14-32), sorra lepkedett a csatornak kozott, interpolalt (linearisan) az adott csatorna beallitott frekvenciajanak fuggvenyeben a RAM-ban levo digitalizalt minta pontjai kozott, s osszeadta oket, majd ezt kuldte ki egy kulso DA-ra. Mivel az orajele nem tul magas volt (19.7568MHz), igy 14-nel tobb hangnal mar annyi ido mulva ert vissza az elsohoz, hogy a 44.1KHz-t nem tudta tartani ;-( (ja, azert eleg jol szol 32 hanggal is, kb 19Khz mintavetelezesi freq-el -- foleg a mostani domping szokol minosegu 7+1-es hangrendszereken :-)
Az AMD proci valoszinu mar magasabb orajelen jart, vagy kevesebb idot toltott egy csatorna lerendezesevel (mivel a gepemben nincs vilagitas, meg a kabelek eltakarjak, nem latom a kristalyt, igy nem tudom mekkora lehet az orajele pontosan...), szoval itt mar a 32 hangot is ki tudta szolgalni 44.1KHz-n...

Zsiraf

Nagyjából azt, amit utána kifejtettél. Egy DSP proci + a szükséges célhardverek egyben maszkprogramozottan sorozatgyártásban. Az IC tervezés egyik módja az, hogy blokkokat rakosgatsz le és összehúzalozod, ezt neveztem legózásnak. Mivel a terveket nem láttam, ezért nem tudom, hogy egy általánosabb audió proci, amiben már benne volt az D/A A/D, analóg mixer stb. vagy pedig csak a dsp mag köré odarakták a szükséges analóg blokkokat és legyártatták. Én az utóbbit tartom valószínűbbnek. Pl. a PowerPC processzormagot is licenceli az IBM IC tervezéshez. Ha van elég pénzed, akkor olyan IC-be ágyazod bele a ppc magot, amilyenbe csak akarod.

A GF1 nem tartalmazta sem az AD-t sem a mixert (ICS2101). Nem raktak a mag kore "semmit", mert a nyaklapra tettek... :-)

Zsiraf

p.s.: bocs, hogy reagaltam az eredeti "lego"-zasra, de nekem az az erzesem volt, hogy "szedett-vedett"-segre utalsz, amit nem ertettem... Ugyanis szerintem a GF1 messze a legnormalisabb, egysegben levo hangproci volt/van/lesz. Gyakorlatilag nincs benne hulyeseg, csokottseg, kiveve talan az, hogy a hangero kezelesere nem valasztottak a legjobb modszert, mert ha ott is a hangmintakhoz hasonloan menne a buli... no mindegy.

A GF1 a maga korában egy hatalmas pofon volt a piacnak: a piachoz képest nagyon olcsón kihozták azt, amennyit csak lehetett. Kár, hogy kicsi cég volt és végül kénytelen volt kiszállni az egészből, hogy ne a cég bukjon. 3 hónapig gyűjtöttem akkor egy GUS MAX-ra. Most hogy mondod valami rémlik, hogy külső a/d-t használtak, aminek akkor találtam meg a gyártói adatlapját, amikor már nem foglalkoztam a programozásával. De volt belső a/d és d/a is a GF1-ben és úgy rémlik, hogy az első típusok még azt használták.
Na mindegy, lényegtelen már.
Mi a helyzet a Creative Labs nagyteljesítményű audio procijával?

cserébe interpolálta a 8 bites mintákat 16-ra. Ez mit jelent?
Interpolalni 2 (ill. tobb) pont kozott lehet. De nyolc bitrol tizenhatra? Ez uj...

Nem, interpolalni akkor interpolalt, ha pl. a lejatszasi frekvenciaja a hangmintanak kisebb volt mint az adott mintavetelezesi frekvencia, s igy idorol idore, ket mintavetelezesi pont kozott volt a pozicio. No, ilyenkor linearisan interpolalt a mintavetelezesi pontok kozott, s igy produkalta a kozelitoleg jo eredmenyt. (aka tort pozicio).

Zsiraf

Az mitől lehet, hogy OSS hangrendszerrel szól az XMMS ha rootként vagyok bejelentkezve, de ha felhasználónként lépek be a rendszerembe, akkor nem megy az XMMS OSS hanggal, sőt inkább kifagy tőle. Próbáltam átkapcsolni alsára, úgy működik, de épp most megadta magát az XMMS és már alsával sem hajlandó megszólalni (ugyanakkor alsával most is működik az amarok). Kijelentkeztem és átmentem rootba, ott OSS-al simán működik most is az XMMS. Mi lehet a gond?

Jó, akkor jelen esetben adj egy alternatív megoldást -r kapcsoló nélküli könyvtártörlésre :)

Nekem így néz ki:
Ha nincsenek szünetes fájlnevek:
for file in `find $DIR -type f`;do rm -f $file;done
for dir in `find $DIR -type d`;do rmdir $dir;done

Ha vannak (ergo inkább ezt használd):
find $DIR -type f|while read file;do rm "$file" -f;done
find $DIR -type d|while read dir;do rmdir "$dir";done

Ja igen, egyébként jól vagyok ;D
(ha írsz egy scriptet ami a -f kapcsolót is helyettesíti, de ugyanúgy viselkeik, meghívlak egy sörre ;) )