Chris@45: #!/bin/bash Chris@45: Chris@45: set -eu Chris@45: Chris@45: mydir=$(dirname "$0") Chris@45: Chris@45: source_url=https://code.soundsoftware.ac.uk/attachments/download/1698/Zweieck-Duell.ogg Chris@45: Chris@45: testfile="$mydir/input.ogg" Chris@45: outfile="$mydir/output.csv" Chris@45: expfile="$mydir/expected.csv" Chris@45: Chris@45: if sonic-annotator -v >/dev/null ; then Chris@45: : Chris@45: else Chris@45: echo "Failed to find required binary sonic-annotator" Chris@45: exit 1 Chris@45: fi Chris@45: Chris@45: if oggdec -h >/dev/null ; then Chris@45: : Chris@45: else Chris@45: echo "Failed to find required binary oggdec" Chris@45: exit 1 Chris@45: fi Chris@45: Chris@45: if rubberband -h 2>&1 | grep Particular >/dev/null ; then Chris@45: : Chris@45: else Chris@45: echo "Failed to find required binary rubberband" Chris@45: exit 1 Chris@45: fi Chris@45: Chris@45: if wget --version >/dev/null ; then Chris@45: wget -O "$testfile" "$source_url" Chris@45: else Chris@45: curl -o "$testfile" "$source_url" Chris@45: fi Chris@45: Chris@45: wavfile=${testfile%%.ogg}.wav Chris@45: lowfile=${testfile%%.ogg}-low.wav Chris@45: Chris@45: oggdec -o "$wavfile" "$testfile" Chris@45: Chris@45: rubberband -p -2.34 "$wavfile" "$lowfile" Chris@45: Chris@45: VAMP_PATH="$mydir/.." \ Chris@45: sonic-annotator \ Chris@45: -d vamp:tuning-difference:tuning-difference \ Chris@45: -w csv \ Chris@45: --csv-omit-filename \ Chris@45: --csv-one-file "$outfile" \ Chris@45: --csv-force \ Chris@45: --multiplex \ Chris@45: "$testfile" \ Chris@45: "$lowfile" Chris@45: Chris@45: if cmp "$outfile" "$expfile" ; then Chris@45: echo Chris@45: echo PASS Chris@45: exit 0 Chris@45: else Chris@45: echo Chris@45: echo "*** FAIL: Result does not match expected output. Diff follows:" Chris@45: echo Chris@45: sdiff -w 60 "$outfile" "$expfile" Chris@45: exit 1 Chris@45: fi Chris@45: Chris@45: