Chris@366: Chris@366: program experiment; Chris@366: Chris@366: af = load may.stream.audiofile; Chris@366: plot = load may.plot; Chris@366: cm = load may.matrix.complex; Chris@366: mat = load may.matrix; Chris@366: vec = load may.vector; Chris@366: manipulate = load may.stream.manipulate; Chris@366: syn = load may.stream.syntheticstream; Chris@366: Chris@366: { cqt } = load cqt; Chris@366: { icqt } = load icqt; Chris@366: Chris@366: //testStream = manipulate.withDuration 96000 (syn.sinusoid 48000 500); Chris@366: //testStream = manipulate.withDuration 96000 (syn.pulseTrain 48000 4); Chris@366: testStream = af.open "sweep-48000.wav"; Chris@366: //testStream = af.open "sweep.wav"; Chris@366: Chris@366: eprintln "have test stream"; Chris@366: Chris@366: cq = cqt { maxFreq = testStream.sampleRate/2, minFreq = 50, binsPerOctave = 24 } testStream; Chris@366: Chris@366: eprintln "bin frequencies: \(cq.kernel.binFrequencies)"; Chris@366: Chris@366: icq = icqt cq; Chris@366: Chris@366: eprintln "calculated icq..."; Chris@366: Chris@366: outfile = "test-output.wav"; Chris@366: written = af.write icq outfile; Chris@366: Chris@366: eprintln "wrote \(written) to \(outfile)"; Chris@366: Chris@366: //for cq.cqSpectrogram do mm: Chris@366: // for (mat.asColumns mm) (println . strJoin "," . vec.list); Chris@366: //done; Chris@366: Chris@366: /* Chris@366: bigM = mat.concatHorizontal (map cm.magnitudes cq.output); Chris@366: Chris@366: eprintln "overall output size = \(mat.size bigM)"; Chris@366: Chris@366: mat.print bigM; Chris@366: */ Chris@366: //\() (plot.plot [Contour bigM]); Chris@366: //\() (plot.plot [Grid bigM]); Chris@366: Chris@366: () Chris@366: