annotate multiple_f0_estimation/silvet/doFramewiseF0.sh @ 86:01f69f1d5d3c tip

Add further archive versions
author Chris Cannam
date Thu, 01 Aug 2019 17:54:05 +0100
parents ab0f26723416
children
rev   line source
Chris@62 1 #!/bin/sh
Chris@62 2
Chris@62 3 mydir=`dirname "$0"`
Chris@62 4 infile="$1"
Chris@62 5 outfile="$2"
Chris@62 6
Chris@62 7 if [ t"$infile" = "t" ] || [ t"$outfile" = "t" ]; then
Chris@62 8 echo "Usage: $0 infile.wav outfile.txt"
Chris@62 9 exit 2
Chris@62 10 fi
Chris@62 11
Chris@70 12 set -eu
Chris@70 13
Chris@62 14 mkdir -p "$mydir"/out || exit 1
Chris@62 15
Chris@62 16 inbase=`basename "$infile"`
Chris@62 17 inbase=${inbase%.*}
Chris@62 18
Chris@62 19 echo "Processing input WAV file $infile, writing results to $outfile..." 1>&2
Chris@62 20
Chris@62 21 # Run the Silvet plugin.
Chris@62 22 #
Chris@62 23 # 1. Run the plugin. This will produce an output file
Chris@62 24 # out/${inbase}.csv
Chris@62 25
Chris@62 26 VAMP_PATH="$mydir" sonic-annotator \
Chris@62 27 -t "$mydir"/silvet-for-framewise.ttl \
Chris@62 28 -w csv \
Chris@62 29 --csv-separator ' ' \
Chris@62 30 --csv-one-file "$mydir/out/$inbase.csv" \
Chris@62 31 --csv-omit-filename \
Chris@62 32 --csv-force \
Chris@62 33 "$infile" || exit 1
Chris@62 34
Chris@62 35 # 2. Check the output file exists
Chris@62 36
Chris@62 37 poutfile="$mydir/out/$inbase.csv"
Chris@62 38 if [ ! -f "$poutfile" ]; then
Chris@62 39 echo "output file $poutfile not found! bailing out"; exit 1
Chris@62 40 fi
Chris@62 41
Chris@62 42 # 3. Convert the format to framewise data
Chris@62 43
Chris@62 44 ppoutfile="$mydir/out/$inbase.csv.sorted"
Chris@62 45 cat "$poutfile" | sort -n > "$ppoutfile"
Chris@70 46 "$mydir"/frames.py "$ppoutfile" > "$outfile"
Chris@62 47
Chris@62 48 echo "Done, output is in $outfile"
Chris@70 49