README
1SOF Audio Processing Components Tests
2=====================================
3
4This is a set of test scripts to test that performance requirements
5are met. The tests are currently for measured audio objective quality
6parameters. The used criteria for performance is only an initial
7assumption and need to be adjusted for various applications needs.
8
9The scripts support currently support the next list of objective
10quality parameters. The test scripts need Matlab(R) [2] or GNU Octave
11scientific programming language [3].
12
13 - Gain
14 - Frequency Response
15 - THD+N vs. Frequency
16 - Dynamic Range
17 - Attenuation of Alias Products
18 - Attenuation of Image Products
19
20Note: The metric is an effort to follow AES17 [1] recommendation for
21parameters and test procedures. This was created to help developers to
22quickly check their work but has not been verified to be
23compliant. Professional equipment and formal calibration process is
24recommended for professional applications where both accurate absolute
25and relative metric is needed.
26
27Note: The test bench uses by default raw binary data files. It is
28possible to convert with SoX (v14.4.1) [4] the raw data to e.g. wav
29format for other audio tools and subjective listening.
30
31$ sox -b 32 -c 2 -r 48000 -L -e signed-integer fr_test_out.raw fr_test_out.wav
32
33For debugging purposes it is possible to switch from test scripts the
34test vectors format to txt for easy manual data creation and
35inspection.
36
37
38Tests for component SRC
39-----------------------
40
41The top level shell script to launch tests is src_test.sh. See script
42src_run.sh for assumed install location of SOF host test bench
43executable and component libraries. Exit code 0 indicates success and
44exit code 1 indicates failed test cases.
45
46The default in/out rates matrix to test is defined in the beginning of
47script src_test.m. The matrix can be also passed from calling function
48src_test_top.m if need.
49
50The key objective quality parameters requiremements are in the
51beginning of script src_test.m as well under comment Generic test
52pass/fail criteria.
53
54Test run creates plots into directory "plots". Brief text format
55reports are placed to directory "reports".
56
57
58References
59----------
60
61[1] AES17-1015 standard, http://www.aes.org/publications/standards/search.cfm?docID=21
62[2] Matlab(R), https://www.mathworks.com/products/matlab.html
63[3] GNU Octave, https://www.gnu.org/software/octave/
64[4] SoX - Sound eXchange, http://sox.sourceforge.net/
65