# HG changeset patch # User Chris Cannam # Date 1382719168 -3600 # Node ID d7af615c2cc12896b562d74fc2c9c38e65392857 # Parent 3dd3008f3b196ee79a20a17391ef67138917fb73 Comments diff -r 3dd3008f3b19 -r d7af615c2cc1 yeti/cqt.yeti --- a/yeti/cqt.yeti Fri Oct 25 16:57:04 2013 +0100 +++ b/yeti/cqt.yeti Fri Oct 25 17:39:28 2013 +0100 @@ -32,6 +32,8 @@ kdata = cqtkernel.makeKernel { sampleRate, maxFreq, binsPerOctave }; + println "atomsPerFrame = \(kdata.atomsPerFrame)"; + streams = manipulate.duplicated octaves str; //!!! can't be right! @@ -52,6 +54,14 @@ done frames; done [0..octaves-1]; + // cqblocks is now a list>. Each top-level list + // corresponds to an octave, from highest to lowest, each having + // twice as many elements in its list as the next octave. The + // sub-lists are sampled in time with an effective spacing of + // fftSize * 2^(octave-1) audio frames, and the matrices are row + // vectors with atomsPerFrame * binsPerOctave complex elements. + + //!!! The comment below isn't true -- this is based on traditional // cqt -- the atom hop structure for this version is different // though so review later on @@ -72,7 +82,6 @@ // For each frame in the lowest octave println "prepared block list"; - cqblocks; );