Mercurial > hg > sonic-annotator
annotate tests/test-audioformat.sh @ 77:adce5f7e2917 qt5
Don't need to check for Dataquay, and in fact we can pick up the wrong version if we do. Just assume it is available (building in e.g. sv subdir configuration)
author | Chris Cannam |
---|---|
date | Tue, 07 May 2013 15:58:20 +0100 |
parents | 94d988cef54e |
children | 0fe5abb56a6e |
rev | line source |
---|---|
Chris@0 | 1 #!/bin/bash |
Chris@0 | 2 |
Chris@0 | 3 mypath=`dirname $0` |
Chris@42 | 4 r=$mypath/../sonic-annotator |
Chris@0 | 5 |
Chris@0 | 6 inbase=$mypath/audio/3clicks |
Chris@0 | 7 testplug=vamp:vamp-example-plugins:percussiononsets |
Chris@0 | 8 tmpfile1=$mypath/tmp_1_$$ |
Chris@0 | 9 tmpfile2=$mypath/tmp_2_$$ |
Chris@0 | 10 |
Chris@0 | 11 trap "rm -f $tmpfile1 $tmpfile2" 0 |
Chris@0 | 12 |
Chris@28 | 13 . test-include.sh |
Chris@0 | 14 |
Chris@0 | 15 for extension in wav ogg mp3 ; do |
Chris@0 | 16 |
Chris@0 | 17 transform=$mypath/transforms/transforms-audioformat-percussiononsets.n3 |
Chris@0 | 18 expected=$mypath/expected/transforms-audioformat-percussiononsets-$extension.csv |
Chris@0 | 19 |
Chris@0 | 20 test -f $transform || \ |
Chris@0 | 21 fail "Internal error: no transforms file for suffix $suffix" |
Chris@0 | 22 |
Chris@0 | 23 test -f $expected || \ |
Chris@0 | 24 fail "Internal error: no expected output file for suffix $suffix" |
Chris@0 | 25 |
Chris@0 | 26 infile=$inbase.$extension |
Chris@0 | 27 if [ "$extension" = "wav" ]; then infile=${inbase}8.$extension; fi |
Chris@0 | 28 |
Chris@0 | 29 test -f $infile || \ |
Chris@0 | 30 fail "Internal error: no input audio file for extension $extension" |
Chris@0 | 31 |
Chris@0 | 32 $r -t $transform -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \ |
Chris@0 | 33 fail "Fails to run transform $transform against audio file $infile" |
Chris@0 | 34 |
Chris@0 | 35 if [ "$extension" = "wav" ]; then |
Chris@28 | 36 csvcompare $tmpfile2 $expected || \ |
Chris@0 | 37 fail "Output mismatch for transform $transform with audio file $infile" |
Chris@0 | 38 else |
Chris@28 | 39 csvcompare $tmpfile2 $expected || \ |
Chris@0 | 40 ( echo "NOTE: Output mismatch for transform $transform with audio file $infile" ; \ |
Chris@0 | 41 echo "This may be the result of differences in the audio file decoder, so I am not" ; \ |
Chris@0 | 42 echo "failing the test, but I recommend that you check the results." ) |
Chris@0 | 43 fi |
Chris@0 | 44 done |
Chris@0 | 45 |
Chris@0 | 46 exit 0 |