From 8d73af8a2b3c890d6e946d1bd30e9eabb874dfef Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 19 Jan 2022 14:38:51 -0500 Subject: [PATCH] melbands weirdness sorted --- test/FluidWaveform raster scratch paper.scd | 57 +++++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/test/FluidWaveform raster scratch paper.scd b/test/FluidWaveform raster scratch paper.scd index 5c7cd30..5a99b2d 100644 --- a/test/FluidWaveform raster scratch paper.scd +++ b/test/FluidWaveform raster scratch paper.scd @@ -1,4 +1,31 @@ ( +~normalize = { + arg vals; + var min = vals.minItem; + var max = vals.maxItem; + var range = max - min; + + "min: %".format(min).postln; + "max: %".format(max).postln; + "range: %".format(range).postln; + + vals = (vals - min) / range; + vals = (vals * 255).asInteger; + vals; +}; + +~dbs_range = { + arg vals; + vals.postln; + vals = vals / vals.maxItem; + vals.postln; + vals = vals.ampdb; + vals.postln; + vals = vals.linlin(-120.0,0.0,0.0,255.0).asInteger; + vals.postln; + vals; +}; + ~raster = { arg rasterBuffer; var colors; @@ -13,16 +40,8 @@ "n vals in raster buffer: %".format(vals.size).postln; fork({ var img = Image(rasterBuffer.numFrames,rasterBuffer.numChannels); - var min = vals.minItem; - var max = vals.maxItem; - var range = max - min; - - "min: %".format(min).postln; - "max: %".format(max).postln; - "range: %".format(range).postln; - - vals = (vals - min) / range; - vals = (vals * 255).asInteger; + // vals = ~normalize.(vals); + vals = ~dbs_range.(vals); vals.do{ arg val, index; @@ -38,11 +57,17 @@ // show mels ~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~rasterBuffer = Buffer(s); +( +fork({ + Window.closeAll; + FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,windowSize:4096,hopSize:256,numBands:400,action:{"done".postln}); + // FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); + // FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln}); + // FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln}); -FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,numBands:512,windowSize:1024,action:{"done".postln}); -FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); -FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln}); -FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln}); -~rasterBuffer.postln; + s.sync; + ~rasterBuffer.postln; -~raster.(~rasterBuffer); \ No newline at end of file + ~raster.(~rasterBuffer); +},AppClock); +) \ No newline at end of file