annotate yeti/test.yeti @ 40:031386846e3c
Return bin frequencies, for reference; some padding
author |
Chris Cannam <c.cannam@qmul.ac.uk> |
date |
Tue, 19 Nov 2013 14:37:23 +0000 |
parents |
c0514dd5be60 |
children |
ae7d2e558ed1 |
rev |
line source |
c@37
|
1
|
c@37
|
2 program test;
|
c@37
|
3
|
c@37
|
4 af = load may.stream.audiofile;
|
c@37
|
5 plot = load may.plot;
|
c@37
|
6 cm = load may.matrix.complex;
|
c@37
|
7 mat = load may.matrix;
|
c@37
|
8 vec = load may.vector;
|
c@37
|
9 manipulate = load may.stream.manipulate;
|
c@37
|
10 syn = load may.stream.syntheticstream;
|
c@37
|
11
|
c@37
|
12 { cqt } = load cqt;
|
c@37
|
13
|
c@37
|
14 //testStream = manipulate.withDuration 96000 (syn.sinusoid 48000 500);
|
c@37
|
15 //testStream = manipulate.withDuration 96000 (syn.pulseTrain 48000 4);
|
c@37
|
16 //testStream = af.open "sweep-48000.wav";
|
c@37
|
17 //testStream = af.open "sweep.wav";
|
c@37
|
18
|
c@38
|
19 testStream = manipulate.withDuration 64 (syn.sinusoid 8 2);
|
c@38
|
20
|
c@38
|
21 // So the stream is [ 0, 1, 0, -1, 0, 1, 0, -1, ... ]
|
c@37
|
22
|
c@37
|
23 eprintln "have test stream";
|
c@37
|
24
|
c@38
|
25 cq = cqt { maxFreq = testStream.sampleRate/2, minFreq = 1, binsPerOctave = 4 } testStream;
|
c@37
|
26
|
c@40
|
27 eprintln "bin frequencies: \(cq.kernel.binFrequencies)";
|
c@40
|
28
|
c@40
|
29 for cq.output do c:
|
c@37
|
30 mm = cm.magnitudes c;
|
c@37
|
31 for (mat.asColumns mm) (println . strJoin "," . vec.list);
|
c@37
|
32 done;
|
c@37
|
33
|
c@40
|
34 bigM = mat.concatHorizontal (map cm.magnitudes cq.output);
|
c@37
|
35
|
c@38
|
36 eprintln "overall output size = \(mat.size bigM)";
|
c@38
|
37
|
c@39
|
38 mat.print bigM;
|
c@38
|
39
|
c@38
|
40 //\() (plot.plot [Contour bigM]);
|
c@38
|
41 //\() (plot.plot [Grid bigM]);
|
c@37
|
42
|
c@37
|
43 ()
|
c@37
|
44
|