sof/tools/test/audio
Fred Oh 51abaff072 Tools: Testbench: add suffix to keep all the logs
When series of tests are run, only last result with same component is
saved. Make unique output filename. For now adding bits per sample
at the end of file, all the logs can be saved.

Ideally datetime string would be good. I keep it as FIXME.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2022-09-07 22:09:33 +01:00
..
std_utils Tools: Test: Audio: Fix typos in tools/test/audio/* 2022-02-09 09:52:17 +00:00
test_utils Tools: Test: Fix mistake in script test_run.m 2022-03-09 15:44:06 +00:00
README Move SOFT into sub folder for SOF merge 2018-11-24 23:27:24 -08:00
asrc_run.sh Tools: Test: Audio: Add double quotes to shell scripts 2020-03-26 10:03:16 +00:00
comp_run.sh Tools: Test: Audio: Delete only regular files in test begin 2022-01-26 14:09:57 +00:00
dcblock_run.sh Tools: Test: Add objective quality tests for processing components 2020-04-16 11:48:22 +01:00
eqfir_run.sh Tools: Test: Audio: Add double quotes to shell scripts 2020-03-26 10:03:16 +00:00
eqiir_run.sh scripts/testbench: add set -e 2020-05-18 13:41:01 +01:00
process_test.m Tools: Testbench: add suffix to keep all the logs 2022-09-07 22:09:33 +01:00
sof-test-perf.sh Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
sof_test_perf.m Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
sof_test_perf_README.txt Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
sof_test_perf_config.m Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
sof_test_perf_top.m Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
src_run.sh scripts/testbench: add set -e 2020-05-18 13:41:01 +01:00
src_test.m Audio: SRC: Add IPC4 full conversions matrix to SRC comp and tools 2022-04-29 12:42:38 +01:00
src_test.sh Tools: Audio quality test for ssh accessible device 2019-09-17 15:40:29 +01:00
src_test_top.m Testbench: Add S16_LE format test for SRC 2019-01-09 16:30:58 +00:00
tdfb_direction_test.m Tools: Test: Audio: Add sound direction test for TDFB 2022-02-08 12:34:32 +00:00
tdfb_run.sh Tools: Test: Add TDFB tests scripts for testbench runs 2020-09-13 15:52:24 +01:00
tdfb_test.m Tools: Test: Audio: Add sound direction test for TDFB 2022-02-08 12:34:32 +00:00
volume_run.sh scripts/testbench: add set -e 2020-05-18 13:41:01 +01:00

README

SOF Audio Processing Components Tests
=====================================

This is a set of test scripts to test that performance requirements
are met. The tests are currently for measured audio objective quality
parameters. The used criteria for performance is only an initial
assumption and need to be adjusted for various applications needs.

The scripts support currently support the next list of objective
quality parameters. The test scripts need Matlab(R) [2] or GNU Octave
scientific programming language [3].

	- Gain
	- Frequency Response
	- THD+N vs. Frequency
	- Dynamic Range
	- Attenuation of Alias Products
	- Attenuation of Image Products

Note: The metric is an effort to follow AES17 [1] recommendation for
parameters and test procedures. This was created to help developers to
quickly check their work but has not been verified to be
compliant. Professional equipment and formal calibration process is
recommended for professional applications where both accurate absolute
and relative metric is needed.

Note: The test bench uses by default raw binary data files. It is
possible to convert with SoX (v14.4.1) [4] the raw data to e.g. wav
format for other audio tools and subjective listening.

$ sox -b 32 -c 2 -r 48000 -L -e signed-integer fr_test_out.raw fr_test_out.wav

For debugging purposes it is possible to switch from test scripts the
test vectors format to txt for easy manual data creation and
inspection.


Tests for component SRC
-----------------------

The top level shell script to launch tests is src_test.sh. See script
src_run.sh for assumed install location of SOF host test bench
executable and component libraries. Exit code 0 indicates success and
exit code 1 indicates failed test cases.

The default in/out rates matrix to test is defined in the beginning of
script src_test.m. The matrix can be also passed from calling function
src_test_top.m if need.

The key objective quality parameters requiremements are in the
beginning of script src_test.m as well under comment Generic test
pass/fail criteria.

Test run creates plots into directory "plots". Brief text format
reports are placed to directory "reports".


References
----------

[1]	AES17-1015 standard, http://www.aes.org/publications/standards/search.cfm?docID=21
[2]	Matlab(R), https://www.mathworks.com/products/matlab.html
[3]	GNU Octave, https://www.gnu.org/software/octave/
[4]	SoX - Sound eXchange, http://sox.sourceforge.net/