|-h, --help||Help: show syntax.|
|-D||Select sound card to be tested by name.|
|-P||Select the playback PCM device.|
|-C||Select the capture PCM device.|
Recognized sample formats are: U8 S16_LE S24_3LE S32_LE
Some of these may not be available on selected hardware
The available format shortcuts are:
-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]If no format is given S16_LE is used.
|-c||The number of channels. The default is one channel. Valid values at the moment are 1 or 2.|
|-r||Sampling rate in Hertz. The default rate is 44100 Hertz. Valid values depends on hardware support.|
Duration of generated signal.
The value could be either of the two forms:
1. Decimal integer, means number of frames;
2. Floating point with suffix s, means number of seconds.
The default is 2 seconds.
Sigma k value for analysis.
The analysis function reads data from WAV file, run FFT against the data to get magnitude of frequency vectors, and then calculates the average value and standard deviation of frequency vectors. After that, we define a threshold:
threshold = k * standard_deviation + mean_value
Frequencies with amplitude larger than threshold will be recognized as a peak, and the frequency with largest peak value will be recognized as a detected frequency.
ALSABAT then compares the detected frequency to target frequency, to decide if the detecting passes or fails.
The default value is 3.0.
|-F||Target frequency for signal generation and analysis, in Hertz. The default is 997.0 Hertz. Valid range is (DC_THRESHOLD, 40% * Sampling rate).|
|-p||Total number of periods to play or capture.|
|--log=#||Write stderr and stdout output to this log file.|
|Input WAV file for playback.|
|Target WAV file to save capture test content.|
|--local||Internal loopback mode. Playback, capture and analysis internal to ALSABAT only. This is intended for developers to test new ALSABAT features as no audio is routed outside of ALSABAT.|
Add support for standalone mode where ALSABAT will run on a different machine
to the one being tested.
In standalone mode, the sound data can be generated, playback and captured
just like in normal mode, but will not be analyzed.
The ALSABAT being built without libfftw3 support is always in standalone mode.
The ALSABAT in normal mode can also bypass data analysis using option
alsabat -P plughw:0,0 -C plughw:0,0 -c 2 -f S32_LE -F 250 Generate and play a sine wave of 250 Hertz with 2 channel and S32_LE format, and then capture and analyze.
alsabat -P plughw:0,0 -C plughw:0,0 --file 500Hz.wav Play the RIFF WAV file "500Hz.wav" which contains 500 Hertz waveform LPCM data, and then capture and analyze.
On success, returns 0.
If no peak be detected, returns -1001;
If only DC be detected, returns -1002;
If peak frequency does not match with the target frequency, returns -1003.
Currently only support RIFF WAV format with PCM data. Please report any bugs to the alsa-devel mailing list.
alsabat is by Liam Girdwood <firstname.lastname@example.org>, Bernard Gautier <email@example.com> and Han Lu <firstname.lastname@example.org>. This document is by Liam Girdwood <email@example.com> and Han Lu <firstname.lastname@example.org>.
|-->||ALSABAT (1)||20th October 2015|