annotate testdata/scripts/convert_svout.yeti @ 372:af71cbdab621 tip

Update bqvec code
author Chris Cannam
date Tue, 19 Nov 2019 10:13:32 +0000
parents 51c18a17404a
children
rev   line source
Chris@137 1
Chris@137 2 // Convert CSV file exported by Sonic Visualiser:
Chris@137 3 //
Chris@137 4 // onset,midinote,duration,level,label
Chris@137 5 //
Chris@137 6 // into lab file like those output from the test scripts:
Chris@137 7 //
Chris@137 8 // onset offset frequency
Chris@137 9
Chris@193 10 program convert_svout;
Chris@137 11
Chris@137 12 usage () =
Chris@193 13 eprintln "\nUsage: convert_svout file.csv\n";
Chris@137 14
Chris@137 15 toFrequency m =
Chris@137 16 440 * Math#pow(2.0, (m - 69) / 12.0);
Chris@137 17
Chris@137 18 convert f =
Chris@137 19 (str = openInFile f "UTF-8";
Chris@137 20 for (str.lines ()) do line:
Chris@137 21 case list (strSplit "," line) of
Chris@137 22 onset::midinote::duration::_:
Chris@137 23 println "\(onset)\t\((number onset) + (number duration))\t\(toFrequency (number midinote))";
Chris@137 24 _:
Chris@137 25 failWith "badly formed line: \(line)";
Chris@137 26 esac;
Chris@137 27 done;
Chris@137 28 str.close ());
Chris@137 29
Chris@137 30 case (list _argv) of
Chris@137 31 file::[]: convert file;
Chris@137 32 _: usage ();
Chris@137 33 esac;
Chris@137 34