Preji krasne nedelni odpoledne.
Mam zvukovou kartu Genius Sound Maker Live 5+1 (modul snd-fm801 z ALSy). Pouzivam ALSu, ale nad ni jeste Artsd kvuli smesovani zvuku. Nedavno jsem ale narazil na par dokumentu o ALSe a zjistil jsem, ze ma par ficurek, o kterych jsem nemel nejmensi zdani. Predevsim me zaujal plugin dmix, ktery ma prave smesovani zvuku umet. Z ruznych duvodu bych se chtel Arts zbavit (zpozdeny zvuk napriklad u her, nektere aplikace Arts vubec nepodporuji, vetsi narocnost na pocitac) a kdyby ho dokazala ALSA nahradit, tak bych byl velmi stastny clovek.
Proto bych se chtel nejprve zeptat, zda toto nekdo nepouziva a pokud ano, tak jake s tim ma zkusenosti. V manualech jsou predevsim informace o nastaveni, ale o praktickem pouziti tam uz nic moc neni. Jde mi predevsim o to, zda je pouziti tak jednoduche, jako u Arts. Tim myslim, ze si v XMMS jenom nastavim vystupni plugin na ALSu, totez nastavim v konfiguracnim souboru MPlayeru, hry vyuzivajici SDL si zjisti vse samy a obycejny wav pujde prehrat treba jen prikazem aplay zvuk.wav. Je to vse tak jednoduche, jak bych si pral nebo jsou zde i nejake komplikace, o kterych bych mel vedet drive, nez se do toho pustim?
Predem diky za vsechny odpovedi.
ja pouzivam trochu opacnou vec, rozdeluju zvuk na dve zvukarny(repro a sluchatka), program ktery to ma pouzivat musi podporovat alsu(mplayer a xmms bez problemu)
ALSA a arts jsou dvě odlišné věci:
Arts je zvukový démon - program pro komuunikaci se zvukovým ovladačem.
ALSA je spousta ovladačů zvukových karet, knihovna a pár programů.
Zatímco arts směšuje softwarově, ALSA směšovat neumí, pokud to neumí přímo hardware.
Takže každý program, který chce pod alsou směšovat zvuky, si to musí dělat sám. Arts bývá jedním z nich, jiným např. ESound nebo NAS.
Odstranít zpoždění zvuku v softwarovém směšovači se snaží projekt zvukového démonu jack-audio-connection-kit. Vyvíjejí to přímo vývojáři ALSA. Zatím bohužel mnoho programů podporu pro jack nemá.
Ja vim, ze jsou to rozdilne veci, ale z toho co jsem o tom pluginu cetl jsem si myslel, ze to i ALSA umi. V clanku ALSA pro zacatecniky (2) na LinuxZone se mimo jine pise: "dmix umožňuje smixovat několik audio proudů do jednoho. To se hodí na starších kartách, které tuto funkcionalitu postrádají."
Zkusim se jeste porozhlednout po strankach ALSy.
Máte pravdu!
Není to ovšem funkce ALSA driveru, ale o stupínek výše - alsa-lib.
Nikdy jsem to nezkoušel.
Jde o to, že v ALSA systému můžete mít víc karet (default je hw:0) (hw : 0 bez mezer a chechtáku), a každá má jméno (definované řetězcem).
A v alsa-lib je zřejmě virtuální zařízení dmix.
Takže:
1) Aplikace by měla nativně umět podporu ALSA. Pokud ne, nejsem si jistý, zda tak půjde nakonfigurovat alsa-oss,
2) Aplikace by měla mít možnost nastavit zařízení ALSA. Pokud ne, experimetujte s proměnnými: ALSA_PCM_DEVICE, ALSA_PCM_CARD, ALSA_CARD (v tomto pořadí).
3) Musíte nakonfigurovat dmix (viz článek), aby jako své podzařízení používal správné PCM na správné kartě.
Upozornění na konec: Než přijdu na to, v jakém formátu chce ALSA parametry, vždy to trvá pěkně dlouho.
super, zrovna jsem se chtel po necem takovym rozhlidnout taky, esd se me zda trochu pomalej a je rozdil mezi tim jestli mplayer posila zvuk na esd daemona nebo zvukovku rovnou. Uvidime jestli almixe bude rychlejsi. Nevyhoda je, ze to vyzaduje 2.6 jadro a nehodi se na lama a stable systemy.
jinak receno: patchovat jadro, prekladat, vymyslet nejruznejsi zpusoby jak obejit to ci ono... nebo dokonce pouzit distribucni jadro... hm tak na to jsem moc liny a pouziju OSS