Mercurial > hg > tuning-difference
annotate test/regression.sh @ 69:c0b78dcc08e6 feature-alternatives tip
Some experimental feature adjustments - try using diffs between chroma cells (no better at first glance)
author | Chris Cannam |
---|---|
date | Fri, 16 Aug 2019 12:28:58 +0100 |
parents | 69ab9a6e7aee |
children |
rev | line source |
---|---|
Chris@45 | 1 #!/bin/bash |
Chris@45 | 2 |
Chris@45 | 3 set -eu |
Chris@45 | 4 |
Chris@45 | 5 mydir=$(dirname "$0") |
Chris@45 | 6 |
Chris@45 | 7 source_url=https://code.soundsoftware.ac.uk/attachments/download/1698/Zweieck-Duell.ogg |
Chris@45 | 8 |
Chris@45 | 9 testfile="$mydir/input.ogg" |
Chris@45 | 10 |
Chris@45 | 11 if sonic-annotator -v >/dev/null ; then |
Chris@45 | 12 : |
Chris@45 | 13 else |
Chris@45 | 14 echo "Failed to find required binary sonic-annotator" |
Chris@45 | 15 exit 1 |
Chris@45 | 16 fi |
Chris@45 | 17 |
Chris@45 | 18 if oggdec -h >/dev/null ; then |
Chris@45 | 19 : |
Chris@45 | 20 else |
Chris@45 | 21 echo "Failed to find required binary oggdec" |
Chris@45 | 22 exit 1 |
Chris@45 | 23 fi |
Chris@45 | 24 |
Chris@45 | 25 if rubberband -h 2>&1 | grep Particular >/dev/null ; then |
Chris@45 | 26 : |
Chris@45 | 27 else |
Chris@45 | 28 echo "Failed to find required binary rubberband" |
Chris@45 | 29 exit 1 |
Chris@45 | 30 fi |
Chris@45 | 31 |
Chris@45 | 32 if wget --version >/dev/null ; then |
Chris@45 | 33 wget -O "$testfile" "$source_url" |
Chris@45 | 34 else |
Chris@45 | 35 curl -o "$testfile" "$source_url" |
Chris@45 | 36 fi |
Chris@45 | 37 |
Chris@45 | 38 wavfile=${testfile%%.ogg}.wav |
Chris@45 | 39 lowfile=${testfile%%.ogg}-low.wav |
Chris@45 | 40 |
Chris@45 | 41 oggdec -o "$wavfile" "$testfile" |
Chris@45 | 42 |
Chris@45 | 43 rubberband -p -2.34 "$wavfile" "$lowfile" |
Chris@45 | 44 |
Chris@50 | 45 mkdir -p "$mydir/output" |
Chris@50 | 46 |
Chris@45 | 47 VAMP_PATH="$mydir/.." \ |
Chris@46 | 48 time \ |
Chris@45 | 49 sonic-annotator \ |
Chris@48 | 50 -t "$mydir/tests.ttl" \ |
Chris@45 | 51 -w csv \ |
Chris@46 | 52 --csv-basedir "$mydir/output" \ |
Chris@45 | 53 --csv-force \ |
Chris@48 | 54 --csv-omit-filename \ |
Chris@45 | 55 --multiplex \ |
Chris@45 | 56 "$testfile" \ |
Chris@45 | 57 "$lowfile" |
Chris@45 | 58 |
Chris@46 | 59 failed="" |
Chris@46 | 60 |
Chris@46 | 61 for expected in "$mydir"/expected/*.csv ; do |
Chris@46 | 62 outfile="$mydir"/output/$(basename $expected) |
Chris@46 | 63 if cmp "$outfile" "$expected" ; then |
Chris@46 | 64 echo "PASS: $outfile" |
Chris@46 | 65 else |
Chris@46 | 66 echo |
Chris@46 | 67 echo "*** FAIL: Result does not match expected output. Diff follows:" |
Chris@46 | 68 echo |
Chris@46 | 69 sdiff -w 60 "$outfile" "$expected" |
Chris@46 | 70 echo |
Chris@46 | 71 failed="$failed $outfile" |
Chris@46 | 72 fi |
Chris@46 | 73 done |
Chris@46 | 74 |
Chris@46 | 75 if [ -n "$failed" ]; then |
Chris@46 | 76 echo "Some tests failed: $failed" |
Chris@46 | 77 exit 1 |
Chris@46 | 78 else |
Chris@46 | 79 echo "All tests passed" |
Chris@45 | 80 exit 0 |
Chris@45 | 81 fi |
Chris@45 | 82 |
Chris@45 | 83 |