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@41
|
19 //testStream = manipulate.withDuration 64 (syn.sinusoid 8 2);
|
c@41
|
20 // So the stream is [ 0, 1, 0, -1, 0, 1, 0, -1, ... ]
|
c@38
|
21
|
c@41
|
22 testStream = manipulate.withDuration 32 (syn.pulseTrain 8 0.001);
|
c@37
|
23
|
c@37
|
24 eprintln "have test stream";
|
c@37
|
25
|
c@38
|
26 cq = cqt { maxFreq = testStream.sampleRate/2, minFreq = 1, binsPerOctave = 4 } testStream;
|
c@37
|
27
|
c@40
|
28 eprintln "bin frequencies: \(cq.kernel.binFrequencies)";
|
c@40
|
29
|
c@41
|
30 /*
|
c@40
|
31 for cq.output do c:
|
c@37
|
32 mm = cm.magnitudes c;
|
c@37
|
33 for (mat.asColumns mm) (println . strJoin "," . vec.list);
|
c@37
|
34 done;
|
c@41
|
35 */
|
c@37
|
36
|
c@40
|
37 bigM = mat.concatHorizontal (map cm.magnitudes cq.output);
|
c@37
|
38
|
c@38
|
39 eprintln "overall output size = \(mat.size bigM)";
|
c@38
|
40
|
c@39
|
41 mat.print bigM;
|
c@38
|
42
|
c@38
|
43 //\() (plot.plot [Contour bigM]);
|
c@38
|
44 //\() (plot.plot [Grid bigM]);
|
c@37
|
45
|
c@37
|
46 ()
|
c@37
|
47
|