alsabat - başvuru kılavuzu, seçenekler, komut örnekleri


İSİM

alsabat - ALSA ses kartı sürücüsü için komut satırı ses test cihazı

ÖZET

alsabat [flags]

TANIM

ALSABAT(ALSA Basic Audio Tester), çok az insan etkileşimi ile ses sürücüsü ve ses sunucusu testini otomatikleştirmeye yardımcı olmayı amaçlayan basit bir komut satırı yardımcı programıdır. ALSABAT, PM durum değişikliklerinden önce ve sonra ses kalitesini, stres testi özelliklerini test etmek ve sesi test etmek için kullanılabilir.

ALSABAT'ın tasarımı nispeten basittir. ALSABAT bir ses akışı oynatır ve aynı akışı dijital veya analog geri döngüde yakalar. Daha sonra, test senaryosunun geçip geçmediğini belirlemek için bir FFT kullanarak yakalanan akışı orijinalle karşılaştırır.

ALSABAT, tamamen test edilen hedef makinede çalışabilir (bağımsız mod) veya alsabat istemcisinin hedef üzerinde çalıştığı ve ayrı bir test makinesinde sunucu olarak çalıştığı bir istemci/sunucu modu olarak çalışabilir. İstemci/sunucu modu, senkronizasyon için hâlâ bir miktar manuel etkileşim gerektiriyor, ancak bu, gelecekteki sürümler için aktif olarak geliştiriliyor.

Donanım testi yapılandırması, test edilen ses donanımında geridöngü modu yoksa analog geridöngü oluşturmak için bir kablo veya test makinesine bağlayan bir analog kablo kullanımını gerektirebilir. Bir geri döngü oluşturmak için "hat girişi" ile "hat çıkışı" jaklarını bağlamak için bir analog geri döngü kablosu kullanılabilir. Yalnızca kulaklık ve mikrofon jakları (veya birleşik jak) varsa, bir analog geri döngü oluşturmak için aşağıdaki basit devre kullanılabilir: -

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

Tinyalsa sistemde yüklüyse, kullanıcı "--enable-alsabat-backend-tiny" yapılandırma seçeneğiyle, alsabat'ın arka uç lib'i olarak tinyalsa'yı seçebilir.

SEÇENEKLER

-h, --help

Yardım: sözdizimini göster.

-D

Ada göre test edilecek ses kartını seçin.

-P

Oynatma PCM cihazını seçin.

-C

Yakalama PCM cihazını seçin.

-f

Örnek biçim
Tanınan örnek formatlar şunlardır: U8 S16_LE S24_3LE S32_LE
Bunlardan bazıları seçilen donanımda bulunmayabilir
Kullanılabilir biçim kısayolları şunlardır:

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

Herhangi bir format verilmemişse S16_LE kullanılır.

-c

Kanal sayısı. Varsayılan tek kanaldır. Şu anda geçerli değerler 1 veya 2'dir.

-r

Hertz cinsinden örnekleme oranı. Varsayılan oran 44100 Hertz'dir. Geçerli değerler, donanım desteğine bağlıdır.

-n

Oluşturulan sinyalin süresi. Değer iki biçimden biri olabilir:
1. Ondalık tamsayı, çerçeve sayısı anlamına gelir;
2. 's' son ekli kayan nokta, saniye sayısı anlamına gelir.
Varsayılan 2 saniyedir.

-k

Analiz için Sigma k değeri.
Analiz işlevi, WAV dosyasındaki verileri okur, frekans vektörlerinin büyüklüğünü elde etmek için verilere karşı FFT'yi çalıştırır ve ardından frekans vektörlerinin ortalama değerini ve standart sapmasını hesaplar. Ardından bir eşik tanımlıyoruz:
eşik=k * standart_sapma + ortalama_değer
Eşik değerinden büyük genliğe sahip frekanslar tepe noktası olarak algılanacak ve en yüksek tepe değerine sahip frekans algılanan frekans olarak tanınacaktır.
ALSABAT daha sonra tespitin başarılı olup olmadığına karar vermek için tespit edilen frekansı hedef frekansla karşılaştırır.
Varsayılan değer 3.0'dır.

-F

Hertz cinsinden sinyal üretimi ve analizi için hedef frekans. Varsayılan 997.0 Hertz'dir. Geçerli aralık (DC_THRESHOLD, %40 * Örnekleme oranı).

-p

Oynanacak veya kaydedilecek toplam dönem sayısı.

--log=#

Bu günlük dosyasına stderr ve stdout çıktısını yazın.

--file=#

Oynatma için WAV dosyasını girin.

--saveplay=#

Yakalama testi içeriğini kaydetmek için WAV dosyasını hedefleyin.

--local

Dahili geri döngü modu. Yalnızca ALSABAT'ta dahili oynatma, yakalama ve analiz. Bu, ALSABAT'ın dışına ses yönlendirilmediğinden, geliştiricilerin yeni ALSABAT özelliklerini test etmesi için tasarlanmıştır.

--standalone

ALSABAT'ın test edilenden farklı bir makinede çalışacağı bağımsız mod desteği ekleyin. Bağımsız modda, ses verileri tıpkı normal modda olduğu gibi üretilebilir, çalınabilir ve yakalanabilir, ancak analiz edilmeyecektir. libfftw3 desteği olmadan inşa edilen ALSABAT her zaman bağımsız moddadır. Normal modda ALSABAT, "--bağımsız" seçeneğini kullanarak veri analizini de atlayabilir.

--roundtriplatency

Gidiş-dönüş gecikme testi. Ses gecikmesi, bir ses sinyali bir sistemden geçerken geçen zaman gecikmesidir. Birçok türde ses gecikmesi ölçümü vardır. Yararlı bir ölçüm, çıkış gecikmesi ile giriş gecikmesinin toplamı olan gidiş-dönüş gecikmesidir.

--snr-db=#

SNR'de (dB) gürültü algılama eşiği. 26dB, genlikte %5 gürültüyü belirtir. ALSABAT, SNR sinyali eşikten küçükse hata döndürür.

--snr-pc=#

Gürültü genliği yüzdesi (%) olarak gürültü algılama eşiği. ALSABAT, gürültü genliği eşikten büyükse hata döndürür.

ÖRNEKLER

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

2 kanal ve S32_LE formatında 250 Hertz'lik bir sinüs dalgası oluşturun ve oynatın, ardından yakalayın ve analiz edin.

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

500 Hertz dalga formu LPCM verilerini içeren "500Hz.wav" RIFF WAV dosyasını oynatın ve ardından yakalayın ve analiz edin.

GERİ DÖNÜŞ DEĞERİ


Başarılı olduğunda, 0 döndürür.
Pik algılanmazsa, -1001 döndürür;
Yalnızca DC algılanırsa, -1002 döndürür;
Tepe frekansı hedef frekansla eşleşmiyorsa, -1003 döndürür.

AYRICA BAKINIZ

aplay(1)

HATALAR

Şu anda yalnızca PCM verileriyle RIFF WAV formatını desteklemektedir. Lütfen herhangi bir hatayı alsa-devel posta listesine bildirin.

YAZAR

alsabat, Liam Girdwood , Bernard Gautier ve Han Lu tarafından yapılmıştır. Bu belge Liam Girdwood ve Han Lu tarafından hazırlanmıştır.