mirror of https://github.com/thesofproject/sof.git
2cc0d1f9c6
The audio tests signals contain a start and end marker to extract the test output to analyze from in-between the markers. This patch fixes a fail in SRC tests that was caused by incorrect synchronization to output data. The chirp upper frequency is limited to 0.99 x Nyquist frequency since the Nyquist frequency in the end aliased and caused a visible artefact to spectral plot and it triggered a resampler filter impulse response that had some correlation with start/end marker chirps. The cosine chirp initialization to start from 90 degrees (zero PCM code instead of max.) also cleaned the start impulse and improved the look of spectrogram plot. The syncronization was limited to seek from one measured channel only. The sync finder also didn't handle properly multi-channel input. The output file start marker scan length was reduced to be idle+marker length. And the scan time for end was reduced to be 2xidle+marker length Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com> |
||
---|---|---|
.. | ||
std_utils | ||
test_utils | ||
README | ||
src_run.sh | ||
src_test.m | ||
src_test.sh | ||
src_test_top.m |
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/