alsabat - parancssori hangtesztelő az ALSA hangkártya illesztőprogramjához
alsabat [flags]
Az ALSABAT (ALSA Basic Audio Tester) egy egyszerű parancssori segédprogram, amelynek célja az audio-illesztőprogramok és a hangszerverek tesztelésének automatizálása csekély emberi beavatkozással. Az ALSABAT segítségével tesztelhető a hangminőség, a stresszteszt-funkciók és a hang tesztelése a PM állapotváltozások előtt és után.
Az ALSABAT kialakítása viszonylag egyszerű. Az ALSABAT lejátszik egy hangfolyamot, és ugyanazt az adatfolyamot rögzíti akár digitális, akár analóg visszahurkolással. Ezután FFT segítségével összehasonlítja a rögzített adatfolyamot az eredetivel, hogy megállapítsa, hogy a teszteset sikeres vagy sikertelen.
Az ALSABAT vagy teljesen futhat a tesztelt célgépen (önálló mód), vagy futhat kliens/szerver módban, ahol az alsabat kliens fut a célon, és szerverként fut egy külön tesztelő gépen. A kliens/szerver mód továbbra is manuális beavatkozást igényel a szinkronizáláshoz, de ezt a jövőbeli kiadásokhoz aktívan fejlesztik.
A hardvertesztelési konfiguráció megkövetelheti egy analóg kábel használatát, amely összeköti a tesztgépeket, vagy egy kábelt az analóg visszacsatolás létrehozásához, ha a tesztelt hanghardveren nem érhető el visszahurkolási mód. Egy analóg hurokkábel használható a "line in" és a "line out" aljzatok csatlakoztatására, hogy visszahurkolást hozzanak létre. Ha csak fejhallgató- és mikrofoncsatlakozók (vagy kombinált jack) állnak rendelkezésre, akkor a következő egyszerű áramkör használható analóg visszacsatolás létrehozására: -
https://source.android.com/devices/audio/loopback.html
Ha a tinyalsa telepítve van a rendszerben, a felhasználó kiválaszthatja a tinyalsa-t az alsabat backend lib-jeként az "--enable-alsabat-backend-tiny" beállítással.
Súgó: szintaxis megjelenítése.
Válassza ki a tesztelni kívánt hangkártyát név szerint.
Válassza ki a lejátszó PCM-eszközt.
Válassza ki a rögzítő PCM-eszközt.
Mintaformátum
Az elismert mintaformátumok a következők: U8 S16_LE S24_3LE S32_LE
Előfordulhat, hogy ezek egy része bizonyos hardvereken nem érhető el
A rendelkezésre álló formátum-parancsikonok a következők:
-f cd (16 bit little endian, 44100, stereo) [-f S16_LE -c2 -r44100]
-f dat (16 bit little endian, 48000, stereo) [-f S16_LE -c2 -r48000]Ha nincs megadva formátum, akkor az S16_LE kerül alkalmazásra.
A csatornák száma. Az alapértelmezett egy csatorna. Az érvényes értékek jelenleg 1 vagy 2.
A mintavételi frekvencia Hertzben. Az alapértelmezett sebesség 44100 Hertz. Az érvényes értékek a hardver támogatásától függenek.
A generált jel időtartama. Az érték a két alak egyike lehet:
1. Decimális egész szám, a keretek számát jelenti;
2. A lebegőpont 's' utótaggal a másodpercek számát jelenti.
Az alapértelmezett 2 másodperc.
Szigma k érték az elemzéshez.
Az elemző funkció beolvassa az adatokat a WAV-fájlból, az FFT-t futtatja az adatok ellen, hogy megkapja a frekvenciavektorok nagyságát, majd kiszámítja a frekvenciavektorok átlagos értékét és szórását. Ezt követően meghatározunk egy küszöböt:
küszöb=k * szórás + átlagérték
A küszöbértéknél nagyobb amplitúdójú frekvenciákat csúcsként, a legnagyobb csúcsértékkel rendelkező frekvenciákat pedig észlelt frekvenciaként ismeri fel a rendszer.
Az ALSABAT ezután összehasonlítja az észlelt frekvenciát a célfrekvenciával, hogy eldöntse, hogy az észlelés sikeres vagy sikertelen.
Az alapértelmezett érték 3.0.
Jelgenerálás és -elemzés célfrekvenciája, Hertzben. Az alapértelmezett 997,0 Hertz. Az érvényes tartomány (DC_THRESHOLD, 40% * Mintavételi gyakoriság).
A lejátszandó vagy rögzítésre váró periódusok teljes száma.
Írja be az stderr és stdout kimenetet ebbe a naplófájlba.
WAV fájl bevitele a lejátszáshoz.
Célozza meg a WAV-fájlt a rögzítési teszttartalom mentéséhez.
Belső visszacsatolási mód. Lejátszás, rögzítés és elemzés csak az ALSABAT-on belül. Ez a fejlesztők számára készült, hogy teszteljék az új ALSABAT-funkciókat, mivel a hang az ALSABAT-on kívülre nincs irányítva.
Támogatás hozzáadása az önálló módhoz, ahol az ALSABAT a tesztelt géptől eltérő gépen fog futni. Önálló módban a hangadatok a normál módhoz hasonlóan generálhatók, lejátszhatók és rögzíthetők, de nem kerülnek elemzésre. A libfftw3 támogatás nélkül épülő ALSABAT mindig önálló módban van. Az ALSABAT normál módban az adatelemzést is megkerülheti a „--standalone” opció használatával.
Oda-vissza késleltetési teszt. Az audio késleltetés az az időkésleltetés, amikor az audiojel áthalad a rendszeren. Sokféle hang késleltetési mérőszám létezik. Az egyik hasznos mérőszám az oda-vissza késés, amely a kimeneti késleltetés és a bemeneti késleltetés összege.
Zajérzékelési küszöb SNR-ben (dB). A 26 dB az amplitúdó 5%-os zaját jelzi. Az ALSABAT hibát ad vissza, ha a jel SNR kisebb a küszöbértéknél.
Zajérzékelési küszöbérték a zajamplitúdó százalékában (%). Az ALSABAT hibát ad vissza, ha a zaj amplitúdója nagyobb, mint a küszöb.
Generáljon és játsszon le egy 250 Hertz-es szinuszhullámot 2 csatornával és S32_LE formátummal, majd rögzítse és elemezze.
Játssza le az „500Hz.wav” RIFF WAV fájlt, amely 500 Hertz-es hullámforma LPCM adatokat tartalmaz, majd rögzítse és elemezze.
Siker esetén 0.
-t ad vissza Ha nem észlel csúcsot, a -1001;
értéket adja vissza Ha csak egyenfeszültséget észlel, -1002;
Ha a csúcsfrekvencia nem egyezik a célfrekvenciával, a -1003 értéket adja vissza.
aplay(1)
Jelenleg csak a RIFF WAV formátumot támogatja PCM adatokkal. Kérjük, jelezze az esetleges hibákat az alsa-devel levelezőlistáján.
Az alsabat: Liam Girdwood