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@139: outfile="/tmp/$$" Chris@139: Chris@142: trap 'rm -f "$outfile" "$outfile.lab"' 0 Chris@142: Chris@72: time sonic-annotator \ Chris@72: --writer csv \ Chris@139: --csv-one-file "$outfile" \ Chris@72: --csv-force \ Chris@72: --default vamp:silvet:silvet:notes \ Chris@72: "$trios_path/take_five/mix.wav" 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@139: "$yc" ../evaluation/evaluate_lab.yeti "$ms" "../TRIOS-groundtruth/take_five.lab" "$outfile.lab" Chris@139: echo Chris@139: echo "Validating against MIREX submission at $ms ms:" Chris@139: "$yc" ../evaluation/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@141: "$yc" ../evaluation/evaluate_lab.yeti "$ms" "../TRIOS-groundtruth/take_five.lab" "../TRIOS-mirex2012-matlab/take_five/mix.lab" Chris@139: done; Chris@139: Chris@140: echo Chris@140: