Chris@72: #!/bin/sh Chris@72: Chris@72: trios_path="/home/cannam/Music/TRIOS_dataset" Chris@139: yc="/home/cannam/code/may/bin/yc" Chris@72: Chris@72: if [ ! -d "$trios_path" ]; then Chris@72: echo "TRIOS dataset directory $trios_path not found, giving up" Chris@72: exit 1 Chris@72: fi Chris@72: Chris@139: if ! "$yc" -v ; then Chris@139: echo "Failed to run Yeti compiler yc at $yc_path, giving up"; Chris@139: fi Chris@139: Chris@72: if ! sonic-annotator -v ; then Chris@72: echo "Failed to run sonic-annotator (not in PATH?), giving up" Chris@72: exit 1 Chris@72: fi Chris@72: Chris@72: VAMP_PATH=../.. Chris@72: export VAMP_PATH Chris@72: Chris@317: tfile=transform.ttl Chris@317: Chris@139: outfile="/tmp/$$" Chris@139: Chris@149: tmpwav="/tmp/$$norm.wav" Chris@149: Chris@149: trap 'rm -f "$outfile" "$tmpwav" "$outfile.lab"' 0 Chris@149: Chris@149: sox "$trios_path/take_five/mix.wav" "$tmpwav" gain -n -6.020599913279624 Chris@142: Chris@72: time sonic-annotator \ Chris@72: --writer csv \ Chris@139: --csv-one-file "$outfile" \ Chris@72: --csv-force \ Chris@317: --transform "$tfile" \ Chris@149: "$tmpwav" Chris@72: Chris@139: cat "$outfile" | \ Chris@139: sed 's/^[^,]*,//' | \ Chris@139: while IFS=, read start duration frequency level label; do Chris@139: end=`echo "$start $duration + p" | dc` Chris@139: echo -e "$start\t$end\t$frequency" Chris@139: done > "$outfile.lab" Chris@139: Chris@139: for ms in 50 100 150; do Chris@139: echo Chris@139: echo "Validating against ground truth at $ms ms:" Chris@264: "$yc" ../scripts/evaluate_lab.yeti "$ms" "../TRIOS-groundtruth/take_five/mix.lab" "$outfile.lab" Chris@139: echo Chris@139: echo "Validating against MIREX submission at $ms ms:" Chris@264: "$yc" ../scripts/evaluate_lab.yeti "$ms" "../TRIOS-mirex2012-matlab/take_five/mix.lab" "$outfile.lab" Chris@141: echo Chris@141: echo "Validating MIREX against ground truth at $ms ms": Chris@264: "$yc" ../scripts/evaluate_lab.yeti "$ms" "../TRIOS-groundtruth/take_five/mix.lab" "../TRIOS-mirex2012-matlab/take_five/mix.lab" Chris@139: done; Chris@139: Chris@140: echo Chris@140: