Mercurial > hg > silvet
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 |