Portál AbcLinuxu, 6. května 2025 11:37
Zdravím,
rád bych si koupil zvukovou kartu E-MU 0204 a mám pár otázek na případné majitele této "karty" (dá se tomu vůbec říkat karta, když to jako PCI/ISA karta nevypadá?).
Samotná základní funkčnost mě až tak nezajímá (vím, že funguje out-of-the-box), měl jsem na pár minut v ruce a počítači E-MU 0202, spíše mě zajímají featury, které by člověk od takovéto karty očekával:
aplay
? Je možné "sjednotit" obě zařízení tak, aby šel jeden výstup do obou bez nutnosti použít těžkých hacků .asounrc
či nástavby (jack/pulseaudio)? (třeba přepínačem v alsaconfigu).asoundrc
.
Díky za jakékoli informace, klidně i od majitelů E-MU 0202 či E-MU 0404.
PS: Spousta přehrávačů si ukazuje, co chce (a to i aplay
). Mplayer je jeden z mála přehrávačů, kteří mají tu odvahu říci něco jako
[AO_ALSA] Format s24le is not supported by hardware, trying default. AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)- proto pokud nemáte možnost daný výsledek ověřit "fyzicky" zesilovačem / analyzérem, zkuste prosím alespoň použít relativně věrohodné nástroje, děkuji.
Nebude to tím že hromada programů k zvukovkám přistupuje né k HW, ale přes různé jack, pulseaudio a pod... servery a ty skousnou vše protože si to převzorkují - převedou na to co umí HW ?
To dělá už alsa samotná, dělá to i aplay
právě. Přišel jsem ale na to, že pokud pustím aplay -v
(verbose), tak moc pěkně vypíše, co vlastně dělá:
Playing WAVE '7041888513520_01_13_192kHz.wav' : Signed 24 bit Little Endian in 3bytes, Rate 192000 Hz, Stereo Plug PCM: Rate conversion PCM (96000, sformat=S16_LE) Converter: linear-interpolation Protocol version: 10002 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S24_3LE subformat : STD channels : 2 rate : 192000 exact rate : 192000 (192000/1) msbits : 24 buffer_size : 32768 period_size : 8192 period_time : 42666 tstamp_mode : NONE period_step : 1 avail_min : 8192 period_event : 0 start_threshold : 32768 stop_threshold : 32768 silence_threshold: 0 silence_size : 0 boundary : 4611686018427387904 Slave: Hardware PCM card 0 'SB Audigy 2 ZS [SB0350]' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : MMAP_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 96000 exact rate : 96000 (96000/1) msbits : 16 buffer_size : 16384 period_size : 4096 period_time : 42666 tstamp_mode : NONE period_step : 1 avail_min : 4096 period_event : 0 start_threshold : 16384 stop_threshold : 16384 silence_threshold: 0 silence_size : 0 boundary : 4611686018427387904 appl_ptr : 0 hw_ptr : 0- tedy používá Rate conversion PCM ze 192KHz S24_3LE na 96KHz S16_LE.
Pokud pak zkusím tuto konverzi aplay
i zakázat přes --disable-format
, dostanu pěkný seznam toho, co karta (dle alsy) umí:
Playing WAVE '7041888513520_01_13_192kHz.wav' : Signed 24 bit Little Endian in 3bytes, Rate 192000 Hz, Stereo aplay: set_params:1053: Sample format non available Available formats: - U8 - S16_LE
Jinak to co umí čip najdeš v datashetu k příslušnému čipu a tam najdeš pokud jsou to dvě zvukovky na jednom čipu s jedním rozhraním a nebo jedna.
Nějak jsem nepochopil. Zvukovka by měla mít dva A/D převodníky AK5385 (levý a pravý kanál vstupu), dva D/A převodníky AK4396 na levý a pravý kanál výstupu vzadu ("analog line outputs") a další dva AK4396 pro sluchátkový zesilovač s výstupem vepředu. Jaký IO ale použil výrobce na komunikaci s driverem nemám moc šanci zjisti z materiálů dostupných na webu. Windows umí použít oba výstupy odděleně, šlo mi spíš o to, jak se karta tváří na Linuxu.
Nějak jsem nepochopil. Zvukovka by měla mít dva A/D převodníky AK5385 (levý a pravý kanál vstupu), dva D/A převodníky AK4396 na levý a pravý kanál výstupu vzadu ("analog line outputs") a další dva AK4396 pro sluchátkový zesilovač s výstupem vepředu. Jaký IO ale použil výrobce na komunikaci s driverem nemám moc šanci zjisti z materiálů dostupných na webu. Windows umí použít oba výstupy odděleně, šlo mi spíš o to, jak se karta tváří na Linuxu.Někdo kdo ji má či z obrázku těch IO by bylo možné vyčíst co je tam za řídící obvod. Pokud to má samostatné D/A a A/D převodníky tak by měly jít ovládat samostatně - ale za nic neručím zvukovku jsem nikdy neviděl - prostě měl by se ozvat někdo kdo ji má a napsat co na ní jsou za IO....
Kartu už mám nějaký ten pátek, tak se tu (pro budoucí generace) podělím o pár faktů.
Jak je řešena dvojice párů výstupů (0204) v Linuxu? Tváří se jako 2 "devices" jedné karty (hw0,0 a hw0,1)? Lze přehrávat na každý výstup zvlášť přes aplay? Je možné "sjednotit" obě zařízení tak, aby šel jeden výstup do obou bez nutnosti použít těžkých hacků .asounrc či nástavby (jack/pulseaudio)? (třeba přepínačem v alsaconfigu)
Karta se tváří, jakoby měla 4 kanály výstupu (playback_{1,2,3,4}), ale přehrává jen na prvních dvou. Duplikuje výstup do sluchátkového zesilovače a line out, takže pokud by někdo kupoval kartu pro přehrávání meditační hudby do repráků a poslouchání metalu ve sluchátkách, má na Linuxu smůlu.
Jak je to s přehráváním více typů sample rate? Jde to bez resamplování? (audigy si vše resampluje do 48KHz) .. Jaká je podpora 96KHz, resp. 192KHz playbacku v linuxu? (slyšel jsem, že nefunguje)
Jde. Vše od 44.1k až do 192k 24-bit jde přehrávat nativně, bez resamplování. Ověřeno "hardwarově". Problém je u 192k nahrávání, k tomu se dostanu později.
Jak je to s "direct monitoringem"? Je to víceméně hardwarová záležitost, mohla by tedy "prostě fungovat".
"Prostě funguje."
Jak je na tom míchání mono mikrofonu do obou kanálů sterea na výstupu bez jack/alsa routování? Karta na to má tlačítko, které by mohlo mít přepínač v alsaconfigu, má?
Tlačítko slouží pro Direct Monitoring, tzn. "přehrávání" vstupu do výstupu. V alsamixeru prakticky nic není, musí se to řešit na úrovni jacku nebo asoundrc.
Na co si dalšího dát pozor / co nefunguje úplně ideálně? Mám sice Debian Squeeze, ale s posledním kernelem (3.3.5+) a možností bez problému přidávat patche, takže verzi alsy bych měl mít "poslední" - v userspace jsou jen konfigurační skripty a nástroje.
Pozor na to, že debian stable ukazuje v aplay -L úplně něco jiného, než karta umí (poslední Ubuntu to ukazuje dobře, tak to asi bude zastaralá userspace knihovna). Na samotné přehrávání to naštěstí vůbec nemá vliv. Pro přímý playback použijte "hw:X,0
", pro automatický převod do S24_LE (jediný formát, který karta umí) je daleko praktičtější "plughw:X,0
", resp. "plughw:CARD=USB,DEV=0
".
Mám v plánu zapojit sluchátka zepředu a studiové monitory (přes další zesilovač) zezadu, proto bych opravdu ocenil možnost duplikovat výstup bez nutnosti vytvářet pseudokartu v .asoundrc.
Jak jsem už psal, tohle je by default a nedá se to žádnou snadnou cestou změnit.
Pár dalších bodů:
Sečteno a podtrženo - je to dobrý kus HW za tu cenu (~3000Kč). Jen mě trochu trápí, že Skype/TeamSpeak a některé jiné aplikace nahrávají místo vstupu z mikrofonu nějaký šum, který se místy podobá mixu zbiječky a parní lokomotivy a nemá vůbec vliv na to, jak moc foukám do mikrofonu. Normální aplikace (Audacity, jack, dokonce i wine, ...) nemají problém. Ne, není to problém dmixu/dnsoopu, zmiňované aplikace šumí i při přímém použití karty (plughw).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.