Chris@56: #!/bin/sh Chris@56: Chris@56: mydir=`dirname "$0"` Chris@56: infile="$1" Chris@56: outfile="$2" Chris@56: Chris@56: if [ t"$infile" = "t" ] || [ t"$outfile" = "t" ]; then Chris@56: echo "Usage: $0 infile.wav outfile.txt" Chris@56: exit 2 Chris@56: fi Chris@56: Chris@56: mkdir -p "$mydir"/out || exit 1 Chris@56: Chris@56: inbase=`basename "$infile"` Chris@56: inbase=${inbase%.*} Chris@56: Chris@56: echo "Processing input WAV file $infile, writing results to $outfile..." 1>&2 Chris@56: Chris@56: # Run the Silvet plugin. Chris@56: # Chris@56: # 1. Run the plugin. This will produce an output file Chris@56: # out/${inbase}.csv Chris@56: Chris@56: VAMP_PATH="$mydir" sonic-annotator \ Chris@56: -t "$mydir"/silvet.ttl \ Chris@56: -w csv \ Chris@56: --csv-separator ' ' \ Chris@56: --csv-one-file "$mydir/out/$inbase.csv" \ Chris@62: --csv-omit-filename \ Chris@56: --csv-force \ Chris@56: "$infile" || exit 1 Chris@56: Chris@56: # 2. Check the output file exists Chris@56: Chris@59: poutfile="$mydir/out/$inbase.csv" Chris@56: if [ ! -f "$poutfile" ]; then Chris@56: echo "output file $poutfile not found! bailing out"; exit 1 Chris@56: fi Chris@56: Chris@56: # 3. Convert the format. Sonic Annotator produced Chris@56: # Chris@56: # starttime duration freq note label Chris@56: # Chris@56: # while we want Chris@56: # Chris@56: # starttime endtime freq Chris@56: Chris@56: cat "$poutfile" | awk '{ print $1, $1+$2, $3 }' > "$outfile" Chris@56: Chris@56: echo "Done, output is in $outfile"