melbands weirdness sorted

nix
Ted Moore 4 years ago
parent 2d4c89ba77
commit 8d73af8a2b

@ -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 = { ~raster = {
arg rasterBuffer; arg rasterBuffer;
var colors; var colors;
@ -13,16 +40,8 @@
"n vals in raster buffer: %".format(vals.size).postln; "n vals in raster buffer: %".format(vals.size).postln;
fork({ fork({
var img = Image(rasterBuffer.numFrames,rasterBuffer.numChannels); var img = Image(rasterBuffer.numFrames,rasterBuffer.numChannels);
var min = vals.minItem; // vals = ~normalize.(vals);
var max = vals.maxItem; vals = ~dbs_range.(vals);
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.do{ vals.do{
arg val, index; arg val, index;
@ -38,11 +57,17 @@
// show mels // show mels
~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav"));
~rasterBuffer = Buffer(s); ~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}); s.sync;
FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); ~rasterBuffer.postln;
FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln});
FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln});
~rasterBuffer.postln;
~raster.(~rasterBuffer); ~raster.(~rasterBuffer);
},AppClock);
)
Loading…
Cancel
Save