mirror of https://github.com/thesofproject/sof.git
65 lines
2.4 KiB
Plaintext
65 lines
2.4 KiB
Plaintext
|
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/
|