Leszakadó (?) hangkártya eszköz

Fórumok

Nemrégiben volt pár köröm azzal, hogy hogy lehet a PIPO X8-on Linux alatt minél egyszerűbben és olcsóbban hangot csiholni a gépből; a győztes tippet végül fdeyso kolléga adta (ezúton thx neki még egyszer), a linkelt hangkártya-és-hangszóró-egyben eszköz megjött és megy is Linux alatt, de nem 100% még.A hibajelenség a következő: van egy raklap (44100 Hz-es, 16-bites, mono) wav-unk, amiket le szeretnék játszatni aplay-jel. Azonban ezek egy része egyszerűen leszakítja a hangkártyát (nem tudok hirtelen jobb szót rá). A jelenség reprodukálható, mindig ugyanazok működnek és mindig ugyanazok nem. Néztem hosszt és méretet, de semmi összefüggés nem volt a leszakadás és ezek közt. Megpróbáltam sox-szal átkonvertálni a hangokat 44100.16-ról 22050.8-ra, de nem hozott változást: ugyanazok a hangok akasztották le, átkonvertálás után is.

Az aplay kimenete egy nem működő wav-nál:

$ aplay hangok/szemelyes_info.wav
Playing WAVE 'hangok/szemelyes_info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
underrun!!! (at least 469.723 ms long)
aplay: xrun:1602: xrun: prepare error: Broken pipe

Megpróbáltam neki buffer-time, ill. buffer-size értékeket állítgatni, de teljesen eredménytelen volt, illetve annyi változás történt, hogy az underrun és broken pipe üzenetek eltűntek, de a hanglejátszás ugyanúgy megszakadt.

Megpróbáltam mpv-vel is lejátszani:

$ mpv hangok/szemelyes_info.wav
Playing: hangok/szemelyes_info.wav
(+) Audio --aid=1 (pcm_s16le)
Failed to create secure directory (/home/tesztuser/.config/pulse): Permission denied
AO: [alsa] 48000Hz mono 1ch s16
A: 00:00:00 / 00:00:01 (16%)
[ao/alsa] Device lost, trying to recover...
[ao/alsa] pcm prepare error: File descriptor in bad state
[ao/alsa] pcm prepare error: File descriptor in bad state
[ao/alsa] pcm close error: No such device
Failed to create secure directory (/home/tesztuser/.config/pulse): Permission denied
ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
[ao/alsa] Playback open error: No such file or directory
[ao/oss] Can't open audio device /dev/dsp: No such file or directory
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
[ao/jack] cannot open server
Failed to create secure directory (/home/tesztuser/.config/pulse): Permission denied
ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
couldn't open play stream: No such file or directory
[ao/sndio] can't open sndio default
[ao] Failed to initialize audio driver 'sndio'
Could not open/initialize audio device -> no sound.
Audio: no audio
: 00:00:00 / 00:00:01 (17%)

Exiting... (Interrupted by error)

Valaki találkozott már ilyennel? Esetleg valakinek van valami ötlete, hogy mi lehet a baj?

Hozzászólások

Elég sok program képtelen mono hangot lejátszani. Ebbe az irányba keresgélj.
Ez csak egy ötlet, ami lehet téves is.

orulok, hogy nalad is mukodik, amit en rendeltem az tolem most jo messze van, de a "hibas" hangfileokat ha megosztod velunk, lehet valaki kiszurja bennuk a hibat, vagy mas eszkozzel is hibat produkal

Kicsit sok ott a hibaüzenet. Csak egy works for me-t tudok mondani. 5.0.3-as kernellel, 12.2-es pulseaudio-val, 1.1.8-as alsa-lib-bel megy hiba nélkül. Próbáltam az aplay (alsa 1.1.8), play (sox 14.4.2.0), mpv 0.29.1, ffplay (ffmpeg 4.0.3), vlc 3.0.6, paplay (pulseaudio 12.2), parole 1.0.1 parancsokkal, de mindegyik hibátlanul lejátszotta.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ezzel a hangkártyával?

Asztali gépen nekem is megy; az egész topic arról szólt, hogy azzal a hangkártyával nem tudom lejátszatni az adott wav-okat. (Ez egyébként egy OOB Devuan 2, 4.9-es kernel, 1.1.3-as ALSA. A pulse nincs felrakva, de nem is kell, mert az aplay az ALSA-ra támaszkodik.)

Amivel nem boldogul, azt mindjárt indításkor köpi ki, vagy valamennyit lejátszik belőle?

Gondoltam rá, akartam is írni, de munkahelyen nem HUP-ozok jellemzően. Ott vált gyanússá, amikor írtad, hogy alacsonyabb mintavételi frekvencia esetén is csinálja. A file teljesen más, de a dinamika profilja lényegében azonos, így a terhelés miatti brown out reset kapcsán detach lesz, s megáll az élet.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Mindig tanul az ember. Így utólag persze már logikus, de én még nem futottam bele olyan hangkártyába, amit szoftveresen le lehetett annyira terhelni, hogy leszakadjon, így ez nem valószínű, hogy eszembe jutott volna. Max. ha kínomban elkezdek neki véletlenszerűen hangokat generálni (nem fehér zajra gondoltam) és kiszúrom, hogy a hangosabbak akasztják le, de ez lutri.

Na jó, de itt a hangvégfokon keresztül a hangszóró táplálkozik abból az 5 V, 500 mA-ből, ami van. A kábelek ellenállása miatt rosszabb a helyzet. Hatásfokkal, mindennel együtt van 2.5 W-unk. Ezért szoktam kínosan feszengeni a boltban, amikor látok csak USB 2.0-ról működő PC-s hangfalakat, és mindenféle 6 W, meg még ennél is gorombább számok vannak ráírva.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez még rendben is lenne. Olyan, mint a vásári óriáskígyó: A fejétől a farkáig öt méter, a farkától a fejéig hét méter, összesen tizenhét méter.

Én csak arra vagyok kíváncsi, hogy zoftveresen hogyan lehet megterhelni? Mongyuk a 20dkg-os zoftver súly helyett 1kg-os zoftver súly rárakásával, vagy másként? Mert az szabálytalan! ;)

A valóságban meg a hangcsipek 0dB-hez tartozó kimenő feszültsége pontosan definiált. Ehhez még tudjuk a terhelést is. Ennek alapján még a süket is ki tudja számolni a szükséges erősítést, mondjuk 130% kimenő teljesítményhez. Ekkor az a szerencse ér minket, hogy még ha megszakadunk sem lehet az előre kitaláltnál nagyobb teljesítményt kiadni.

Tudományosan összegezve a fenti ismereteket: Zoftveresen nem lehet kiakasztani egy hangkártyát, hanem a szükségesnél kisebb a tápegység.
De ez már korábban is kiderült.

Igazad van, de én - mint az már kiderült korábban - nem vagyok annyira otthon az analóg elektrotechnikában; ha szembekerülök egy ilyen jelenséggel, rögtön a szoftverben fogom keresni a hibát, nem a hangszóróban. A mostani Linuxokat ismerve nem is ok nélkül. :( (No flame, csak ezen a nyamvadt PIPO-n is úgy kellett összeszenvedni az egészet, miközben a ringyóztíz meg gond nélkül viszi az összes HW-t. Csak hát arra meg már képtelenség bármit építeni; az esetleges áramszünet után a bootba esetlegesen (1:5) belefagyó Linux még mindig jobb, mint a gépet ütemezett feladatból is letiltott frissítések ellenére is juszt lefrissítő és újraindító, rossz esetben tönkreverő windózápdét...)