annotate yeti/silvet.yeti @ 12:0f6db1895e1c

Prepare the ground for cqt and templates
author Chris Cannam
date Fri, 21 Mar 2014 17:14:44 +0000
parents
children e15bc63cb146
rev   line source
Chris@12 1
Chris@12 2 program silvet;
Chris@12 3
Chris@12 4 { prepareTimeFrequency } = load timefreq;
Chris@12 5 { loadTemplates } = load templates;
Chris@12 6
Chris@12 7 mat = load may.matrix;
Chris@12 8 vec = load may.vector;
Chris@12 9
Chris@12 10 templates = loadTemplates ();
Chris@12 11
Chris@12 12 eprintln "we have \(length (keys templates)) instruments:";
Chris@12 13 for (sort (keys templates)) eprintln;
Chris@12 14 eprintln "";
Chris@12 15
Chris@12 16 columns = prepareTimeFrequency "test.wav";
Chris@12 17
Chris@12 18 chunkSize = 100;
Chris@12 19 height = if empty? columns then 0 else vec.length (head columns) fi;
Chris@12 20
Chris@12 21 chunkify cols =
Chris@12 22 if empty? cols then []
Chris@12 23 else
Chris@12 24 (mat.resizedTo { rows = chunkSize, columns = height }
Chris@12 25 (mat.fromColumns (take chunkSize cols)))
Chris@12 26 :. \(chunkify (drop chunkSize cols));
Chris@12 27 fi;
Chris@12 28
Chris@12 29 chunks = chunkify columns;
Chris@12 30
Chris@12 31 eprintln "we have \(length chunks) chunks of size \(mat.size (head chunks))";
Chris@12 32