alsabat - manual referensi, opsi, contoh perintah


NAMA

alsabat - penguji suara baris perintah untuk driver kartu suara ALSA

RINGKASAN

alsabat [flags]

KETERANGAN

ALSABAT(ALSA Basic Audio Tester) adalah utilitas baris perintah sederhana yang dimaksudkan untuk membantu mengotomatiskan driver audio dan pengujian server suara dengan sedikit interaksi manusia. ALSABAT dapat digunakan untuk menguji kualitas audio, fitur stress test dan menguji audio sebelum dan sesudah perubahan status PM.

Desain ALSABAT relatif sederhana. ALSABAT memutar aliran audio dan menangkap aliran yang sama baik dalam loop digital atau analog kembali. Itu kemudian membandingkan aliran yang ditangkap menggunakan FFT dengan yang asli untuk menentukan apakah kasus uji lolos atau gagal.

ALSABAT dapat dijalankan sepenuhnya pada mesin target yang sedang diuji (mode mandiri) atau dapat dijalankan sebagai mode klien/server di mana klien alsabat berjalan pada target dan berjalan sebagai server pada mesin penguji terpisah. Mode klien/server masih memerlukan beberapa interaksi manual untuk sinkronisasi, tetapi ini sedang dikembangkan secara aktif untuk rilis mendatang.

Konfigurasi pengujian perangkat keras mungkin memerlukan penggunaan kabel analog yang menghubungkan target ke mesin penguji atau kabel untuk membuat loopback analog jika tidak ada mode loopback yang tersedia pada perangkat keras suara yang sedang diuji. Kabel loopback analog dapat digunakan untuk menghubungkan jack "line in" ke "line out" untuk membuat loopback. Jika hanya jack headphone dan mic (atau jack combo) yang tersedia maka rangkaian sederhana berikut dapat digunakan untuk membuat loopback analog :-

https://source.android.com/devices/audio/loopback.html

Jika tinyalsa diinstal di sistem, pengguna dapat memilih tinyalsa sebagai backend lib alsabat, dengan opsi konfigurasi "--enable-alsabat-backend-tiny".

PILIHAN

-h, --help

Bantuan: tampilkan sintaks.

-D

Pilih kartu suara yang akan diuji berdasarkan nama.

-P

Pilih perangkat PCM pemutaran.

-C

Pilih perangkat PCM tangkap.

-f

Contoh format
Contoh format yang dikenali adalah: U8 S16_LE S24_3LE S32_LE
Beberapa di antaranya mungkin tidak tersedia pada perangkat keras yang dipilih
Pintasan format yang tersedia adalah:

-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]

Jika tidak ada format yang diberikan S16_LE digunakan.

-c

Jumlah saluran. Standarnya adalah satu saluran. Nilai yang valid saat ini adalah 1 atau 2.

-r

Laju pengambilan sampel dalam Hertz. Tingkat default adalah 44100 Hertz. Nilai yang valid bergantung pada dukungan perangkat keras.

-n

Durasi sinyal yang dihasilkan. Nilai dapat berupa salah satu dari dua bentuk:
1. Bilangan bulat desimal, artinya jumlah frame;
2. Floating point dengan akhiran 's', berarti jumlah detik.
Standarnya adalah 2 detik.

-k

Nilai sigma k untuk analisis.
Fungsi analisis membaca data dari file WAV, menjalankan FFT terhadap data untuk mendapatkan besaran vektor frekuensi, lalu menghitung nilai rata-rata dan standar deviasi vektor frekuensi. Setelah itu, kita mendefinisikan threshold:
ambang=k * deviasi_standar + nilai_rata-rata
Frekuensi dengan amplitudo lebih besar dari ambang batas akan dikenali sebagai puncak, dan frekuensi dengan nilai puncak terbesar akan dikenali sebagai frekuensi yang terdeteksi.
ALSABAT kemudian membandingkan frekuensi yang terdeteksi dengan frekuensi target, untuk memutuskan apakah pendeteksian lolos atau gagal.
Nilai default adalah 3.0.

-F

Frekuensi target untuk pembuatan dan analisis sinyal, dalam Hertz. Standarnya adalah 997,0 Hertz. Rentang yang valid adalah (DC_THRESHOLD, 40% * Laju pengambilan sampel).

-p

Jumlah total periode untuk dimainkan atau direkam.

--log=#

Tulis keluaran stderr dan stdout ke file log ini.

--file=#

Masukkan file WAV untuk diputar.

--saveplay=#

Targetkan file WAV untuk menyimpan konten uji tangkap.

--local

Mode loopback internal. Putar ulang, tangkap, dan analisis internal ke ALSABAT saja. Ini ditujukan bagi pengembang untuk menguji fitur ALSABAT baru karena tidak ada audio yang dialihkan ke luar ALSABAT.

--standalone

Tambahkan dukungan untuk mode mandiri di mana ALSABAT akan berjalan di mesin yang berbeda dengan yang sedang diuji. Dalam mode mandiri, data suara dapat dibuat, diputar, dan ditangkap seperti dalam mode normal, tetapi tidak akan dianalisis. ALSABAT yang dibangun tanpa dukungan libfftw3 selalu dalam mode mandiri. ALSABAT dalam mode normal juga dapat mem-bypass analisis data menggunakan opsi "--standalone".

--roundtriplatency

Tes latensi pulang pergi. Latensi audio adalah waktu tunda saat sinyal audio melewati sistem. Ada banyak jenis metrik latensi audio. Salah satu metrik yang berguna adalah latensi bolak-balik, yang merupakan jumlah latensi keluaran dan latensi masukan.

--snr-db=#

Ambang batas deteksi kebisingan dalam SNR (dB). 26dB menunjukkan 5% noise dalam amplitudo. ALSABAT akan mengembalikan kesalahan jika sinyal SNR lebih kecil dari ambang batas.

--snr-pc=#

Ambang deteksi kebisingan dalam persentase amplitudo kebisingan (%). ALSABAT akan mengembalikan error jika amplitudo noise lebih besar dari ambang batas.

CONTOH

alsabat -P plughw:0,0 -C plughw:0,0 -c 2 -f S32_LE -F 250

Hasilkan dan mainkan gelombang sinus 250 Hertz dengan 2 saluran dan format S32_LE, lalu tangkap dan analisis.

alsabat -P plughw:0,0 -C plughw:0,0 --file 500Hz.wav

Putar file WAV RIFF "500Hz.wav" yang berisi data LPCM bentuk gelombang 500 Hertz, lalu rekam dan analisis.

NILAI KEMBALI


Jika berhasil, kembalikan 0.
Jika tidak ada puncak yang terdeteksi, kembalikan -1001;
Jika hanya DC yang terdeteksi, kembalikan -1002;
Jika frekuensi puncak tidak cocok dengan frekuensi target, kembalikan -1003.

LIHAT JUGA

aplay(1)

BUG

Saat ini hanya mendukung format RIFF WAV dengan data PCM. Silakan laporkan bug apa pun ke milis alsa-devel.

PENGARANG

alsabat oleh Liam Girdwood , Bernard Gautier dan Han Lu . Dokumen ini dibuat oleh Liam Girdwood dan Han Lu .