Chris@59: #!/bin/bash Chris@59: Chris@59: # Run this from the directory that contains it Chris@59: Chris@59: trios_path="/import/c4dm-datasets/TRIOS_dataset" Chris@59: Chris@59: if [ ! -d "$trios_path" ]; then Chris@59: echo "TRIOS dataset directory $trios_path not found, giving up" Chris@59: exit 1 Chris@59: fi Chris@59: Chris@59: matlab_path="../../mirex2012-matlab" Chris@59: Chris@59: if [ ! -d "$matlab_path" ] || [ ! -f "$matlab_path/doMultiF0.m" ]; then Chris@59: echo "Required MATLAB code not found in $matlab_path, giving up" Chris@59: exit 1 Chris@59: fi Chris@59: Chris@59: outbase="`pwd`" Chris@59: echo "Will read TRIOS files from $trios_path" Chris@59: echo "Will write output files below $outbase" Chris@59: echo "If either of these is incorrect, hit ctrl-C now!" Chris@59: sleep 8 Chris@59: Chris@59: if echo quit | matlab -nojvm ; then echo Chris@59: else Chris@59: echo "Failed to start MATLAB to check that it works, giving up" Chris@59: exit 1 Chris@59: fi Chris@59: Chris@59: for d in brahms lussier mozart schubert take_five; do Chris@59: dir="$trios_path/$d" Chris@59: outdir="$outbase/$d" Chris@59: if [ ! -d "$dir" ]; then Chris@59: echo "TRIOS subdir $dir not found, skipping it" Chris@59: else Chris@59: mkdir -p "$outdir" Chris@59: for w in "$dir"/*.wav; do Chris@59: wbase=`basename "$w" .wav` Chris@59: out="$outdir/$wbase.lab" Chris@67: if [ -f "$out" ]; then Chris@67: echo "Output file $out (for wav file $w) already exists, skipping" Chris@67: else Chris@67: echo "Processing wav file $w, writing to lab file $out" Chris@67: time ( cd "$matlab_path" ; echo "doMultiF0('$w','$out')" | matlab -nojvm ) Chris@67: echo "Done" Chris@67: fi Chris@59: done Chris@59: fi Chris@59: echo Chris@59: done Chris@59: Chris@59: