Mercurial > hg > constant-q-cpp
view yeti/experiment.yeti @ 112:a45b51ea00a2
Smaller range, faster chromagram
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Wed, 14 May 2014 14:59:45 +0100 |
parents | 5d1f276f82e5 |
children |
line wrap: on
line source
program experiment; af = load may.stream.audiofile; plot = load may.plot; cm = load may.matrix.complex; mat = load may.matrix; vec = load may.vector; manipulate = load may.stream.manipulate; syn = load may.stream.syntheticstream; { cqt } = load cqt; { icqt } = load icqt; //testStream = manipulate.withDuration 96000 (syn.sinusoid 48000 500); //testStream = manipulate.withDuration 96000 (syn.pulseTrain 48000 4); testStream = af.open "sweep-48000.wav"; //testStream = af.open "sweep.wav"; eprintln "have test stream"; cq = cqt { maxFreq = testStream.sampleRate/2, minFreq = 50, binsPerOctave = 24 } testStream; eprintln "bin frequencies: \(cq.kernel.binFrequencies)"; icq = icqt cq; eprintln "calculated icq..."; outfile = "test-output.wav"; written = af.write icq outfile; eprintln "wrote \(written) to \(outfile)"; //for cq.cqSpectrogram do mm: // for (mat.asColumns mm) (println . strJoin "," . vec.list); //done; /* bigM = mat.concatHorizontal (map cm.magnitudes cq.output); eprintln "overall output size = \(mat.size bigM)"; mat.print bigM; */ //\() (plot.plot [Contour bigM]); //\() (plot.plot [Grid bigM]); ()