diff --git a/.gitignore b/.gitignore index 2a4f4d36..51b15c56 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ interfaces/flucoma-obj-qlookup.json release-packaging/** winbuild/* .DS_Store +.vscode/* diff --git a/README.md b/README.md index 7efb2aff..abf04d71 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Minimal build steps below. For detailed guidance see https://github.com/flucoma/ ## Prerequisites -* C++14 compliant compiler (clang, GCC or MSVC) +* C++17 compliant compiler (clang, GCC or MSVC) * cmake * make (or Ninja or XCode or VisualStudio) * git diff --git a/examples/bufcompose-example.maxpat b/examples/bufcompose-example.maxpat index d60f044a..d9c641ce 100644 --- a/examples/bufcompose-example.maxpat +++ b/examples/bufcompose-example.maxpat @@ -4,7 +4,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -456,7 +456,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -502,7 +502,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -544,7 +544,7 @@ "numoutlets" : 1, "outlettype" : [ "bang" ], "parameter_enable" : 0, - "patching_rect" : [ 79.0, 347.0, 24.0, 24.0 ] + "patching_rect" : [ 79.0, 341.0, 24.0, 24.0 ] } } @@ -1143,7 +1143,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1178,6 +1178,18 @@ "subpatcher_template" : "", "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "id" : "obj-9", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 142.0, 325.0, 24.0, 24.0 ] + } + + } +, { "box" : { "id" : "obj-5", "maxclass" : "newobj", @@ -1364,7 +1376,7 @@ "numinlets" : 2, "numoutlets" : 2, "outlettype" : [ "bang", "" ], - "patching_rect" : [ 142.0, 377.0, 29.5, 22.0 ], + "patching_rect" : [ 142.0, 387.0, 29.5, 22.0 ], "text" : "sel" } @@ -1376,7 +1388,7 @@ "numinlets" : 5, "numoutlets" : 4, "outlettype" : [ "int", "", "", "int" ], - "patching_rect" : [ 142.0, 337.0, 61.0, 22.0 ], + "patching_rect" : [ 142.0, 351.0, 61.0, 22.0 ], "text" : "counter" } @@ -1493,7 +1505,7 @@ , { "patchline" : { "destination" : [ "obj-25", 1 ], - "midpoints" : [ 99.0, 367.0, 162.0, 367.0 ], + "midpoints" : [ 99.0, 377.0, 162.0, 377.0 ], "source" : [ "obj-23", 0 ] } @@ -1514,7 +1526,7 @@ } , { "patchline" : { - "destination" : [ "obj-24", 0 ], + "destination" : [ "obj-9", 0 ], "source" : [ "obj-26", 0 ] } @@ -1582,6 +1594,13 @@ "source" : [ "obj-5", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "source" : [ "obj-9", 0 ] + } + } ], "styles" : [ { @@ -1659,7 +1678,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1694,6 +1713,18 @@ "subpatcher_template" : "", "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 142.0, 320.0, 22.0, 22.0 ], + "text" : "t b" + } + + } +, { "box" : { "id" : "obj-9", "maxclass" : "newobj", @@ -1924,7 +1955,7 @@ "numinlets" : 1, "numoutlets" : 2, "outlettype" : [ "", "" ], - "patching_rect" : [ 142.0, 301.0, 108.0, 22.0 ], + "patching_rect" : [ 142.0, 295.0, 108.0, 22.0 ], "text" : "fluid.bufcompose~" } @@ -1936,7 +1967,7 @@ "numinlets" : 2, "numoutlets" : 2, "outlettype" : [ "bang", "" ], - "patching_rect" : [ 142.0, 377.0, 29.5, 22.0 ], + "patching_rect" : [ 142.0, 385.0, 29.5, 22.0 ], "text" : "sel" } @@ -1948,7 +1979,7 @@ "numinlets" : 5, "numoutlets" : 4, "outlettype" : [ "int", "", "", "int" ], - "patching_rect" : [ 142.0, 337.0, 61.0, 22.0 ], + "patching_rect" : [ 142.0, 347.0, 61.0, 22.0 ], "text" : "counter" } @@ -2071,6 +2102,13 @@ "source" : [ "obj-11", 6 ] } + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "source" : [ "obj-12", 0 ] + } + } , { "patchline" : { @@ -2112,7 +2150,7 @@ , { "patchline" : { "destination" : [ "obj-25", 1 ], - "midpoints" : [ 102.0, 364.5, 162.0, 364.5 ], + "midpoints" : [ 102.0, 375.5, 162.0, 375.5 ], "source" : [ "obj-23", 0 ] } @@ -2133,7 +2171,7 @@ } , { "patchline" : { - "destination" : [ "obj-24", 0 ], + "destination" : [ "obj-12", 0 ], "source" : [ "obj-26", 0 ] } @@ -2568,6 +2606,11 @@ } } + ], + "dependency_cache" : [ { + "name" : "fluid.bufcompose~.mxo", + "type" : "iLaX" + } ], "autosave" : 0, "styles" : [ { diff --git a/examples/buffermanagement-example.maxpat b/examples/buffermanagement-example.maxpat index a53ecdce..a2bb857c 100644 --- a/examples/buffermanagement-example.maxpat +++ b/examples/buffermanagement-example.maxpat @@ -4,7 +4,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -52,13 +52,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 35.0, 113.0, 1370.0, 751.0 ], + "rect" : [ 0.0, 26.0, 1370.0, 751.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 12.0, @@ -600,7 +600,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1309,7 +1309,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1821,7 +1821,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2220,7 +2220,7 @@ "numinlets" : 1, "numoutlets" : 0, "patching_rect" : [ 20.0, 90.0, 422.0, 84.0 ], - "text" : "The same principles of automatic management can be used with objects that use the fluid.dataset~ as inputs and outputs. \n\nLet's start by creating a simple synthetic dataset mde out of MFCC analysis." + "text" : "The same principles of automatic management can be used with objects that use the fluid.dataset~ as inputs and outputs. \n\nLet's start by creating a simple synthetic dataset made out of MFCC analysis." } } @@ -2400,13 +2400,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 2, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 1370.0, 751.0 ], + "rect" : [ 35.0, 113.0, 1370.0, 751.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 12.0, @@ -2567,7 +2567,6 @@ "numinlets" : 1, "numoutlets" : 0, "patching_rect" : [ 506.0, 170.0, 134.0, 25.0 ], - "presentation_linecount" : 2, "text" : "Trigger Processing" } @@ -2703,13 +2702,11 @@ "box" : { "fontsize" : 13.0, "id" : "obj-15", - "linecount" : 16, "maxclass" : "message", "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 20.0, 435.0, 374.0, 241.0 ], - "text" : "80.85392 -18.580402 -12.486599 17.671347 -5.018889 6.870314 0.583963 5.357196 1.909947 5.076388 1.538079 3.983266 -1.002469 64.604294 26.2 22.253168 17.40172 9.390439 12.163238 8.727877 7.03929 6.216128 4.95892 3.990312 4.20789 4.292554 0.152482 -0.267312 0.302994 0.319663 0.231892 0.260999 0.221755 0.051956 0.291778 0.165382 -0.260913 0.016466 -0.505628 2.412833 2.86147 2.532662 2.543761 2.202866 2.314336 2.201277 2.271181 2.542523 2.470343 2.880286 2.878045 3.881855 -51.250549 -92.414146 -55.402786 -13.44823 -24.911613 -16.531027 -16.146517 -9.712333 -12.417332 -7.106012 -10.382634 -8.875776 -16.487474 87.073898 -19.064693 -12.623805 20.319082 -6.308255 6.022999 -0.071732 5.633561 1.034654 4.796767 1.858731 3.829453 -1.00049 219.073563 33.307629 41.742584 66.901405 15.837646 36.841446 20.432083 24.710594 16.992668 19.3 11.335212 16.138893 9.810827" + "patching_rect" : [ 20.0, 435.0, 374.0, 23.0 ] } } @@ -2807,13 +2804,11 @@ "box" : { "fontsize" : 13.0, "id" : "obj-40", - "linecount" : 16, "maxclass" : "message", "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 930.0, 382.0, 374.0, 241.0 ], - "text" : "80.85392 -18.580402 -12.486599 17.671347 -5.018889 6.870314 0.583963 5.357196 1.909947 5.076388 1.538079 3.983266 -1.002469 64.604294 26.2 22.253168 17.40172 9.390439 12.163238 8.727877 7.03929 6.216128 4.95892 3.990312 4.20789 4.292554 0.152482 -0.267312 0.302994 0.319663 0.231892 0.260999 0.221755 0.051956 0.291778 0.165382 -0.260913 0.016466 -0.505628 2.412833 2.86147 2.532662 2.543761 2.202866 2.314336 2.201277 2.271181 2.542523 2.470343 2.880286 2.878045 3.881855 -51.250549 -92.414146 -55.402786 -13.44823 -24.911613 -16.531027 -16.146517 -9.712333 -12.417332 -7.106012 -10.382634 -8.875776 -16.487474 87.073898 -19.064693 -12.623805 20.319082 -6.308255 6.022999 -0.071732 5.633561 1.034654 4.796767 1.858731 3.829453 -1.00049 219.073563 33.307629 41.742584 66.901405 15.837646 36.841446 20.432083 24.710594 16.992668 19.3 11.335212 16.138893 9.810827" + "patching_rect" : [ 930.0, 382.0, 374.0, 23.0 ] } } @@ -3280,6 +3275,35 @@ } } + ], + "dependency_cache" : [ { + "name" : "fluid.buf2list.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufflatten~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufloudness~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufmfcc~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufspectralshape~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufstats~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.libmanipulation.mxo", + "type" : "iLaX" + } ], "autosave" : 0 } diff --git a/examples/nmf/JIT-NMF-Classifier.maxpat b/examples/nmf/JIT-NMF-Classifier.maxpat new file mode 100644 index 00000000..eefa0d6e --- /dev/null +++ b/examples/nmf/JIT-NMF-Classifier.maxpat @@ -0,0 +1,7757 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 79.0, 1620.0, 1167.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 402.5, 807.0, 160.0, 22.0 ], + "text" : "buffer~ env-temp @samps 3" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 748.0, 708.0, 133.0, 22.0 ], + "text" : "deststartchan $1, bang" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 738.0, 749.0, 416.0, 22.0 ], + "text" : "fluid.bufcompose~ @source filter-temp4 @destination filters4 @numchans 1" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 420.0, 533.0, 115.0, 22.0 ], + "text" : "startframe $1, bang" + } + + } +, { + "box" : { + "id" : "obj-96", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 245.0, 322.5, 243.0, 20.0 ], + "text" : "detecting attacks to trigger the classification" + } + + } +, { + "box" : { + "id" : "obj-95", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 256.0, 881.0, 385.0, 20.0 ], + "text" : "factorise the input in the best combination of the 3 defined components" + } + + } +, { + "box" : { + "id" : "obj-90", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 817.0, 641.5, 200.0, 47.0 ], + "text" : "trains a 1 component nmf, updating the filter each time, 'improving' the definition of the class" + } + + } +, { + "box" : { + "id" : "obj-89", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 441.0, 557.0, 175.0, 33.0 ], + "text" : "process 128 samples after the\ndetected attack (supershort!)" + } + + } +, { + "box" : { + "id" : "obj-88", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 378.0, 200.0, 150.0, 20.0 ], + "text" : "circular buffer" + } + + } +, { + "box" : { + "id" : "obj-83", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 583.0, 778.0, 156.0, 47.0 ], + "text" : "filling the dict with DC as a starting point. positive noise would do a similar job" + } + + } +, { + "box" : { + "id" : "obj-81", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 784.0, 569.0, 150.0, 20.0 ], + "text" : "copy training" + } + + } +, { + "box" : { + "id" : "obj-80", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 531.0, 506.0, 150.0, 20.0 ], + "text" : "attack detected!" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 505.0, 502.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-76", + "linecount" : 18, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 1129.0, 118.5, 453.0, 248.0 ], + "text" : "• to train the classifier\n • put in train mode at #3, then\n • for each class you desire (this patch has 3 components/class)\n • assign a component to train at #4\n • play a few instance of the class to define (at #1)\n • copy the trained dictionary by pressing #5\n • once finished training, put #3 in play mode\n \n• to set the thresholds\n • play the class, and look at its value at the bottom . We peek at the 2nd activation, as it is in the middle of the buffer.\n • set the threshold as low as possible to not get cross talk from the other. To test simultaneous hits in 2 of the 3 class, open the patcher beside #1\n • you can also observe the activations by opening the patcher #7 or peeking in the activations4 buffer. Other ideas of what to do with the values are included in the patcher.\n\n• to delete the training, doubleclick #8" + } + + } +, { + "box" : { + "id" : "obj-72", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 1129.0, 93.0, 453.0, 20.0 ], + "text" : "• play the 3 drum classes for your pleasure (#1) and/or activate the beat for fun (#2)" + } + + } +, { + "box" : { + "fontsize" : 16.0, + "id" : "obj-71", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 1129.0, 64.0, 193.0, 24.0 ], + "text" : "what to do:" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-68", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 541.0, 999.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "6", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-63", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 978.0, 64.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "8", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-62", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 735.75, 565.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "5", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-59", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 630.0, 606.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "4", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-58", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 292.0, 498.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "3", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-51", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 583.0, 40.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "bang" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 800.0, -669.0, 640.0, 480.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-4", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 152.0, 73.0, 44.0, 20.0 ], + "text" : "sn+hh" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 97.0, 73.0, 44.0, 20.0 ], + "text" : "bd+hh" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 40.0, 73.0, 44.0, 20.0 ], + "text" : "bd+sn" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 107.0, 100.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 152.0, 100.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 50.0, 100.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-38", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 50.0, 184.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-42", + "index" : 2, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 107.0, 184.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-45", + "index" : 3, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 152.0, 184.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 250.0, 107.0, 145.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p multiple hit test for later" + } + + } +, { + "box" : { + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 479.5, 468.0, 44.0, 22.0 ], + "text" : "edge~" + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 479.5, 444.0, 57.0, 22.0 ], + "text" : "change~" + } + + } +, { + "box" : { + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 630.0, 673.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 509.5, 732.0, 71.0, 22.0 ], + "text" : "pack fill 0.1" + } + + } +, { + "box" : { + "id" : "obj-36", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 758.0, 565.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 767.0, 653.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 658.0, 630.0, 29.5, 22.0 ], + "text" : "- 1" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 726.0, 672.0, 29.5, 22.0 ], + "text" : "int" + } + + } +, { + "box" : { + "id" : "obj-22", + "items" : [ "components", ",", 1, ",", 2, ",", 3 ], + "maxclass" : "umenu", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ], + "parameter_enable" : 0, + "patching_rect" : [ 658.0, 604.0, 60.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 402.5, 783.0, 177.0, 22.0 ], + "text" : "buffer~ filter-temp4 @samps 65" + } + + } +, { + "box" : { + "id" : "obj-2", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 726.0, 604.0, 561.0, 35.0 ], + "text" : "fluid.bufnmf~ @components 1 @iterations 100 @bases filter-temp4 @basesmode 1 @fftsettings 128 64 @numframes 128 @source input @blocking 2 @activations env-temp" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 207.0, 898.0, 24.0, 22.0 ], + "text" : "t 1" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 252.5, 1078.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 352.5, 1078.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 474.0, 1084.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-104", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, -605.0, 1852.0, 571.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 250.599975999999998, 218.0, 41.0, 22.0 ], + "text" : "+ 141" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 186.599975999999998, 187.0, 48.0, 22.0 ], + "text" : "+ 3900" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 186.599975999999998, 156.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 131.0, 35.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 162.0, 89.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 813.59997599999997, 206.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 813.59997599999997, 234.0, 44.0, 22.0 ], + "text" : "+ 280." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 813.59997599999997, 179.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 697.5, 210.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 697.5, 241.0, 38.0, 22.0 ], + "text" : "+ 0.3" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 697.5, 186.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 697.5, 267.0, 157.0, 22.0 ], + "text" : "pack 0.1 1 -0.8 0 150. -0.84" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 697.5, 294.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 496.666655999999989, 307.0, 42.0, 22.0 ], + "text" : "*~ 0.6" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 454.0, 279.0, 96.0, 22.0 ], + "text" : "svf~ 4151 0.444" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 406.0, 383.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 221.0, 70.0, 22.0 ], + "text" : "selector~ 2" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 557.0, 163.0, 43.0, 22.0 ], + "text" : "sig~ 1" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 508.0, 163.0, 47.0, 22.0 ], + "text" : "sig~ -1" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 133.0, 35.0, 22.0 ], + "text" : ">~ 0" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 103.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 221.0, 70.0, 22.0 ], + "text" : "selector~ 2" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 406.0, 163.0, 43.0, 22.0 ], + "text" : "sig~ 1" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 357.0, 163.0, 47.0, 22.0 ], + "text" : "sig~ -1" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 133.0, 35.0, 22.0 ], + "text" : ">~ 0" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 103.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 327.0, 279.0, 96.0, 22.0 ], + "text" : "svf~ 4010 0.666" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 57.0, 333.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 57.0, 69.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 2 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 1 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-16", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "order" : 2, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "order" : 1, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "order" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-3", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 2 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 384.5, 1110.0, 37.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p hat" + } + + } +, { + "box" : { + "id" : "obj-105", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, -859.0, 1852.0, 510.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 18.0, 182.0, 41.0, 22.0 ], + "text" : "click~" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 351.0, 42.0, 22.0 ], + "text" : "*~ 1.4" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 714.0, 225.0, 83.0, 22.0 ], + "text" : "svf~ 810 0.05" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 447.599976000000026, 147.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 447.599976000000026, 175.0, 44.0, 22.0 ], + "text" : "+ 100." + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 447.599976000000026, 120.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 331.5, 151.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 331.5, 182.0, 38.0, 22.0 ], + "text" : "+ 0.7" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 331.5, 127.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.5, 209.0, 160.0, 22.0 ], + "text" : "pack 0.91 1. -0.7 0 110. -0.7" + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 331.5, 235.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1000.59997599999997, 137.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1000.59997599999997, 165.0, 44.0, 22.0 ], + "text" : "+ 130." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1000.59997599999997, 110.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 884.5, 141.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 884.5, 172.0, 38.0, 22.0 ], + "text" : "+ 1.1" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 884.5, 117.0, 75.0, 22.0 ], + "text" : "random 300" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 884.5, 198.0, 157.0, 22.0 ], + "text" : "pack 0.1 1 -0.7 0 150. -0.66" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 884.5, 225.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 714.0, 263.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 714.0, 182.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 242.75, 137.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 160.5, 137.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 160.5, 161.0, 44.0, 22.0 ], + "text" : "+ 150." + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 160.5, 113.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 242.75, 168.0, 31.0, 22.0 ], + "text" : "+ 8." + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 242.75, 113.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 9, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 193.0, 214.0, 22.0 ], + "text" : "pack 3261 0 0 410 5 -0.5 160. 10. -0.5" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 76.0, 161.0, 48.0, 22.0 ], + "text" : "+ 3210" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 76.0, 133.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 156.0, 38.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 76.0, 69.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 287.0, 277.0, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 76.0, 235.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 263.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 76.0, 384.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 73.0, 25.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 4 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 2, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 3, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 6, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 4, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "order" : 5, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "order" : 7, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 7 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 6 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-29", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-8", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 298.5, 1110.0, 33.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p sn" + } + + } +, { + "box" : { + "id" : "obj-106", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 386.0, 1852.0, 510.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1550.59997599999997, 135.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1550.59997599999997, 163.0, 31.0, 22.0 ], + "text" : "+ 8." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1550.59997599999997, 108.0, 75.0, 22.0 ], + "text" : "random 400" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1434.5, 139.0, 55.0, 22.0 ], + "text" : "* 0.0001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1434.5, 170.0, 44.0, 22.0 ], + "text" : "+ 0.07" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1434.5, 115.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-71", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1264.0, 128.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1264.0, 156.0, 44.0, 22.0 ], + "text" : "+ 900." + } + + } +, { + "box" : { + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1264.0, 101.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1434.5, 197.0, 144.0, 22.0 ], + "text" : "pack 0.1 1 -0.5 0 10. -0.5" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 1434.5, 223.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 1264.0, 261.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 1264.0, 223.0, 96.0, 22.0 ], + "text" : "svf~ 4760 0.666" + } + + } +, { + "box" : { + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1049.5, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-60", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1049.5, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1049.5, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 961.59997599999997, 118.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 961.59997599999997, 146.0, 38.0, 22.0 ], + "text" : "+ 18." + } + + } +, { + "box" : { + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 961.59997599999997, 91.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 872.5, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 872.5, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 872.5, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 786.59997599999997, 98.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 786.59997599999997, 126.0, 38.0, 22.0 ], + "text" : "+ 18." + } + + } +, { + "box" : { + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 786.59997599999997, 71.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 703.59997599999997, 98.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 703.59997599999997, 126.0, 44.0, 22.0 ], + "text" : "+ 250." + } + + } +, { + "box" : { + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 703.59997599999997, 71.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 625.0, 126.0, 41.0, 22.0 ], + "text" : "+ 700" + } + + } +, { + "box" : { + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 625.0, 98.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 853.5, 185.0, 113.0, 22.0 ], + "text" : "pack 1. 1 1 20. 0 1." + } + + } +, { + "box" : { + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 853.5, 220.0, 36.0, 22.0 ], + "text" : "line~" + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 625.0, 277.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 625.0, 160.0, 150.0, 22.0 ], + "text" : "pack 750 0 0 261. 20. -0.5" + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 625.0, 189.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 473.0, 146.0, 41.0, 22.0 ], + "text" : "+ 250" + } + + } +, { + "box" : { + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 473.0, 91.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 396.0, 115.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 396.0, 146.0, 34.0, 22.0 ], + "text" : "+ 80" + } + + } +, { + "box" : { + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 396.0, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 319.0, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 319.0, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 319.0, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 319.0, 178.0, 133.0, 22.0 ], + "text" : "pack 1. 5 1 100. 0 300." + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 227.75, 122.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 145.5, 122.0, 42.0, 22.0 ], + "text" : "* 0.02" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 145.5, 146.0, 38.0, 22.0 ], + "text" : "+ 45." + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 145.5, 98.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 227.75, 153.0, 38.0, 22.0 ], + "text" : "+ 70." + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 227.75, 98.0, 75.0, 22.0 ], + "text" : "random 300" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 9, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 61.0, 178.0, 207.0, 22.0 ], + "text" : "pack 261 0 0 120 35 -0.5 51. 80. -0.5" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 61.0, 146.0, 41.0, 22.0 ], + "text" : "+ 200" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 61.0, 118.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 358.0, 41.0, 22.0 ], + "text" : "tanh~" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 141.0, 23.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 61.0, 54.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 272.0, 277.0, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 319.0, 214.0, 36.0, 22.0 ], + "text" : "line~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 61.0, 220.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 1264.0, 189.0, 71.0, 22.0 ], + "text" : "tri~ 910 0.1" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 625.0, 220.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 248.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 61.0, 399.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 61.0, 11.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 14, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 12, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "order" : 13, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "order" : 11, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "order" : 10, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "order" : 9, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "order" : 8, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 0 ], + "order" : 7, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "order" : 6, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-55", 0 ], + "order" : 5, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "order" : 4, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "order" : 3, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "order" : 2, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 7 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 6 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 3 ], + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 5 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 1 ], + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 3 ], + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 4 ], + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 3 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 5 ], + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-71", 0 ], + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 232.0, 1110.0, 34.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p bd" + } + + } +, { + "box" : { + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 468.0, 1045.0, 36.0, 22.0 ], + "text" : "sel 1" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-99", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 480.0, 998.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-100", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 468.0, 1022.0, 31.0, 22.0 ], + "text" : "> 1." + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-101", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 483.0, 969.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-91", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 340.0, 1045.0, 36.0, 22.0 ], + "text" : "sel 1" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-92", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 352.0, 998.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-93", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 340.0, 1022.0, 31.0, 22.0 ], + "text" : "> 1." + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-94", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 358.0, 969.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 221.0, 1045.0, 36.0, 22.0 ], + "text" : "sel 1" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-86", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 233.0, 998.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 221.0, 1022.0, 31.0, 22.0 ], + "text" : "> 1." + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-84", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 236.0, 969.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 466.0, 944.0, 120.0, 22.0 ], + "text" : "peek~ activations4 3" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 343.0, 944.0, 120.0, 22.0 ], + "text" : "peek~ activations4 2" + } + + } +, { + "box" : { + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 221.0, 944.0, 120.0, 22.0 ], + "text" : "peek~ activations4 1" + } + + } +, { + "box" : { + "id" : "obj-60", + "maxclass" : "toggle", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 553.0, 40.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 553.0, 73.0, 63.0, 22.0 ], + "text" : "metro 111" + } + + } +, { + "box" : { + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "int", "", "", "int" ], + "patching_rect" : [ 553.0, 100.0, 77.0, 22.0 ], + "text" : "counter 1 16" + } + + } +, { + "box" : { + "coll_data" : { + "count" : 16, + "data" : [ { + "key" : 1, + "value" : [ 1 ] + } +, { + "key" : 2, + "value" : [ 0 ] + } +, { + "key" : 3, + "value" : [ 3 ] + } +, { + "key" : 4, + "value" : [ 0 ] + } +, { + "key" : 5, + "value" : [ 2 ] + } +, { + "key" : 6, + "value" : [ 0 ] + } +, { + "key" : 7, + "value" : [ 3 ] + } +, { + "key" : 8, + "value" : [ 1 ] + } +, { + "key" : 9, + "value" : [ 0 ] + } +, { + "key" : 10, + "value" : [ 1 ] + } +, { + "key" : 11, + "value" : [ 1, 3 ] + } +, { + "key" : 12, + "value" : [ 0 ] + } +, { + "key" : 13, + "value" : [ 2 ] + } +, { + "key" : 14, + "value" : [ 0 ] + } +, { + "key" : 15, + "value" : [ 3 ] + } +, { + "key" : 16, + "value" : [ 3 ] + } + ] + } +, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 461.0, 93.0, 50.5, 22.0 ], + "saved_object_attributes" : { + "embed" : 1, + "precision" : 6 + } +, + "text" : "coll" + } + + } +, { + "box" : { + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 4, + "numoutlets" : 4, + "outlettype" : [ "bang", "bang", "bang", "" ], + "patching_rect" : [ 461.0, 152.0, 56.0, 22.0 ], + "text" : "sel 1 2 3" + } + + } +, { + "box" : { + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 461.0, 122.0, 27.0, 22.0 ], + "text" : "iter" + } + + } +, { + "box" : { + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.5, 112.0, 71.0, 22.0 ], + "text" : "pack fill 0.1" + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 811.5, 88.0, 136.0, 22.0 ], + "text" : "t b s" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 479.5, 420.0, 93.0, 22.0 ], + "text" : "delay~ 128 128" + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 212.0, 107.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 156.0, 107.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-35", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 98.0, 107.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.5, 64.0, 158.0, 22.0 ], + "text" : "loadmess sizeinsamps 65 3" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 514.0, 126.0, 892.0, 990.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 250.599975999999998, 218.0, 41.0, 22.0 ], + "text" : "+ 141" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 186.599975999999998, 187.0, 48.0, 22.0 ], + "text" : "+ 3900" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 186.599975999999998, 156.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 131.0, 35.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 162.0, 89.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 813.59997599999997, 206.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 813.59997599999997, 234.0, 44.0, 22.0 ], + "text" : "+ 280." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 813.59997599999997, 179.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 697.5, 210.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 697.5, 241.0, 38.0, 22.0 ], + "text" : "+ 0.3" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 697.5, 186.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 697.5, 267.0, 157.0, 22.0 ], + "text" : "pack 0.1 1 -0.8 0 150. -0.84" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 697.5, 294.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 496.666655999999989, 307.0, 42.0, 22.0 ], + "text" : "*~ 0.6" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 454.0, 279.0, 96.0, 22.0 ], + "text" : "svf~ 4151 0.444" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 406.0, 383.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 221.0, 70.0, 22.0 ], + "text" : "selector~ 2" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 557.0, 163.0, 43.0, 22.0 ], + "text" : "sig~ 1" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 508.0, 163.0, 47.0, 22.0 ], + "text" : "sig~ -1" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 133.0, 35.0, 22.0 ], + "text" : ">~ 0" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 478.0, 103.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 221.0, 70.0, 22.0 ], + "text" : "selector~ 2" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 406.0, 163.0, 43.0, 22.0 ], + "text" : "sig~ 1" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 357.0, 163.0, 47.0, 22.0 ], + "text" : "sig~ -1" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 133.0, 35.0, 22.0 ], + "text" : ">~ 0" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 327.0, 103.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 327.0, 279.0, 96.0, 22.0 ], + "text" : "svf~ 4010 0.666" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 57.0, 333.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 57.0, 69.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 2 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 1 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-16", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "order" : 2, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "order" : 1, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "order" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-3", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 2 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 212.0, 141.0, 37.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p hat" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 366.0, 1852.0, 510.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 18.0, 182.0, 41.0, 22.0 ], + "text" : "click~" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 351.0, 42.0, 22.0 ], + "text" : "*~ 1.4" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 714.0, 225.0, 83.0, 22.0 ], + "text" : "svf~ 810 0.05" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 447.599976000000026, 147.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 447.599976000000026, 175.0, 44.0, 22.0 ], + "text" : "+ 100." + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 447.599976000000026, 120.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 331.5, 151.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 331.5, 182.0, 38.0, 22.0 ], + "text" : "+ 0.7" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 331.5, 127.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.5, 209.0, 160.0, 22.0 ], + "text" : "pack 0.91 1. -0.7 0 110. -0.7" + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 331.5, 235.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1000.59997599999997, 137.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1000.59997599999997, 165.0, 44.0, 22.0 ], + "text" : "+ 130." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1000.59997599999997, 110.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 884.5, 141.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 884.5, 172.0, 38.0, 22.0 ], + "text" : "+ 1.1" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 884.5, 117.0, 75.0, 22.0 ], + "text" : "random 300" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 884.5, 198.0, 157.0, 22.0 ], + "text" : "pack 0.1 1 -0.7 0 150. -0.66" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 884.5, 225.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 714.0, 263.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 714.0, 182.0, 46.0, 22.0 ], + "text" : "noise~" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 242.75, 137.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 160.5, 137.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 160.5, 161.0, 44.0, 22.0 ], + "text" : "+ 150." + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 160.5, 113.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 242.75, 168.0, 31.0, 22.0 ], + "text" : "+ 8." + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 242.75, 113.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 9, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 193.0, 214.0, 22.0 ], + "text" : "pack 3261 0 0 410 5 -0.5 160. 10. -0.5" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 76.0, 161.0, 48.0, 22.0 ], + "text" : "+ 3210" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 76.0, 133.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 156.0, 38.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 76.0, 69.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 287.0, 277.0, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 76.0, 235.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 76.0, 263.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 76.0, 384.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 73.0, 25.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 4 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 2, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 3, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 6, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 4, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "order" : 5, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "order" : 7, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 7 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 6 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-29", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-8", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 156.0, 141.0, 33.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p sn" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 385.0, 1852.0, 510.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1550.59997599999997, 135.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1550.59997599999997, 163.0, 31.0, 22.0 ], + "text" : "+ 8." + } + + } +, { + "box" : { + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1550.59997599999997, 108.0, 75.0, 22.0 ], + "text" : "random 400" + } + + } +, { + "box" : { + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1434.5, 139.0, 55.0, 22.0 ], + "text" : "* 0.0001" + } + + } +, { + "box" : { + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1434.5, 170.0, 44.0, 22.0 ], + "text" : "+ 0.07" + } + + } +, { + "box" : { + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1434.5, 115.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-71", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1264.0, 128.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1264.0, 156.0, 44.0, 22.0 ], + "text" : "+ 900." + } + + } +, { + "box" : { + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1264.0, 101.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1434.5, 197.0, 144.0, 22.0 ], + "text" : "pack 0.1 1 -0.5 0 10. -0.5" + } + + } +, { + "box" : { + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 1434.5, 223.0, 47.0, 22.0 ], + "text" : "curve~" + } + + } +, { + "box" : { + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 1264.0, 261.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 4, + "outlettype" : [ "signal", "signal", "signal", "signal" ], + "patching_rect" : [ 1264.0, 223.0, 96.0, 22.0 ], + "text" : "svf~ 4760 0.666" + } + + } +, { + "box" : { + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1049.5, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-60", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1049.5, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 1049.5, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 961.59997599999997, 118.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 961.59997599999997, 139.0, 38.0, 22.0 ], + "text" : "+ 18." + } + + } +, { + "box" : { + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 961.59997599999997, 91.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 872.5, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 872.5, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 872.5, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 786.59997599999997, 98.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 786.59997599999997, 126.0, 38.0, 22.0 ], + "text" : "+ 18." + } + + } +, { + "box" : { + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 786.59997599999997, 71.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 703.59997599999997, 98.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 703.59997599999997, 126.0, 44.0, 22.0 ], + "text" : "+ 250." + } + + } +, { + "box" : { + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 703.59997599999997, 71.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 625.0, 126.0, 41.0, 22.0 ], + "text" : "+ 700" + } + + } +, { + "box" : { + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 625.0, 98.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 853.5, 185.0, 113.0, 22.0 ], + "text" : "pack 1. 1 1 20. 0 1." + } + + } +, { + "box" : { + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 853.5, 220.0, 36.0, 22.0 ], + "text" : "line~" + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 625.0, 277.0, 189.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 625.0, 160.0, 150.0, 22.0 ], + "text" : "pack 750 0 0 261. 20. -0.5" + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 625.0, 189.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 473.0, 146.0, 41.0, 22.0 ], + "text" : "+ 250" + } + + } +, { + "box" : { + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 473.0, 91.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 396.0, 115.0, 42.0, 22.0 ], + "text" : "* 0.01" + } + + } +, { + "box" : { + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 396.0, 146.0, 34.0, 22.0 ], + "text" : "+ 80" + } + + } +, { + "box" : { + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 396.0, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 319.0, 115.0, 49.0, 22.0 ], + "text" : "* 0.001" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 319.0, 146.0, 38.0, 22.0 ], + "text" : "+ 0.8" + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 319.0, 91.0, 75.0, 22.0 ], + "text" : "random 500" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 6, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 319.0, 178.0, 133.0, 22.0 ], + "text" : "pack 1. 5 1 100. 0 300." + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 227.75, 122.0, 35.0, 22.0 ], + "text" : "* 0.1" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 145.5, 122.0, 42.0, 22.0 ], + "text" : "* 0.02" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 145.5, 146.0, 38.0, 22.0 ], + "text" : "+ 45." + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 145.5, 98.0, 75.0, 22.0 ], + "text" : "random 200" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 227.75, 153.0, 38.0, 22.0 ], + "text" : "+ 70." + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 227.75, 98.0, 75.0, 22.0 ], + "text" : "random 300" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 9, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 61.0, 178.0, 207.0, 22.0 ], + "text" : "pack 261 0 0 120 35 -0.5 51. 80. -0.5" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 61.0, 146.0, 41.0, 22.0 ], + "text" : "+ 200" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 61.0, 118.0, 75.0, 22.0 ], + "text" : "random 100" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 358.0, 41.0, 22.0 ], + "text" : "tanh~" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 141.0, 22.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 61.0, 54.0, 24.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 272.0, 277.0, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 319.0, 214.0, 36.0, 22.0 ], + "text" : "line~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 61.0, 220.0, 64.0, 22.0 ], + "text" : "curve~ 80" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 1264.0, 189.0, 71.0, 22.0 ], + "text" : "tri~ 910 0.1" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 625.0, 220.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 61.0, 248.0, 45.0, 22.0 ], + "text" : "cycle~" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-2", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 61.0, 399.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-1", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 61.0, 11.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 14, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 12, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "order" : 13, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "order" : 11, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "order" : 10, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "order" : 9, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "order" : 8, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 0 ], + "order" : 7, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "order" : 6, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-55", 0 ], + "order" : 5, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "order" : 4, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "order" : 3, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "order" : 2, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "order" : 1, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 7 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 6 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 3 ], + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 5 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 1 ], + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 3 ], + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 4 ], + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 3 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 5 ], + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-71", 0 ], + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 4 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 98.0, 141.0, 34.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p bd" + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 279.0, 452.0, 72.0, 22.0 ], + "text" : "loadmess 0" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 372.0, 536.0, 29.5, 22.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "id" : "obj-19", + "items" : [ "play", ",", "train" ], + "maxclass" : "umenu", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ], + "parameter_enable" : 0, + "patching_rect" : [ 326.0, 498.0, 60.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 395.0, 568.0, 44.0, 22.0 ], + "text" : "gate 2" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 811.5, 141.0, 120.0, 22.0 ], + "text" : "buffer~ filters4 300 3" + } + + } +, { + "box" : { + "id" : "obj-8", + "linecount" : 3, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "signal", "" ], + "patching_rect" : [ 228.0, 344.5, 493.0, 49.0 ], + "text" : "fluid.ampslice~ @floor -47 @slowrampup 2205 @slowrampdown 2205 @onthreshold 12 @offthreshold 9 @fastrampup 10 @fastrampdown 1666 @minslicelength 4410 @highpassfreq 85" + } + + } +, { + "box" : { + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 758.0, 177.0, 135.0, 22.0 ], + "text" : "buffer~ activations4 3 3" + } + + } +, { + "box" : { + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 194.0, 857.0, 927.0, 22.0 ], + "text" : "fluid.bufnmf~ @components 3 @iterations 100 @activations activations4 @bases filters4 @basesmode 2 @fftsettings 128 64 @numframes 128 @source input @blocking 2" + } + + } +, { + "box" : { + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 812.0, 297.0, 171.0, 22.0 ], + "text" : "loadmess sizeinsamps 8820 1" + } + + } +, { + "box" : { + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 420.0, 498.0, 66.0, 22.0 ], + "text" : "snapshot~" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 420.0, 412.0, 37.0, 22.0 ], + "text" : "sah~" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 461.0, 196.0, 97.0, 22.0 ], + "text" : "count~ 0 4410 1" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 461.0, 222.0, 55.0, 22.0 ], + "text" : "+~ 4410" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 0, + "patching_rect" : [ 438.0, 263.0, 73.0, 22.0 ], + "text" : "poke~ input" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 0, + "patching_rect" : [ 358.0, 263.0, 73.0, 22.0 ], + "text" : "poke~ input" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 812.0, 327.0, 107.0, 22.0 ], + "text" : "buffer~ input 2000" + } + + } +, { + "box" : { + "id" : "obj-3", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 77.0, 1140.0, 45.0, 45.0 ] + } + + } +, { + "box" : { + "id" : "obj-57", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 91.0, 40.0, 202.0, 60.0 ], + "text" : "select a source and play (drum algo optimised and randomised from a source from Snappizz on sc list archive - https://sccode.org/1-523 )" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-46", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 69.0, 107.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-10", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-66", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 0 ], + "source" : [ "obj-100", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "source" : [ "obj-104", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "source" : [ "obj-105", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 1 ], + "order" : 2, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "order" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "order" : 2, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "order" : 1, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "order" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 1, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "order" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "order" : 3, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 2, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 1, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "order" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "order" : 3, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 2, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 1, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "order" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "order" : 3, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 2, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "order" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "order" : 1, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "order" : 1, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "order" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "order" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "order" : 1, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 938.0, 137.0, 821.0, 137.0 ], + "source" : [ "obj-41", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "order" : 1, + "source" : [ "obj-47", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "order" : 1, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "order" : 1, + "source" : [ "obj-47", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "order" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "order" : 0, + "source" : [ "obj-47", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "order" : 0, + "source" : [ "obj-47", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-53", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "source" : [ "obj-53", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-55", 0 ], + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "order" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 0 ], + "order" : 1, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "order" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 0 ], + "order" : 1, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-93", 0 ], + "order" : 1, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-94", 0 ], + "order" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 0 ], + "order" : 1, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-101", 0 ], + "order" : 0, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 1 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-87", 0 ], + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 1 ], + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 0 ], + "order" : 1, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "order" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-105", 0 ], + "order" : 1, + "source" : [ "obj-91", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 0, + "source" : [ "obj-91", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-93", 1 ], + "source" : [ "obj-92", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-91", 0 ], + "source" : [ "obj-93", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-104", 0 ], + "order" : 1, + "source" : [ "obj-98", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 0, + "source" : [ "obj-98", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 1 ], + "source" : [ "obj-99", 0 ] + } + + } + ], + "dependency_cache" : [ { + "name" : "fluid.ampslice~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufcompose~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufnmf~.mxo", + "type" : "iLaX" + } + ], + "autosave" : 0, + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } + +} diff --git a/examples/nmf/JIT-NMF.maxpat b/examples/nmf/JIT-NMF.maxpat new file mode 100644 index 00000000..2e122f54 --- /dev/null +++ b/examples/nmf/JIT-NMF.maxpat @@ -0,0 +1,1413 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 79.0, 1212.0, 990.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-60", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 84.294250000000005, 530.0, 57.0, 22.0 ], + "text" : "cpuclock" + } + + } +, { + "box" : { + "id" : "obj-58", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 58.294249999999998, 588.0, 83.0, 22.0 ], + "text" : "47.843639" + } + + } +, { + "box" : { + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 122.294250000000005, 558.0, 29.5, 22.0 ], + "text" : "- 0." + } + + } +, { + "box" : { + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 141.794250000000005, 530.0, 57.0, 22.0 ], + "text" : "cpuclock" + } + + } +, { + "box" : { + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 739.0, 679.0, 56.0, 22.0 ], + "text" : "*~ 0.707" + } + + } +, { + "box" : { + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 718.705749999999966, 802.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 685.5, 802.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 657.0, 675.0, 69.0, 22.0 ], + "text" : "index~ env" + } + + } +, { + "box" : { + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 285.0, 788.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 251.794250000000005, 788.0, 29.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 262.294249999999977, 675.0, 69.0, 22.0 ], + "text" : "index~ env" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 873.0, 123.0, 640.0, 480.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 162.5, 235.0, 55.0, 22.0 ], + "text" : "!- 22499" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "int", "bang", "int", "int" ], + "patching_rect" : [ 211.5, 184.0, 50.5, 22.0 ], + "text" : "t i b i i" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 232.5, 255.0, 41.0, 22.0 ], + "text" : "/ 440." + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ], + "patching_rect" : [ 185.0, 138.0, 59.0, 22.0 ], + "text" : "uzi 440 0" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 185.0, 41.0, 60.0, 22.0 ], + "text" : "loadbang" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 324.0, 149.0, 141.0, 22.0 ], + "text" : "sizeinsamps 22500, fill 1" + } + + } +, { + "box" : { + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 206.0, 318.0, 66.0, 22.0 ], + "text" : "peek~ env" + } + + } +, { + "box" : { + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 324.0, 201.0, 81.0, 22.0 ], + "text" : "buffer~ env 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-36", 0 ], + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "order" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "order" : 1, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-7", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 1 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-9", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-9", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-9", 1 ] + } + + } + ] + } +, + "patching_rect" : [ 909.0, 399.5, 80.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p env_maker" + } + + } +, { + "box" : { + "id" : "obj-61", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 522.0, 836.0, 547.0, 47.0 ], + "text" : "what is happening: a circular buffer is doing a fake real time - every half second, it sends a frame to be proceesed by NMF~, requesting 3 components. Because this latter process is randomly seeded and not sorted, the 3 components are not getting similar results each time, hence the random pan" + } + + } +, { + "box" : { + "id" : "obj-59", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 921.0, 82.0, 150.0, 20.0 ], + "text" : "start rec-playback" + } + + } +, { + "box" : { + "id" : "obj-57", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 602.0, 29.0, 150.0, 20.0 ], + "text" : "select a source and play" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-46", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 569.0, 22.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-49", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 883.5, 46.5, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 236.5, 584.0, 65.0, 22.0 ], + "text" : "%~ 44100" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 62.294249999999998, 444.0, 121.0, 22.0 ], + "text" : "sprintf startframe %d" + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 833.294250000000034, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth1 3" + } + + } +, { + "box" : { + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 720.0, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth1 2" + } + + } +, { + "box" : { + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 609.0, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth1 1" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 460.794249999999977, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth2 3" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 347.5, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth2 2" + } + + } +, { + "box" : { + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 236.5, 555.0, 61.0, 22.0 ], + "text" : "+~ 22050" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 236.5, 636.0, 106.0, 22.0 ], + "text" : "index~ resynth2 1" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "stop", "clear" ], + "patching_rect" : [ 935.0, 125.5, 69.0, 22.0 ], + "text" : "t stop clear" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 745.0, 162.0, 94.0, 22.0 ], + "text" : "count~ 0 44100" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 745.0, 189.0, 61.0, 22.0 ], + "text" : "+~ 44100" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 0, + "patching_rect" : [ 722.0, 230.0, 73.0, 22.0 ], + "text" : "poke~ input" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 0, + "patching_rect" : [ 642.0, 230.0, 73.0, 22.0 ], + "text" : "poke~ input" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 255.0, 854.0, 37.0, 22.0 ], + "text" : "dac~" + } + + } +, { + "box" : { + "id" : "obj-48", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 44.5, 517.5, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 347.5, 675.0, 56.0, 22.0 ], + "text" : "*~ 0.707" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ], + "patching_rect" : [ 118.294250000000005, 407.0, 30.0, 22.0 ], + "text" : "t i b" + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "bang", "int", "int" ], + "patching_rect" : [ 21.5, 321.0, 71.0, 22.0 ], + "text" : "t b 22050 2" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "bang", "int", "int" ], + "patching_rect" : [ 134.705749999999995, 317.0, 44.0, 22.0 ], + "text" : "t b 0 1" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 444.0, 163.0, 22.0 ], + "text" : "sprintf resynth resynth%d" + } + + } +, { + "box" : { + "args" : [ "@module", 0 ], + "bgmode" : 0, + "border" : 0, + "clickthrough" : 0, + "enablehscroll" : 0, + "enablevscroll" : 0, + "id" : "obj-32", + "lockeddragscroll" : 0, + "lockedsize" : 0, + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "offset" : [ -4.0, -3.0 ], + "outlettype" : [ "signal" ], + "patching_rect" : [ 563.0, 46.5, 219.0, 89.0 ], + "viewvisibility" : 1 + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 883.5, 125.5, 36.0, 22.0 ], + "text" : "sel 1" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "toggle", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 883.5, 82.5, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 111.705749999999995, 286.0, 44.0, 22.0 ], + "text" : "edge~" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 51.705750000000002, 286.0, 44.0, 22.0 ], + "text" : "edge~" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 111.705749999999995, 252.0, 61.0, 22.0 ], + "text" : ">~ 22550" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 51.705750000000002, 252.0, 48.0, 22.0 ], + "text" : ">~ 500" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 909.0, 242.0, 107.0, 22.0 ], + "text" : "buffer~ input 2000" + } + + } +, { + "box" : { + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 909.0, 459.0, 107.0, 22.0 ], + "text" : "buffer~ resynth2 1" + } + + } +, { + "box" : { + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 909.0, 432.5, 107.0, 22.0 ], + "text" : "buffer~ resynth1 1" + } + + } +, { + "box" : { + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 44.5, 493.5, 600.0, 22.0 ], + "text" : "fluid.bufnmf~ @components 3 @fftsettings 512 256 1024 @source input @numframes 22500 @resynthmode 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 1 ], + "order" : 3, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "order" : 1, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 6, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "order" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "order" : 2, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "order" : 5, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "order" : 4, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 8, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "order" : 7, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-16", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "source" : [ "obj-21", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-55", 0 ], + "source" : [ "obj-23", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 1, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "order" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "order" : 1, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "order" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 1 ], + "order" : 1, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 1 ], + "order" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-40", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-40", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-41", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-41", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 3, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "order" : 1, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "order" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "order" : 2, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 1 ], + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 1 ], + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 1 ], + "order" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 1 ], + "order" : 1, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "order" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "order" : 1, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 1 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 1 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "parameters" : { + "obj-32::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-32::obj-35" : [ "[5]", "Level", 0 ], + "parameterbanks" : { + + } +, + "inherited_shortname" : 1 + } +, + "dependency_cache" : [ { + "name" : "demosound.maxpat", + "bootpath" : "C74:/help/msp", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.bufnmf~.mxo", + "type" : "iLaX" + } +, { + "name" : "interfacecolor.js", + "bootpath" : "C74:/interfaces", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } + ], + "autosave" : 0, + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } + +} diff --git a/examples/nmf/nmf-jit.maxpat b/examples/nmf/JIT-NMF2filter.maxpat similarity index 100% rename from examples/nmf/nmf-jit.maxpat rename to examples/nmf/JIT-NMF2filter.maxpat diff --git a/examples/nmf/piano-key-classifier.maxpat b/examples/nmf/piano-key-classifier.maxpat new file mode 100644 index 00000000..5720dca0 --- /dev/null +++ b/examples/nmf/piano-key-classifier.maxpat @@ -0,0 +1,4402 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 57.0, 110.0, 1203.0, 891.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 279.0, 181.0, 62.0, 22.0 ], + "text" : "zl change" + } + + } +, { + "box" : { + "id" : "obj-59", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 950.0, 79.0, 35.0, 22.0 ], + "text" : "read" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 969.0, 121.0, 136.0, 22.0 ], + "text" : "replace piano-dicts.wav" + } + + } +, { + "box" : { + "id" : "obj-54", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 703.0, 57.0, 114.0, 20.0 ], + "text" : "open for a bit of fun" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 703.0, 110.0, 128.0, 22.0 ], + "text" : "bases pno-dict-shuffle" + } + + } +, { + "box" : { + "id" : "obj-50", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 361.0, 110.0, 98.0, 22.0 ], + "text" : "bases pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 97.0, 79.0, 799.0, 385.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 252.0, 89.0, 22.0 ], + "text" : "pak startchan i" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 286.0, 111.0, 22.0 ], + "text" : "pak deststartchan i" + } + + } +, { + "box" : { + "id" : "obj-54", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 309.0, 89.0, 114.0, 60.0 ], + "text" : "here we assign each component to another position, for fun" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 44.0, 327.0, 450.0, 22.0 ], + "text" : "fluid.bufcompose~ @source pno-dicts @destination pno-dict-shuffle @numchans 1" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ], + "patching_rect" : [ 397.0, 190.0, 53.0, 22.0 ], + "text" : "uzi 88 0" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ], + "patching_rect" : [ 455.0, 238.0, 45.0, 22.0 ], + "text" : "urn 88" + } + + } +, { + "box" : { + "id" : "obj-48", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 563.0, 120.0, 50.0, 22.0 ], + "text" : "replace" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 433.0, 87.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "bang", "clear", "bang" ], + "patching_rect" : [ 433.0, 127.0, 63.0, 22.0 ], + "text" : "t b clear b" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 617.0, 216.0, 132.0, 22.0 ], + "text" : "pack sizeinsamps 1 88" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 617.0, 242.0, 133.0, 22.0 ], + "text" : "buffer~ pno-dict-shuffle" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "order" : 1, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 1 ], + "source" : [ "obj-10", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "order" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-6", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 1 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 703.0, 79.0, 117.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p componentshuffler" + } + + } +, { + "box" : { + "id" : "obj-48", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 913.0, 121.0, 50.0, 22.0 ], + "text" : "replace" + } + + } +, { + "box" : { + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1028.0, 337.0, 34.0, 22.0 ], + "text" : "gate" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "clear" ], + "patching_rect" : [ 1043.0, 231.0, 114.0, 22.0 ], + "text" : "t l clear" + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "toggle", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 1043.0, 180.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1043.0, 207.0, 34.0, 22.0 ], + "text" : "gate" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 1084.0, 303.0, 42.0, 22.0 ], + "text" : "* 500." + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "int", "float" ], + "patching_rect" : [ 1043.0, 279.0, 62.0, 22.0 ], + "text" : "unpack i f" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "nslider", + "mode" : 1, + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 1028.0, 371.0, 75.0, 198.0 ] + } + + } +, { + "box" : { + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "list" ], + "patching_rect" : [ 1043.0, 255.0, 75.0, 22.0 ], + "text" : "listfunnel 21" + } + + } +, { + "box" : { + "id" : "obj-35", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 666.0, 748.0, 59.0, 20.0 ], + "text" : "-0 0-" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-86", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 509.0, 234.5, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-90", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 121.0, 10.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-67", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 145.0, 10.0, 391.0, 20.0 ], + "text" : "play the real upright piano line in loop - it should play on the left channel" + } + + } +, { + "box" : { + "id" : "obj-53", + "linecount" : 5, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 279.0, 770.5, 870.0, 74.0 ], + "text" : "What is happening: a dictionary of 88 bases is provided, pretrained on a chromatic scale of a grand piano. It gives one activation per note. On the left we can see the activations unprocessed, on an amplitude scale of 0 to 20. On the right, there is an attempt to be creative with that information, scaling and gating the activations, and resynthesising with simple sine waves. A midi piano could be used instead of the right-hand side notation.\n\nFor the inquisitive mind, the training patch has been provided below." + } + + } +, { + "box" : { + "id" : "obj-47", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 533.0, 234.5, 324.0, 20.0 ], + "text" : "select a preset - 1 is continuous, 2 is processing on attacks" + } + + } +, { + "box" : { + "id" : "obj-34", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 743.0, 400.0, 139.0, 20.0 ], + "text" : "activation volume gating" + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 592.0, 347.0, 144.0, 20.0 ], + "text" : "activation volume scaling" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 218.0, 394.0, 123.0, 20.0 ], + "text" : "auto-freeze on attack" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 154.0, 348.0, 159.0, 20.0 ], + "text" : "latency compensation delay" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 837.0, 586.0, 153.0, 20.0 ], + "text" : "post-processed activations" + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 394.0, 586.0, 147.0, 20.0 ], + "text" : "pre-processed activations" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 8.0, 10.0, 98.0, 22.0 ], + "text" : "loadmess loop 1" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 162.0, 429.0, 36.0, 22.0 ], + "text" : "sel 0" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-16", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 102.0, 348.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "preset", + "numinlets" : 1, + "numoutlets" : 5, + "outlettype" : [ "preset", "int", "preset", "int", "" ], + "patching_rect" : [ 509.0, 258.0, 100.0, 40.0 ], + "preset_data" : [ { + "number" : 1, + "data" : [ 5, "obj-43", "flonum", "float", 0.0, 5, "obj-10", "flonum", "float", 0.002, 5, "obj-60", "toggle", "int", 0, 5, "obj-16", "flonum", "float", 0.0 ] + } +, { + "number" : 2, + "data" : [ 5, "obj-43", "flonum", "float", 0.05, 5, "obj-10", "flonum", "float", 0.001, 5, "obj-60", "toggle", "int", 1, 5, "obj-16", "flonum", "float", 100.0 ] + } + ] + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 79.0, 1147.0, 447.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-13", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 177.0, 212.0, 417.0, 20.0 ], + "text" : "in the end, the second attempts, striped from the DC, is what is shipped here" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 499.0, 146.0, 197.0, 20.0 ], + "text" : "third attempt at pretraining here:" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 674.0, 79.0, 1212.0, 934.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-35", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 236.0, 537.0, 29.5, 22.0 ], + "text" : "$1" + } + + } +, { + "box" : { + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 236.0, 512.0, 41.0, 22.0 ], + "text" : "zl sort" + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "list" ], + "patching_rect" : [ 236.0, 481.0, 72.0, 22.0 ], + "text" : "fluid.buf2list" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 236.0, 457.0, 90.0, 22.0 ], + "text" : "fluid.bufflatten~" + } + + } +, { + "box" : { + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 236.0, 432.0, 163.0, 22.0 ], + "text" : "fluid.bufstats~ @select mean" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 236.0, 408.0, 416.0, 22.0 ], + "text" : "fluid.bufspectralshape~ @select centroid @unit 1 @power 1 @source temp2" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 236.0, 384.0, 22.0, 22.0 ], + "text" : "t b" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "int" ], + "patching_rect" : [ 300.0, 557.0, 30.0, 22.0 ], + "text" : "t b i" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 359.5, 568.0, 89.0, 22.0 ], + "text" : "pak startchan i" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 63.0, 439.0, 111.0, 22.0 ], + "text" : "pak deststartchan i" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "int" ], + "patching_rect" : [ 236.0, 273.0, 30.0, 22.0 ], + "text" : "t b i" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 248.5, 314.0, 73.0, 22.0 ], + "text" : "pak startat i" + } + + } +, { + "box" : { + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 460.0, 660.0, 105.0, 22.0 ], + "text" : "buffer~ temp2 2 2" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-90", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 263.0, 51.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-86", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 269.5, 704.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-8", + "linecount" : 6, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 294.0, 704.0, 150.0, 87.0 ], + "text" : "then with the 89 channel preseed dictionary, a 89 components nmf is run again, updating the dictionaries. It takes a few hours." + } + + } +, { + "box" : { + "id" : "obj-7", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 294.5, 51.0, 534.0, 33.0 ], + "text" : "this will iterate through each note to create a double components nmf dictionary, to pretrain the dictionaries, dismissing the one with the attack and keeping the one with the resonance" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 263.0, 236.0, 34.0, 22.0 ], + "text" : "print" + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 178.0, 624.0, 56.0, 22.0 ], + "text" : "deferlow" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "number", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 774.0, 526.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.0, 550.0, 109.0, 22.0 ], + "text" : "name pno-dicts $1" + } + + } +, { + "box" : { + "buffername" : "pno-dicts", + "id" : "obj-18", + "maxclass" : "waveform~", + "numinlets" : 5, + "numoutlets" : 6, + "outlettype" : [ "float", "float", "float", "float", "list", "" ], + "patching_rect" : [ 774.0, 576.0, 256.0, 64.0 ] + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 354.0, 660.0, 98.0, 22.0 ], + "text" : "buffer~ temp 2 2" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 337.0, 145.0, 132.0, 22.0 ], + "text" : "pack sizeinsamps 1 88" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 178.0, 597.0, 313.0, 22.0 ], + "text" : "fluid.bufcompose~ @source temp @destination pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 230.0, 924.0, 131.0, 22.0 ], + "text" : "554572.9375" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "float", "" ], + "patching_rect" : [ 261.0, 881.0, 37.0, 22.0 ], + "text" : "timer" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 236.0, 732.0, 34.0, 22.0 ], + "text" : "t b b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 236.0, 700.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 155.0, 846.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 154.0, 817.0, 775.0, 35.0 ], + "text" : "fluid.bufnmf~ @source pianosource @fftsettings 4096 256 -1 @iterations 100 @bases pno-dicts @components 88 @activations pno-acts @basesmode 1" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 337.0, 171.0, 100.0, 22.0 ], + "text" : "buffer~ pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 236.0, 358.0, 654.0, 22.0 ], + "text" : "fluid.bufnmf~ @fftsettings 4096 256 -1 @iterations 100 @components 2 @bases temp @resynth temp2 @resynthmode 1" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "patching_rect" : [ 236.0, 175.0, 59.0, 22.0 ], + "text" : "split 0 87" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "int", "", "", "int" ], + "patching_rect" : [ 236.0, 142.0, 61.0, 22.0 ], + "text" : "counter" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "bang" ], + "patching_rect" : [ 236.0, 81.0, 44.0, 22.0 ], + "text" : "t b b b" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "patching_rect" : [ 236.0, 205.0, 29.5, 22.0 ], + "text" : "t i i" + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 236.0, 51.0, 24.0, 24.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "source" : [ "obj-11", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-13", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 1 ], + "order" : 1, + "source" : [ "obj-22", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "order" : 0, + "source" : [ "obj-22", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 2 ], + "source" : [ "obj-23", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-23", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "midpoints" : [ 187.5, 671.0, 28.0, 671.0, 28.0, 132.0, 245.5, 132.0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 1 ], + "order" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "source" : [ "obj-9", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 499.0, 168.0, 201.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p prebuildingTonalBasisPerNote" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 239.0, 376.0, 192.0, 22.0 ], + "text" : "format float32, filetype wave, write" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 239.0, 400.0, 97.0, 22.0 ], + "text" : "buffer~ pno-acts" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 38.0, 296.0, 95.0, 20.0 ], + "text" : "save the results" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 264.0, 146.0, 197.0, 20.0 ], + "text" : "second attempt at pretraining here:" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 38.0, 146.0, 190.0, 20.0 ], + "text" : "first attempt at pretraining in here:" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 38.0, 42.0, 622.0, 20.0 ], + "text" : "this files contains a chromatic scale of the piano, 1 second each of piano, mezzo, forte, to create the 88 dictionaries" + } + + } +, { + "box" : { + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 50.0, 79.0, 1054.0, 967.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 157.0, 491.0, 111.0, 22.0 ], + "text" : "pak deststartchan i" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "int" ], + "patching_rect" : [ 118.0, 367.0, 30.0, 22.0 ], + "text" : "t b i" + } + + } +, { + "box" : { + "id" : "obj-6", + "linecount" : 5, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 651.0, 275.0, 294.0, 74.0 ], + "text" : "this was not working, since the last dictionary, full of zeros, never get changed since the tuning is done multiplicatively. Filling it with noise or DC does work either, since always farther from any sound to be relevant for the algorythm to fix." + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-90", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 145.0, 98.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-86", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 227.5, 655.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-8", + "linecount" : 6, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 252.0, 655.0, 150.0, 87.0 ], + "text" : "then with the 89 channel preseed dictionary, a 89 components nmf is run again, updating the dictionaries. It takes a few hours." + } + + } +, { + "box" : { + "id" : "obj-7", + "linecount" : 5, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 178.0, 105.0, 150.0, 74.0 ], + "text" : "this will iterate through each note to create a single component nmf dictionary, to pretrain the dictionaries" + } + + } +, { + "box" : { + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 145.0, 283.0, 34.0, 22.0 ], + "text" : "print" + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 118.0, 575.0, 56.0, 22.0 ], + "text" : "deferlow" + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "number", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 656.0, 573.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 656.0, 597.0, 109.0, 22.0 ], + "text" : "name pno-dicts $1" + } + + } +, { + "box" : { + "buffername" : "pno-dicts", + "id" : "obj-18", + "maxclass" : "waveform~", + "numinlets" : 5, + "numoutlets" : 6, + "outlettype" : [ "float", "float", "float", "float", "list", "" ], + "patching_rect" : [ 656.0, 623.0, 256.0, 64.0 ] + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 118.0, 611.0, 78.0, 22.0 ], + "text" : "buffer~ temp" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 219.0, 192.0, 132.0, 22.0 ], + "text" : "pack sizeinsamps 1 89" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 118.0, 545.0, 313.0, 22.0 ], + "text" : "fluid.bufcompose~ @source temp @destination pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 188.0, 875.0, 131.0, 22.0 ], + "text" : "7445693." + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "float", "" ], + "patching_rect" : [ 219.0, 832.0, 37.0, 22.0 ], + "text" : "timer" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 194.0, 683.0, 34.0, 22.0 ], + "text" : "t b b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 194.0, 651.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 113.0, 797.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 113.0, 769.0, 941.0, 35.0 ], + "text" : "fluid.bufnmf~ @source pianosource @fftsettings 4096 256 -1 @iterations 100 @bases pno-dicts @components 89 @resynth pno-audio @activations pno-acts @basesmode 1 @resynthmode 1" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 219.0, 218.0, 100.0, 22.0 ], + "text" : "buffer~ pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-57", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 118.0, 442.0, 657.0, 35.0 ], + "text" : "fluid.bufnmf~ @fftsettings 4096 256 -1 @iterations 100 @components 1 @bases temp @numframes 132300 @source pianosource" + } + + } +, { + "box" : { + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "patching_rect" : [ 118.0, 222.0, 59.0, 22.0 ], + "text" : "split 0 87" + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "int", "", "", "int" ], + "patching_rect" : [ 118.0, 189.0, 61.0, 22.0 ], + "text" : "counter" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 130.5, 408.0, 73.0, 22.0 ], + "text" : "pak startat i" + } + + } +, { + "box" : { + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 118.0, 327.0, 59.0, 22.0 ], + "text" : "* 132300" + } + + } +, { + "box" : { + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "bang" ], + "patching_rect" : [ 118.0, 128.0, 44.0, 22.0 ], + "text" : "t b b b" + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "patching_rect" : [ 118.0, 252.0, 29.5, 22.0 ], + "text" : "t i i" + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 118.0, 98.0, 24.0, 24.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-13", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 1 ], + "order" : 0, + "source" : [ "obj-22", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "order" : 1, + "source" : [ "obj-22", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 2 ], + "source" : [ "obj-23", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-23", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "midpoints" : [ 127.5, 600.0, 102.0, 600.0, 102.0, 182.0, 127.5, 182.0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 1 ], + "order" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "source" : [ "obj-9", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 264.0, 168.0, 205.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p prebuildingSingleBasisDictPerNote" + } + + } +, { + "box" : { + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 334.0, 79.0, 801.0, 397.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-6", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 182.0, 316.0, 91.0, 20.0 ], + "text" : "yes, 28minutes" + } + + } +, { + "box" : { + "id" : "obj-3", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 168.0, 109.5, 555.0, 47.0 ], + "text" : "pressing this button started a process of trying to separate in 88 components. Since the seed is random, that was not very helpful. Moreover, the windowsize was too small to capture the fundamentals" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 69.0, 316.0, 107.0, 22.0 ], + "text" : "1643688.375" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "float", "" ], + "patching_rect" : [ 157.0, 264.0, 37.0, 22.0 ], + "text" : "timer" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 132.0, 115.0, 34.0, 22.0 ], + "text" : "t b b" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 132.0, 80.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 51.0, 229.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-2", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 51.0, 199.0, 747.0, 35.0 ], + "text" : "fluid.bufnmf~ @source pianosource @fftsettings 1024 256 2048 @iterations 100 @bases pno-dicts @components 88 @resynth pno-audio @resynthmode 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-13", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 1 ], + "order" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-2", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 38.0, 168.0, 130.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p naiveShotInTheDark" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 38.0, 376.0, 192.0, 22.0 ], + "text" : "format float32, filetype wave, write" + } + + } +, { + "box" : { + "id" : "obj-62", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 38.0, 318.0, 192.0, 22.0 ], + "text" : "format float32, filetype wave, write" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 38.0, 342.0, 105.0, 22.0 ], + "text" : "buffer~ pno-audio" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 38.0, 400.0, 100.0, 22.0 ], + "text" : "buffer~ pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 38.0, 66.0, 345.0, 22.0 ], + "text" : "replace /Users/pa/Desktop/piano-segment-for-nmf-training.wav" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 38.0, 93.0, 117.0, 22.0 ], + "text" : "buffer~ pianosource" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-62", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 279.0, 848.5, 107.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p pianopretraining" + } + + } +, { + "box" : { + "id" : "obj-60", + "maxclass" : "toggle", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 192.0, 392.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.0, 508.0, 34.0, 22.0 ], + "text" : "gate" + } + + } +, { + "box" : { + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 55.0, 372.0, 66.0, 22.0 ], + "text" : "delay 100." + } + + } +, { + "box" : { + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 141.0, 459.0, 24.0, 22.0 ], + "text" : "t 1" + } + + } +, { + "box" : { + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "int" ], + "patching_rect" : [ 141.0, 520.0, 30.0, 22.0 ], + "text" : "t l 0" + } + + } +, { + "box" : { + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 141.0, 494.0, 54.0, 22.0 ], + "text" : "gate 1 1" + } + + } +, { + "box" : { + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 59.0, 104.0, 1514.0, 1057.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "float", "float", "float" ], + "patching_rect" : [ 253.75, 150.0, 69.0, 22.0 ], + "text" : "unpack f f f" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 253.75, 117.0, 116.0, 22.0 ], + "text" : "loadmess 15 20 -50" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 177.0, 665.0, 20.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 216.25, 349.0, 150.0, 20.0 ], + "text" : "rel thresh " + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 460.25, 492.0, 150.0, 20.0 ], + "text" : "abs thresh (about -50)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-70", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patching_rect" : [ 139.25, 190.0, 70.0, 22.0 ], + "text" : "cross~ 250" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-69", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 228.75, 660.0, 63.0, 22.0 ], + "text" : "delay 200" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 207.5, 636.0, 67.0, 22.0 ], + "text" : "onebang 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 388.75, 328.0, 28.0, 20.0 ], + "text" : "-30" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 388.75, 359.0, 28.0, 20.0 ], + "text" : "-40" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 388.75, 391.0, 28.0, 20.0 ], + "text" : "-50" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 388.75, 424.0, 28.0, 20.0 ], + "text" : "-60" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 388.75, 455.0, 28.0, 20.0 ], + "text" : "-70" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 46.5, 328.0, 24.0, 20.0 ], + "text" : "40" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 45.5, 359.0, 24.0, 20.0 ], + "text" : "30" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 45.0, 391.0, 24.0, 20.0 ], + "text" : "20" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 45.0, 424.0, 24.0, 20.0 ], + "text" : "10" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 52.0, 455.0, 19.0, 20.0 ], + "text" : "0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 14.0, + "format" : 6, + "id" : "obj-14", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 216.25, 371.0, 50.0, 24.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 14.0, + "format" : 6, + "id" : "obj-15", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 272.75, 371.0, 50.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "scope~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 63.5, 336.0, 130.0, 130.0 ], + "range" : [ 0.0, 40.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 207.75, 581.0, 150.5, 22.0 ], + "text" : "*~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 330.25, 545.0, 45.0, 22.0 ], + "text" : ">~ -60" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ], + "patching_rect" : [ 207.75, 611.0, 45.0, 22.0 ], + "text" : "edge~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-109", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 207.75, 538.0, 91.0, 22.0 ], + "text" : "thresh~ 10 100" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 190.25, 249.0, 89.0, 22.0 ], + "text" : "slide~ 10 2205" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 190.25, 303.0, 33.0, 22.0 ], + "text" : "-~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 282.25, 275.0, 48.0, 22.0 ], + "text" : "atodb~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 190.25, 275.0, 48.0, 22.0 ], + "text" : "atodb~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 282.25, 249.0, 102.0, 22.0 ], + "text" : "slide~ 4410 4410" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 190.25, 213.0, 37.0, 22.0 ], + "text" : "abs~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 14.0, + "format" : 6, + "id" : "obj-37", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 410.25, 492.0, 50.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-41", + "maxclass" : "scope~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 410.25, 336.0, 130.0, 130.0 ], + "range" : [ -70.0, -30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-11", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 139.25, 130.0, 25.0, 25.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-64", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 207.5, 843.0, 25.0, 25.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-109", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-70", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-109", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-109", 2 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-2", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-2", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 1 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-66", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "order" : 1, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "order" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 1 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 2, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "order" : 1, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "order" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-66", 1 ], + "source" : [ "obj-69", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "source" : [ "obj-70", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-82", 0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-109", 0 ], + "order" : 0, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "order" : 1, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "order" : 1, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "order" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 1 ], + "order" : 2, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "source" : [ "obj-83", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 55.0, 301.0, 216.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p cool amplitude based attack detector" + } + + } +, { + "box" : { + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 353.0, 459.0, 143.0, 22.0 ], + "text" : "vexpr min(($f1 * $f2)\\,0.2)" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-43", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 664.0, 400.0, 81.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 505.0, 424.0, 178.0, 22.0 ], + "text" : "vexpr $f1 > $f2 @scalarmode 1" + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 41.5, 525.0, 60.0, 22.0 ], + "text" : "loadbang" + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 61.5, 603.0, 53.0, 22.0 ], + "text" : "zl group" + } + + } +, { + "box" : { + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 81.5, 573.0, 47.0, 22.0 ], + "text" : "mtof 0." + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ], + "patching_rect" : [ 41.5, 549.0, 59.0, 22.0 ], + "text" : "uzi 88 21" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 40.5, 640.0, 40.0, 22.0 ], + "text" : "zl reg" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "bang", "" ], + "patching_rect" : [ 141.0, 597.0, 30.0, 22.0 ], + "text" : "t b l" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 13.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 124.0, 707.0, 79.0, 23.0 ], + "text" : "prepend set" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 13.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 124.0, 683.0, 47.0, 23.0 ], + "text" : "zl lace" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 4, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 124.0, 732.0, 112.0, 22.0 ], + "text" : "oscbank~ 88 1 512" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 666.0, 593.0, 59.0, 20.0 ], + "text" : "-20 1-" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-10", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 509.0, 347.0, 81.0, 22.0 ] + } + + } +, { + "box" : { + "compatibility" : 1, + "id" : "obj-3", + "maxclass" : "multislider", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "parameter_enable" : 0, + "patching_rect" : [ 718.0, 603.0, 391.0, 158.0 ], + "setminmax" : [ 0.0, 1.0 ], + "size" : 88 + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 353.0, 371.0, 175.0, 22.0 ], + "text" : "vexpr $f1 * $f2 @scalarmode 1" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 27.0, 61.0, 321.0, 22.0 ], + "text" : "loadmess open Tremblay-SA-UprightPianoPedalWide.wav" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "playbar", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "int" ], + "patching_rect" : [ 8.0, 39.0, 320.0, 16.0 ] + } + + } +, { + "box" : { + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 4.0, 770.5, 45.0, 45.0 ] + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "signal", "signal", "bang" ], + "patching_rect" : [ 8.0, 97.0, 59.0, 22.0 ], + "text" : "sfplay~ 2" + } + + } +, { + "box" : { + "compatibility" : 1, + "id" : "obj-5", + "maxclass" : "multislider", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "parameter_enable" : 0, + "patching_rect" : [ 279.0, 603.0, 391.0, 158.0 ], + "setminmax" : [ 0.0, 20.0 ], + "size" : 88 + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 279.0, 153.0, 441.0, 22.0 ], + "text" : "fluid.nmfmatch~ 88 @fftsettings 4096 512 4096 @iterations 10 @bases pno-dicts" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 913.0, 153.0, 186.0, 22.0 ], + "text" : "buffer~ pno-dicts piano-dicts.wav" + } + + } +, { + "box" : { + "id" : "obj-49", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 351.0, 67.0, 37.0, 22.0 ], + "text" : "open" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-42", 0 ], + "order" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "order" : 1, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 1 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-40", 0 ], + "source" : [ "obj-11", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 1 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 1 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "midpoints" : [ 150.5, 633.5, 50.0, 633.5 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "source" : [ "obj-19", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "source" : [ "obj-22", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "source" : [ "obj-22", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "midpoints" : [ 1147.5, 364.5, 1037.5, 364.5 ], + "source" : [ "obj-37", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-36", 0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "order" : 1, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "order" : 3, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "order" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "order" : 2, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 1 ], + "order" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "order" : 1, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 1 ], + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-42", 1 ], + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 1 ], + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-37", 0 ], + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-55", 0 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "order" : 2, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "order" : 1, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 1 ], + "midpoints" : [ 150.5, 580.0, 347.0, 580.0, 347.0, 203.0, 1067.5, 203.0 ], + "order" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 1 ], + "source" : [ "obj-55", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "order" : 1, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "order" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "order" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "order" : 1, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 0, + "source" : [ "obj-7", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "order" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "order" : 1, + "source" : [ "obj-7", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "order" : 1, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 2, + "source" : [ "obj-7", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 2, + "source" : [ "obj-7", 0 ] + } + + } + ], + "dependency_cache" : [ { + "name" : "fluid.buf2list.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufcompose~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufflatten~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufnmf~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufspectralshape~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufstats~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.nmfmatch~.mxo", + "type" : "iLaX" + } + ], + "autosave" : 0, + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } + +} diff --git a/extras/Fluid Corpus Manipulation Toolkit.maxpat b/extras/Fluid Corpus Manipulation Toolkit.maxpat index d4f62f3a..968d7dc7 100644 --- a/extras/Fluid Corpus Manipulation Toolkit.maxpat +++ b/extras/Fluid Corpus Manipulation Toolkit.maxpat @@ -3,8 +3,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -50,8 +50,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -160,13 +160,13 @@ "maxclass" : "bpatcher", "numinlets" : 1, "numoutlets" : 0, - "offset" : [ -1650.0, 0.0 ], + "offset" : [ -825.0, 0.0 ], "patcher" : { "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -394,7 +394,7 @@ "Mapping" : [ "fluid.mlpregressor~", "fluid.knnregressor~", "fluid.kmeans~", "fluid.skmeans~" ], "Dimension Reduction" : [ "fluid.umap~", "fluid.mds~", "fluid.pca~", "fluid.mlpregressor~" ], "Event Detection" : [ "fluid.ampgate~", "fluid.ampslice~", "fluid.noveltyslice~", "fluid.onsetslice~", "fluid.transientslice~" ], - "Audio Analysis" : [ "fluid.ampfeature~", "fluid.chroma~", "fluid.loudness~", "fluid.melbands~", "fluid.mfcc~", "fluid.pitch~", "fluid.noveltyfeature~", "fluid.onsetfeature~", "fluid.pitch~", "fluid.spectralshape~" ] + "Audio Analysis" : [ "fluid.ampfeature~", "fluid.chroma~", "fluid.loudness~", "fluid.melbands~", "fluid.mfcc~", "fluid.pitch~", "fluid.noveltyfeature~", "fluid.onsetfeature~", "fluid.sinefeature~", "fluid.pitch~", "fluid.spectralshape~" ] } , "id" : "obj-87", @@ -433,7 +433,7 @@ "id" : "obj-73", "maxclass" : "live.tab", "num_lines_patching" : 7, - "num_lines_presentation" : 7, + "num_lines_presentation" : 10, "numinlets" : 1, "numoutlets" : 3, "outlettype" : [ "", "", "float" ], @@ -447,9 +447,9 @@ } , "valueof" : { - "parameter_enum" : [ "fluid.bufnmf~", "fluid.sines~", "fluid.transients~", "fluid.hpss~", "fluid.nmfmorph~", "fluid.bufnmfcross~", "fluid.audiotransport~" ], + "parameter_enum" : [ "fluid.ampfeature~", "fluid.chroma~", "fluid.loudness~", "fluid.melbands~", "fluid.mfcc~", "fluid.pitch~", "fluid.noveltyfeature~", "fluid.onsetfeature~", "fluid.pitch~", "fluid.spectralshape~" ], "parameter_longname" : "live.tab[8]", - "parameter_mmax" : 6, + "parameter_mmax" : 9, "parameter_shortname" : "live.tab", "parameter_type" : 2, "parameter_unitstyle" : 9 @@ -640,8 +640,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1085,8 +1085,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1265,8 +1265,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2103,8 +2103,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2305,8 +2305,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2411,10 +2411,10 @@ "maxclass" : "comment", "numinlets" : 1, "numoutlets" : 0, - "patching_rect" : [ 5.0, 195.0, 360.0, 191.0 ], + "patching_rect" : [ 5.0, 195.0, 363.0, 191.0 ], "presentation" : 1, "presentation_linecount" : 11, - "presentation_rect" : [ 5.0, 5.0, 360.0, 191.0 ], + "presentation_rect" : [ 5.0, 5.0, 363.0, 191.0 ], "text" : "Imagine you have a large corpus of sounds that you've collected from a studio session, some outside sound walks or experimenting with a synthesiser on a rainy afternoon. This tutorial teaches you how to build a '2D Corpus Explorer', a patch that will enable you to interrogate and listen to those sounds in a structured manner. The end result is similar to CataRT and AudioStellar in that small segments of your corpus sounds are analysed and mapped to a two-dimensional space that can be explored using your mouse. It will cover topics such as segmentation, analysis, data processing and visualisation.", "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] } @@ -2589,8 +2589,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2921,8 +2921,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3023,15 +3023,15 @@ "fontname" : "Lato", "fontsize" : 14.0, "id" : "obj-90", - "linecount" : 7, + "linecount" : 4, "maxclass" : "comment", "numinlets" : 1, "numoutlets" : 0, - "patching_rect" : [ 5.0, 195.0, 352.0, 124.0 ], + "patching_rect" : [ 5.0, 195.0, 352.0, 74.0 ], "presentation" : 1, - "presentation_linecount" : 7, - "presentation_rect" : [ 5.0, 5.0, 352.0, 124.0 ], - "text" : "Slicing, segmenting, chopping, or dividing. These words all refer to the same type of process in which a sound is separated into 'chunks' or 'slices' across time. Each of these objects embodies a different model of listening for identifying 'slice points'. In other words, different types of change can be measured and used to determine how to segment a sound.", + "presentation_linecount" : 4, + "presentation_rect" : [ 5.0, 5.0, 352.0, 74.0 ], + "text" : "The foundation of many sound corpora workflows is to first analyse the corpus using audio-descriptors. This collection of objects encapsulate several useful algorithms for doing this in realtime and in non-realtime using buffers~.", "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] } @@ -3152,14 +3152,14 @@ "maxclass" : "bpatcher", "numinlets" : 1, "numoutlets" : 1, - "offset" : [ 0.0, 0.0 ], + "offset" : [ -820.0, 0.0 ], "outlettype" : [ "" ], "patcher" : { "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3254,8 +3254,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3446,8 +3446,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3560,7 +3560,7 @@ } , "valueof" : { - "parameter_enum" : [ "fluid.bufaudiotransport~", "fluid.bufnmfcross~" ], + "parameter_enum" : [ "fluid.plotter", "fluid.waveform~" ], "parameter_longname" : "live.tab[35]", "parameter_mmax" : 1, "parameter_shortname" : "live.tab", @@ -3596,7 +3596,7 @@ } , "valueof" : { - "parameter_enum" : [ "fluid.bufcompose~", "fluid.bufscale~", "fluid.bufthresh~", "fluid.bufselect~", "fluid.bufselectevery~", "fluid.bufflatten~", "fluid.buf2list", "fluid.list2buf", "fluid.bufresize" ], + "parameter_enum" : [ "fluid.bufcompose~", "fluid.bufscale~", "fluid.bufthresh~", "fluid.bufselect~", "fluid.bufselectevery~", "fluid.bufflatten~", "fluid.buf2list", "fluid.list2buf" ], "parameter_longname" : "live.tab[36]", "parameter_mmax" : 8, "parameter_shortname" : "live.tab", @@ -3696,8 +3696,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3890,8 +3890,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4320,8 +4320,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4405,23 +4405,23 @@ "id" : "obj-41", "maxclass" : "live.tab", "num_lines_patching" : 11, - "num_lines_presentation" : 11, + "num_lines_presentation" : 12, "numinlets" : 1, "numoutlets" : 3, "outlettype" : [ "", "", "float" ], "parameter_enable" : 1, "patching_rect" : [ 185.0, 28.0, 177.0, 270.0 ], "presentation" : 1, - "presentation_rect" : [ 200.0, 28.0, 198.0, 252.5 ], + "presentation_rect" : [ 200.0, 28.0, 198.0, 275.5 ], "saved_attribute_attributes" : { "activebgoncolor" : { "expression" : "themecolor.live_value_bar" } , "valueof" : { - "parameter_enum" : [ "fluid.bufpitch~", "fluid.bufloudness~", "fluid.bufmelbands~", "fluid.bufmfcc~", "fluid.bufspectralshape~", "fluid.bufchroma~", "fluid.bufnmfseed~", "fluid.bufstft~", "fluid.bufampfeature~", "fluid.bufonsetfeature~", "fluid.bufnoveltyfeature~" ], + "parameter_enum" : [ "fluid.bufpitch~", "fluid.bufloudness~", "fluid.bufmelbands~", "fluid.bufmfcc~", "fluid.bufspectralshape~", "fluid.bufchroma~", "fluid.bufnmfseed~", "fluid.bufstft~", "fluid.bufampfeature~", "fluid.bufonsetfeature~", "fluid.bufnoveltyfeature~", "fluid.bufsinefeature~" ], "parameter_longname" : "live.tab[23]", - "parameter_mmax" : 10, + "parameter_mmax" : 11, "parameter_shortname" : "live.tab", "parameter_type" : 2, "parameter_unitstyle" : 9 @@ -4441,23 +4441,23 @@ "id" : "obj-40", "maxclass" : "live.tab", "num_lines_patching" : 10, - "num_lines_presentation" : 10, + "num_lines_presentation" : 11, "numinlets" : 1, "numoutlets" : 3, "outlettype" : [ "", "", "float" ], "parameter_enable" : 1, "patching_rect" : [ 4.0, 28.0, 179.0, 245.0 ], "presentation" : 1, - "presentation_rect" : [ 0.0, 28.0, 198.0, 229.0 ], + "presentation_rect" : [ 0.0, 28.0, 198.0, 252.5 ], "saved_attribute_attributes" : { "activebgoncolor" : { "expression" : "themecolor.live_value_bar" } , "valueof" : { - "parameter_enum" : [ "fluid.pitch~", "fluid.loudness~", "fluid.melbands~", "fluid.mfcc~", "fluid.spectralshape~", "fluid.chroma~", "fluid.nmfmatch~", "fluid.ampfeature~", "fluid.onsetfeature~", "fluid.noveltyfeature~" ], + "parameter_enum" : [ "fluid.pitch~", "fluid.loudness~", "fluid.melbands~", "fluid.mfcc~", "fluid.spectralshape~", "fluid.chroma~", "fluid.nmfmatch~", "fluid.ampfeature~", "fluid.onsetfeature~", "fluid.noveltyfeature~", "fluid.sinefeature~" ], "parameter_longname" : "live.tab[34]", - "parameter_mmax" : 9, + "parameter_mmax" : 10, "parameter_shortname" : "live.tab", "parameter_type" : 2, "parameter_unitstyle" : 9 @@ -4488,7 +4488,7 @@ ] } , - "patching_rect" : [ 820.0, 0.0, 405.0, 285.0 ], + "patching_rect" : [ 820.0, 0.0, 408.0, 315.0 ], "viewvisibility" : 1 } @@ -4513,8 +4513,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4771,8 +4771,8 @@ "fileversion" : 1, "appversion" : { "major" : 8, - "minor" : 5, - "revision" : 0, + "minor" : 3, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -5794,6 +5794,7 @@ "inherited_shortname" : 1 } , + "dependency_cache" : [ ], "autosave" : 0, "styles" : [ { "name" : "max6box", diff --git a/help/fluid.bufhpss~.maxhelp b/help/fluid.bufhpss~.maxhelp index 0ea86fb9..86417bc0 100644 --- a/help/fluid.bufhpss~.maxhelp +++ b/help/fluid.bufhpss~.maxhelp @@ -4572,7 +4572,7 @@ } , { "box" : { - "args" : [ "bufhpss" ], + "args" : [ "hpss" ], "bgmode" : 0, "border" : 0, "clickthrough" : 0, diff --git a/help/fluid.bufsinefeature~.maxhelp b/help/fluid.bufsinefeature~.maxhelp new file mode 100644 index 00000000..e8736bf2 --- /dev/null +++ b/help/fluid.bufsinefeature~.maxhelp @@ -0,0 +1,1166 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 117.0, 138.0, 766.0, 614.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showrootpatcherontab" : 0, + "showontab" : 0, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patching_rect" : [ 41.0, 106.0, 229.0, 22.0 ], + "text" : "fluid.bufferinterface fluid.bufsinefeature~" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 117.0, 164.0, 766.0, 588.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 2, + "gridsize" : [ 10.0, 10.0 ], + "gridsnaponopen" : 2, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-28", + "linecount" : 7, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 440.0, 340.0, 303.0, 100.0 ], + "text" : "With the default window size of 1024, there are only 2 peaks... this is because the distance between 2 peaks has to be clearly segregated in the FFT world. At the default 1024 and the usual SR of 44100, this is 43Hz per bin, so 440 and 535 are too near each other... if we reprocess with a higher frame size, we get the right values. Run with the fftsetting to 2048: volilà!", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 492.0, 169.0, 39.0, 20.0 ], + "text" : "frame", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 632.0, 168.0, 152.0, 20.0 ], + "text" : "channel: which peak", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 492.0, 306.0, 152.0, 20.0 ], + "text" : "peak magnitude", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 492.0, 276.0, 152.0, 20.0 ], + "text" : "peak frequency", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-16", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 462.0, 140.0, 298.0, 24.0 ], + "text" : "Query a frame for a peak frequency and magnitude" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-15", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 440.0, 140.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "3", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 440.0, 527.0, 167.0, 22.0 ], + "text" : "buffer~ help.sinefeature.mags" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 440.0, 494.0, 165.0, 22.0 ], + "text" : "buffer~ help.sinefeature.freqs" + } + + } +, { + "box" : { + "attr" : "numpeaks", + "id" : "obj-24", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 90.0, 393.5, 150.0, 22.0 ] + } + + } +, { + "box" : { + "attr" : "order", + "id" : "obj-23", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 150.0, 489.5, 170.0, 22.0 ], + "text_width" : 70.0 + } + + } +, { + "box" : { + "id" : "obj-27", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 250.0, 333.5, 155.0, 47.0 ], + "text" : "Same arguments as fluid.bufsines peak detection algorithm", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "attr" : "magunit", + "id" : "obj-10", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 130.0, 459.5, 130.0, 22.0 ], + "text_width" : 69.0 + } + + } +, { + "box" : { + "attr" : "frequnit", + "id" : "obj-8", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 112.5, 429.5, 147.5, 22.0 ], + "text_width" : 64.0 + } + + } +, { + "box" : { + "attr" : "detectionthreshold", + "id" : "obj-7", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 67.5, 363.5, 172.5, 22.0 ], + "text_width" : 122.5 + } + + } +, { + "box" : { + "attr" : "fftsettings", + "displaymode" : 3, + "id" : "obj-6", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 40.0, 333.5, 200.0, 22.0 ], + "text_width" : 74.0 + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-3", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 47.25, 125.0, 247.0, 24.0 ], + "text" : "Play the sound source, a chord of 3 sines" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-2", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 17.25, 125.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-43", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 440.0, 306.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-41", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 440.0, 277.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-39", + "maxclass" : "number", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 440.0, 167.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "id" : "obj-37", + "maxclass" : "number", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 580.0, 167.0, 50.0, 22.0 ] + } + + } +, { + "box" : { + "color" : [ 0.254901960784314, 0.905882352941176, 0.450980392156863, 1.0 ], + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 453.5, 235.0, 163.0, 22.0 ], + "text" : "peek~ help.sinefeature.mags" + } + + } +, { + "box" : { + "color" : [ 0.254901960784314, 0.905882352941176, 0.450980392156863, 1.0 ], + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 440.0, 207.0, 160.0, 22.0 ], + "text" : "peek~ help.sinefeature.freqs" + } + + } +, { + "box" : { + "id" : "obj-32", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 17.25, 155.0, 32.0, 22.0 ], + "text" : "start" + } + + } +, { + "box" : { + "id" : "obj-26", + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 17.25, 212.0, 45.0, 45.0 ] + } + + } +, { + "box" : { + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "patching_rect" : [ 17.25, 182.0, 122.0, 22.0 ], + "text" : "play~ help.threesines" + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 335.0, 547.0, 509.0, 261.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-27", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 27.0, 15.5, 179.0, 20.0 ], + "text" : "makes a 3 sine chord in a buffer", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 119.0, 144.0, 29.5, 22.0 ], + "text" : "* 1." + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 186.0, 86.0, 52.0, 22.0 ], + "text" : "/ 44100." + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 171.0, 48.0, 113.0, 22.0 ], + "text" : "loadmess 6.283185" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 22.0, 216.0, 126.0, 22.0 ], + "text" : "peek~ help.threesines" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 193.0, 216.0, 218.0, 22.0 ], + "text" : "buffer~ help.threesines @samps 44100" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 21.0, 66.0, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 64.0, 175.0, 415.0, 22.0 ], + "text" : "expr (sin($f1 * 440.) * 0.01) + (sin($f1 * 789.) * 0.03) + (sin($f1 * 535.) * 0.02)" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ], + "patching_rect" : [ 22.0, 104.0, 71.0, 22.0 ], + "text" : "uzi 44100 0" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "order" : 1, + "source" : [ "obj-1", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "order" : 0, + "source" : [ "obj-1", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "order" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 1 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 440.0, 464.0, 74.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p threesines" + } + + } +, { + "box" : { + "args" : [ "sinefeature" ], + "bgmode" : 0, + "border" : 0, + "clickthrough" : 0, + "enablehscroll" : 0, + "enablevscroll" : 0, + "id" : "obj-46", + "lockeddragscroll" : 0, + "lockedsize" : 0, + "maxclass" : "bpatcher", + "name" : "fluid.learn.maxpat", + "numinlets" : 0, + "numoutlets" : 0, + "offset" : [ 0.0, 0.0 ], + "patching_rect" : [ 492.0, 10.0, 257.0, 100.0 ], + "viewvisibility" : 1 + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-35", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 176.25, 290.5, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-31", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 43.25, 290.5, 131.0, 24.0 ], + "text" : "Trigger the analysis" + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 17.25, 290.5, 24.0, 24.0 ] + } + + } +, { + "box" : { + "color" : [ 0.254901960784314, 0.905882352941176, 0.450980392156863, 1.0 ], + "id" : "obj-1", + "linecount" : 3, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 40.0, 513.5, 270.0, 49.0 ], + "text" : "fluid.bufsinefeature~ @source help.threesines @frequency help.sinefeature.freqs @magnitude help.sinefeature.mags @maxfftsize 2048" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpdetails.js", + "id" : "obj-5", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.bufsinefeature~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 480.0, 100.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 139.5, 497.0, 49.5, 497.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 26.75, 501.5, 49.5, 501.5 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 159.5, 512.0, 49.5, 512.0 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 99.5, 464.0, 49.5, 464.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 1 ], + "order" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "order" : 1, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-43", 0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 2 ], + "order" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 2 ], + "order" : 1, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-33", 0 ], + "order" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "order" : 1, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 77.0, 449.0, 49.5, 449.0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 122.0, 482.0, 49.5, 482.0 ], + "source" : [ "obj-8", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 14.0, 32.0, 47.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p basic" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patching_rect" : [ 94.0, 160.0, 281.0, 22.0 ], + "text" : "fluid_decomposition.blocking fluid.bufsinefeature~" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 0.0, 26.0, 766.0, 588.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ ], + "lines" : [ ] + } +, + "patching_rect" : [ 377.0, 160.0, 50.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p ?", + "varname" : "q_tab" + } + + } + ], + "lines" : [ ], + "parameters" : { + "obj-5::obj-39" : [ "live.text", "live.text", 0 ], + "parameterbanks" : { + + } +, + "inherited_shortname" : 1 + } +, + "dependency_cache" : [ { + "name" : "fluid.bufferinterface.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.bufferlink.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.bufmfcc~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufnmf~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufsinefeature~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid_decomposition.blocking.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpname.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } + ], + "autosave" : 0, + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } + +} diff --git a/help/fluid.dataset~.maxhelp b/help/fluid.dataset~.maxhelp index 3a7219c9..df895a62 100644 --- a/help/fluid.dataset~.maxhelp +++ b/help/fluid.dataset~.maxhelp @@ -4,13 +4,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 35.0, 88.0, 995.0, 777.0 ], + "rect" : [ 94.0, 120.0, 995.0, 777.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 13.0, @@ -41,6 +41,722 @@ "showontab" : 0, "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 0.0, 26.0, 995.0, 751.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 13.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 2, + "gridsize" : [ 10.0, 10.0 ], + "gridsnaponopen" : 2, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-25", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 438.0, 440.0, 186.0, 23.0 ] + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 438.0, 400.0, 92.0, 23.0 ], + "text" : "route knearest" + } + + } +, { + "box" : { + "id" : "obj-19", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 438.0, 340.0, 151.0, 23.0 ], + "text" : "knearest ds.help.query 9" + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 570.0, 270.0, 197.0, 23.0 ], + "text" : "buffer~ ds.help.query @samps 2" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 440.0, 270.0, 126.0, 23.0 ], + "text" : "peek~ ds.help.query" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "list" ], + "patching_rect" : [ 440.0, 245.0, 71.0, 23.0 ], + "text" : "listfunnel 0" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 440.0, 220.0, 44.0, 23.0 ], + "text" : "pak f f" + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-9", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 510.0, 190.0, 50.0, 23.0 ] + } + + } +, { + "box" : { + "format" : 6, + "id" : "obj-7", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 440.0, 190.0, 50.0, 23.0 ] + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 438.0, 370.0, 174.0, 23.0 ], + "text" : "fluid.dataset~ help.ds.ds.grid" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "fluid.plotter", + "id" : "obj-4", + "maxclass" : "jsui", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "parameter_enable" : 0, + "patching_rect" : [ 32.0, 280.0, 190.0, 190.0 ] + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 70.0, 226.0, 640.0, 480.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 97.0, 206.0, 96.0, 22.0 ], + "text" : "expr ($i1 / 3) / 2." + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 277.0, 200.0, 103.0, 22.0 ], + "text" : "expr ($i1 % 3) / 2." + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 4, + "outlettype" : [ "int", "int", "int", "int" ], + "patching_rect" : [ 84.0, 169.0, 50.5, 22.0 ], + "text" : "t i i i i" + } + + } +, { + "box" : { + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 211.0, 232.0, 150.0, 22.0 ], + "text" : "peek~ help.ds.buffer.grid 2" + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patching_rect" : [ 59.0, 232.0, 150.0, 22.0 ], + "text" : "peek~ help.ds.buffer.grid 1" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 152.0, 122.0, 215.0, 22.0 ], + "text" : "buffer~ help.ds.buffer.grid @samps 9 2" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ], + "patching_rect" : [ 59.0, 139.0, 44.0, 22.0 ], + "text" : "uzi 9 0" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 59.0, 86.0, 58.0, 22.0 ], + "text" : "loadbang" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 1 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "source" : [ "obj-2", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-6", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-6", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 1 ], + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 760.0, 440.0, 112.0, 23.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p source_material" + } + + } +, { + "box" : { + "id" : "obj-14", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 10.0, 62.0, 729.0, 65.0 ], + "text" : "A fluid.dataset~ can be queried with an input point to return the nearest match to that point. Note: This feature is can be computationally expensive on a large dataset, as it needs to compute the distance of the queried point to each point in the dataset. If you need to perform multiple nearest neighbour queries on a fluid.dataset~ it is recommended to use fluid.kdtree~. This facility is most useful with smaller, ephemeral datasets such as those returned by fluid.datasetquery~", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-26", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 416.0, 340.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "3", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-27", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 570.0, 189.0, 151.0, 25.0 ], + "text" : "make a point to query", + "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-22", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 420.0, 190.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "2", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-23", + "maxclass" : "comment", + "numinlets" : 0, + "numoutlets" : 0, + "patching_rect" : [ 591.0, 340.0, 230.0, 25.0 ], + "suppressinlet" : 1, + "text" : "request the 9 nearest neighbourgs", + "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname" : "Arial Bold", + "hint" : "", + "id" : "obj-42", + "ignoreclick" : 1, + "legacytextcolor" : 1, + "maxclass" : "textbutton", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "int" ], + "parameter_enable" : 0, + "patching_rect" : [ 32.0, 132.0, 20.0, 20.0 ], + "rounded" : 60.0, + "text" : "1", + "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + + } +, { + "box" : { + "bubble" : 1, + "id" : "obj-21", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 54.0, 123.5, 178.0, 40.0 ], + "text" : "1) dump the simple grid dataset to see its content", + "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 230.0, 240.0, 74.0, 23.0 ], + "text" : "route dump" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "dict.view", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 230.0, 280.0, 120.0, 190.0 ] + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 32.0, 170.0, 214.0, 23.0 ], + "text" : "frombuffer help.ds.buffer.grid, dump" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 32.0, 200.0, 174.0, 23.0 ], + "text" : "fluid.dataset~ help.ds.ds.grid" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpdetails.js", + "id" : "obj-2", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.dataset~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 290.0, 50.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "midpoints" : [ 196.5, 233.0, 239.5, 233.0 ], + "source" : [ "obj-1", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "order" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "order" : 1, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 1 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 289.0, 411.0, 176.0, 23.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "fontsize" : 13.0, + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p \"nearest neighbour search\"" + } + + } +, { "box" : { "id" : "obj-1", "maxclass" : "newobj", @@ -51,13 +767,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 35.0, 114.0, 995.0, 751.0 ], + "rect" : [ 0.0, 26.0, 995.0, 751.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 13.0, @@ -524,7 +1240,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -628,7 +1344,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -674,7 +1390,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1145,7 +1861,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1203,7 +1919,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1938,7 +2654,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2483,7 +3199,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2582,7 +3298,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3243,7 +3959,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3669,13 +4385,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 995.0, 751.0 ], + "rect" : [ 94.0, 146.0, 995.0, 751.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 13.0, @@ -4426,7 +5142,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4481,6 +5197,68 @@ } ], "lines" : [ ], + "dependency_cache" : [ { + "name" : "fluid.buf2list.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufflatten~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufmfcc~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufspectralshape~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufstats~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.libmanipulation.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.list2buf.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.plotter.js", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/jsui", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/jsui", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpname.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } + ], "autosave" : 0 } diff --git a/help/fluid.kdtree~.maxhelp b/help/fluid.kdtree~.maxhelp index 6dbe618d..ee98465a 100644 --- a/help/fluid.kdtree~.maxhelp +++ b/help/fluid.kdtree~.maxhelp @@ -4,7 +4,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -62,7 +62,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -98,6 +98,31 @@ "showontab" : 1, "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "id" : "obj-4", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 820.0, 563.0, 152.0, 50.0 ], + "presentation_linecount" : 3, + "text" : "This is the computed distance we retrieved with knearestdist", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 820.0, 536.0, 95.0, 23.0 ] + } + + } +, { "box" : { "id" : "obj-5", "maxclass" : "comment", @@ -155,7 +180,7 @@ "numoutlets" : 3, "outlettype" : [ "", "", "int" ], "parameter_enable" : 0, - "patching_rect" : [ 160.0, 340.0, 20.0, 20.0 ], + "patching_rect" : [ 160.0, 380.0, 20.0, 20.0 ], "rounded" : 60.0, "text" : "2", "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] @@ -169,7 +194,7 @@ "maxclass" : "comment", "numinlets" : 1, "numoutlets" : 0, - "patching_rect" : [ 182.0, 338.0, 285.0, 25.0 ], + "patching_rect" : [ 182.0, 378.0, 285.0, 25.0 ], "text" : "Fit a kdtree to the dataset that was just made" } @@ -217,7 +242,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -534,8 +559,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 690.0, 536.0, 50.0, 23.0 ], - "text" : "\"0\"" + "patching_rect" : [ 690.0, 536.0, 50.0, 23.0 ] } } @@ -551,7 +575,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -729,8 +753,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 750.0, 340.0, 151.0, 23.0 ], - "text" : "1. 0." + "patching_rect" : [ 750.0, 340.0, 151.0, 23.0 ] } } @@ -777,8 +800,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 489.0, 536.0, 50.0, 23.0 ], - "text" : "1. 0.2" + "patching_rect" : [ 489.0, 536.0, 50.0, 23.0 ] } } @@ -786,11 +808,11 @@ "box" : { "id" : "obj-37", "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 520.0, 460.0, 92.0, 23.0 ], - "text" : "route knearest" + "numinlets" : 3, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 520.0, 460.0, 165.0, 23.0 ], + "text" : "route knearest knearestdist" } } @@ -813,8 +835,8 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 520.0, 380.0, 76.0, 23.0 ], - "text" : "knearest $2" + "patching_rect" : [ 520.0, 380.0, 172.0, 23.0 ], + "text" : "knearest $2, knearestdist $2" } } @@ -838,7 +860,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 40.0, 340.0, 115.0, 23.0 ], + "patching_rect" : [ 40.0, 380.0, 115.0, 23.0 ], "text" : "fit kdtree.help.2.ds" } @@ -923,7 +945,7 @@ "numinlets" : 1, "numoutlets" : 2, "outlettype" : [ "", "" ], - "patching_rect" : [ 40.0, 380.0, 184.0, 23.0 ], + "patching_rect" : [ 40.0, 420.0, 184.0, 23.0 ], "text" : "fluid.kdtree~ kdtree.help.2.tree" } @@ -1046,6 +1068,14 @@ "source" : [ "obj-31", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "midpoints" : [ 602.5, 488.0, 905.5, 488.0 ], + "source" : [ "obj-37", 1 ] + } + } , { "patchline" : { @@ -1058,7 +1088,7 @@ , { "patchline" : { "destination" : [ "obj-64", 1 ], - "midpoints" : [ 529.5, 491.0, 730.0, 491.0, 730.0, 530.0, 730.5, 530.0 ], + "midpoints" : [ 529.5, 497.0, 730.0, 497.0, 730.0, 530.0, 730.5, 530.0 ], "order" : 0, "source" : [ "obj-37", 0 ] } @@ -1187,7 +1217,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1377,7 +1407,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2378,13 +2408,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 35.0, 113.0, 1055.0, 751.0 ], + "rect" : [ 0.0, 26.0, 1055.0, 751.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 13.0, @@ -2427,7 +2457,7 @@ "numoutlets" : 1, "outlettype" : [ "" ], "patching_rect" : [ 391.0, 461.0, 370.0, 40.0 ], - "text" : "For a relevant tutorial, see here: https://learn.flucoma.org/overviews/2d-sound-browsing-tutorial", + "text" : "For a relevant tutorial, see here: https://learn.flucoma.org/learn/2d-corpus-explorer", "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] } @@ -2453,7 +2483,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2524,7 +2554,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2763,7 +2793,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3209,7 +3239,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3279,7 +3309,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -3618,7 +3648,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4358,7 +4388,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -4421,6 +4451,77 @@ "inherited_shortname" : 1 } , + "dependency_cache" : [ { + "name" : "fluid.buf2list.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufcompose~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.concataudiofiles.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.dsinterface.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.dslink.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.libmanipulation.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.list2buf.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.plotter.js", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/jsui", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/jsui", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpname.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } + ], "autosave" : 0 } diff --git a/help/fluid.labelset~.maxhelp b/help/fluid.labelset~.maxhelp index 62515cf2..46fcba27 100644 --- a/help/fluid.labelset~.maxhelp +++ b/help/fluid.labelset~.maxhelp @@ -4,7 +4,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -51,7 +51,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -531,13 +531,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 853.0, 681.0 ], + "rect" : [ 35.0, 114.0, 853.0, 681.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 13.0, @@ -567,6 +567,30 @@ "showontab" : 1, "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "id" : "obj-12", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 250.0, 341.0, 204.0, 21.0 ], + "text" : "Completely reset a fluid.labelset~.", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 209.0, 340.0, 37.0, 23.0 ], + "text" : "clear" + } + + } +, { "box" : { "id" : "obj-2", "maxclass" : "comment", @@ -618,7 +642,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -725,7 +749,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1106,7 +1130,7 @@ "numinlets" : 2, "numoutlets" : 2, "outlettype" : [ "", "" ], - "patching_rect" : [ 209.0, 395.0, 74.0, 23.0 ], + "patching_rect" : [ 209.0, 405.0, 74.0, 23.0 ], "text" : "route dump" } @@ -1189,8 +1213,8 @@ "maxclass" : "comment", "numinlets" : 1, "numoutlets" : 0, - "patching_rect" : [ 226.5, 307.0, 204.0, 21.0 ], - "text" : "Completely reset a fluid.labelset~.", + "patching_rect" : [ 226.5, 307.0, 343.5, 21.0 ], + "text" : "Print a sample of the fluid.labelset~.in the Max window.", "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] } @@ -1202,8 +1226,8 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 186.0, 305.0, 37.0, 23.0 ], - "text" : "clear" + "patching_rect" : [ 186.0, 305.0, 34.0, 23.0 ], + "text" : "print" } } @@ -1214,7 +1238,7 @@ "numinlets" : 1, "numoutlets" : 2, "outlettype" : [ "", "" ], - "patching_rect" : [ 30.0, 355.0, 198.0, 23.0 ], + "patching_rect" : [ 30.0, 375.0, 198.0, 23.0 ], "text" : "fluid.labelset~ help.labelset.other" } @@ -1230,7 +1254,7 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "midpoints" : [ 113.5, 340.0, 39.5, 340.0 ], + "midpoints" : [ 113.5, 369.0, 39.5, 369.0 ], "source" : [ "obj-11", 0 ] } @@ -1238,7 +1262,7 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "midpoints" : [ 141.5, 340.0, 39.5, 340.0 ], + "midpoints" : [ 141.5, 369.0, 39.5, 369.0 ], "source" : [ "obj-14", 0 ] } @@ -1267,7 +1291,7 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "midpoints" : [ 169.5, 340.0, 39.5, 340.0 ], + "midpoints" : [ 169.5, 369.0, 39.5, 369.0 ], "source" : [ "obj-28", 0 ] } @@ -1275,7 +1299,7 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "midpoints" : [ 195.5, 340.0, 39.5, 340.0 ], + "midpoints" : [ 195.5, 369.0, 39.5, 369.0 ], "source" : [ "obj-4", 0 ] } @@ -1291,10 +1315,18 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "midpoints" : [ 89.5, 340.0, 39.5, 340.0 ], + "midpoints" : [ 89.5, 369.0, 39.5, 369.0 ], "source" : [ "obj-8", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "midpoints" : [ 218.5, 369.5, 39.5, 369.5 ], + "source" : [ "obj-9", 0 ] + } + } ], "styles" : [ { @@ -1373,13 +1405,13 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } , "classnamespace" : "box", - "rect" : [ 35.0, 114.0, 853.0, 681.0 ], + "rect" : [ 0.0, 26.0, 853.0, 681.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 12.0, @@ -1490,7 +1522,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -1969,7 +2001,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2504,7 +2536,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -2558,6 +2590,43 @@ } ], "lines" : [ ], + "dependency_cache" : [ { + "name" : "fluid.bufflatten~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufmfcc~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.bufstats~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.libmanipulation.mxo", + "type" : "iLaX" + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } + ], "autosave" : 0 } diff --git a/help/fluid.onsetfeature~.maxhelp b/help/fluid.onsetfeature~.maxhelp index 00df5543..808dd5c7 100644 --- a/help/fluid.onsetfeature~.maxhelp +++ b/help/fluid.onsetfeature~.maxhelp @@ -4,7 +4,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -51,7 +51,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -87,6 +87,27 @@ "showontab" : 1, "assistshowspatchername" : 0, "boxes" : [ { + "box" : { + "args" : [ "onsetfeature" ], + "bgmode" : 0, + "border" : 0, + "clickthrough" : 0, + "enablehscroll" : 0, + "enablevscroll" : 0, + "id" : "obj-46", + "lockeddragscroll" : 0, + "lockedsize" : 0, + "maxclass" : "bpatcher", + "name" : "fluid.learn.maxpat", + "numinlets" : 0, + "numoutlets" : 0, + "offset" : [ 0.0, 0.0 ], + "patching_rect" : [ 420.0, 10.0, 272.0, 100.0 ], + "viewvisibility" : 1 + } + + } +, { "box" : { "id" : "obj-27", "linecount" : 7, @@ -480,7 +501,7 @@ "appversion" : { "major" : 8, "minor" : 3, - "revision" : 0, + "revision" : 3, "architecture" : "x64", "modernui" : 1 } @@ -592,6 +613,85 @@ "inherited_shortname" : 1 } , + "dependency_cache" : [ { + "name" : "fluid.demosound.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.onsetfeature~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.onsetslice~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.patchpath.js", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/javascript", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/javascript", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpname.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "interfacecolor.js", + "bootpath" : "C74:/interfaces", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } + ], "autosave" : 0, "styles" : [ { "name" : "max6box", diff --git a/help/fluid.sinefeature~.maxhelp b/help/fluid.sinefeature~.maxhelp new file mode 100644 index 00000000..8a751634 --- /dev/null +++ b/help/fluid.sinefeature~.maxhelp @@ -0,0 +1,1326 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 70.0, 130.0, 682.0, 539.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showrootpatcherontab" : 0, + "showontab" : 0, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 0.0, 26.0, 682.0, 513.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 2, + "gridsize" : [ 10.0, 10.0 ], + "gridsnaponopen" : 2, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-21", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 10.0, 108.0, 155.0, 20.0 ], + "text" : "1. Play a sound", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-27", + "linecount" : 6, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 480.0, 258.666666984558105, 158.0, 87.0 ], + "text" : "2. every 'bang' it will sample and resynthesis the 'numpeak' loudest/lowest (depending on 'order') peaks above 'detectionthreshold'", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "attr" : "numpeaks", + "id" : "obj-24", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 300.0, 190.0, 175.0, 22.0 ], + "text_width" : 108.0 + } + + } +, { + "box" : { + "attr" : "order", + "id" : "obj-23", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 320.0, 220.0, 155.0, 22.0 ], + "text_width" : 61.0 + } + + } +, { + "box" : { + "attr" : "detectionthreshold", + "id" : "obj-18", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 280.0, 160.0, 195.0, 22.0 ], + "text_width" : 128.0 + } + + } +, { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 352.666666984558105, 72.0, 22.0 ], + "text" : "prepend set" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "clear" ], + "patching_rect" : [ 181.0, 376.666666984558105, 47.0, 22.0 ], + "text" : "t l clear" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 181.0, 328.666666984558105, 43.0, 22.0 ], + "text" : "zl lace" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "button", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 451.0, 258.666666984558105, 24.0, 24.0 ] + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 256.5, 298.666666984558105, 38.0, 22.0 ], + "text" : "zl reg" + } + + } +, { + "box" : { + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 181.0, 298.666666984558105, 38.0, 22.0 ], + "text" : "zl reg" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 4, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 181.0, 408.666666984558105, 80.0, 22.0 ], + "text" : "ioscbank~ 10" + } + + } +, { + "box" : { + "args" : [ "@file", "Harker-DS-TenOboeMultiphonics-M.wav", "@vol", -10, "@loop", 1 ], + "bgmode" : 0, + "border" : 0, + "clickthrough" : 0, + "enablehscroll" : 0, + "enablevscroll" : 0, + "id" : "obj-14", + "lockeddragscroll" : 0, + "lockedsize" : 0, + "maxclass" : "bpatcher", + "name" : "fluid.demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "offset" : [ 0.0, 0.0 ], + "outlettype" : [ "signal" ], + "patching_rect" : [ 10.0, 130.0, 223.0, 122.0 ], + "viewvisibility" : 1 + } + + } +, { + "box" : { + "id" : "obj-11", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 10.0, 450.0, 45.0, 45.0 ] + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 200.0, 260.666666984558105, 170.0, 22.0 ], + "text" : "fluid.sinefeature~ 10 @order 1" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpdetails.js", + "id" : "obj-5", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.sinefeature~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 382.0, 75.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 1 ], + "order" : 1, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "order" : 2, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 19.5, 255.833333492279053, 209.5, 255.833333492279053 ], + "order" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "midpoints" : [ 218.5, 403.166666984558105, 190.5, 403.166666984558105 ], + "source" : [ "obj-16", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 289.5, 250.166666984558105, 209.5, 250.166666984558105 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 329.5, 250.166666984558105, 209.5, 250.166666984558105 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 309.5, 249.666666984558105, 209.5, 249.666666984558105 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 1 ], + "midpoints" : [ 190.5, 439.833333492279053, 45.5, 439.833333492279053 ], + "order" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "midpoints" : [ 190.5, 439.833333492279053, 19.5, 439.833333492279053 ], + "order" : 1, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 1 ], + "source" : [ "obj-4", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 1 ], + "midpoints" : [ 266.0, 324.166666984558105, 214.5, 324.166666984558105 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "midpoints" : [ 460.5, 290.166666984558105, 190.5, 290.166666984558105 ], + "order" : 1, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "midpoints" : [ 460.5, 290.166666984558105, 266.0, 290.166666984558105 ], + "order" : 0, + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 67.0, 100.0, 126.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p \"a musical example\"", + "varname" : "musical example[2]" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 70.0, 156.0, 682.0, 513.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 2, + "gridsize" : [ 10.0, 10.0 ], + "gridsnaponopen" : 2, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "border" : 0, + "filename" : "helpargs.js", + "id" : "obj-1", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.sinefeature~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 1, + "patching_rect" : [ 434.0, 324.0, 200.49951171875, 39.0 ], + "varname" : "jsui" + } + + } +, { + "box" : { + "attr" : "numpeaks", + "id" : "obj-24", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 310.0, 190.0, 150.0, 22.0 ] + } + + } +, { + "box" : { + "attr" : "order", + "id" : "obj-23", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 370.0, 286.0, 170.0, 22.0 ], + "text_width" : 70.0 + } + + } +, { + "box" : { + "id" : "obj-22", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 283.5, 387.0, 152.0, 20.0 ], + "text" : "peak magnitudes", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-21", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 110.0, 388.5, 171.5, 22.0 ], + "text" : "0.050369 0.101661 0. 0." + } + + } +, { + "box" : { + "id" : "obj-20", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 90.0, 356.0, 171.5, 22.0 ], + "text" : "440.644755 789.676663 0. 0." + } + + } +, { + "box" : { + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 20.0, 220.0, 29.5, 22.0 ], + "text" : "+~" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "signal", "signal", "" ], + "patching_rect" : [ 46.0, 324.0, 168.0, 22.0 ], + "text" : "fluid.sines~ @maxfftsize 2048" + } + + } +, { + "box" : { + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 90.0, 190.0, 40.0, 22.0 ], + "text" : "*~ 0.1" + } + + } +, { + "box" : { + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 20.0, 190.0, 47.0, 22.0 ], + "text" : "*~ 0.05" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 90.0, 160.0, 66.0, 22.0 ], + "text" : "cycle~ 789" + } + + } +, { + "box" : { + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 20.0, 160.0, 66.0, 22.0 ], + "text" : "cycle~ 440" + } + + } +, { + "box" : { + "args" : [ "sinefeature" ], + "bgmode" : 0, + "border" : 0, + "clickthrough" : 0, + "enablehscroll" : 0, + "enablevscroll" : 0, + "id" : "obj-46", + "lockeddragscroll" : 0, + "lockedsize" : 0, + "maxclass" : "bpatcher", + "name" : "fluid.learn.maxpat", + "numinlets" : 0, + "numoutlets" : 0, + "offset" : [ 0.0, 0.0 ], + "patching_rect" : [ 410.0, 10.0, 257.0, 100.0 ], + "viewvisibility" : 1 + } + + } +, { + "box" : { + "id" : "obj-27", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 470.0, 130.0, 155.0, 47.0 ], + "text" : "Same arguments as fluid.sines peak detection algorithm", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 283.5, 357.0, 152.0, 20.0 ], + "text" : "peak frequencies", + "textcolor" : [ 0.501960784313725, 0.501960784313725, 0.501960784313725, 1.0 ] + } + + } +, { + "box" : { + "id" : "obj-11", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 20.0, 380.0, 45.0, 45.0 ] + } + + } +, { + "box" : { + "attr" : "magunit", + "id" : "obj-10", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 350.0, 256.0, 130.0, 22.0 ], + "text_width" : 69.0 + } + + } +, { + "box" : { + "attr" : "frequnit", + "id" : "obj-8", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 332.5, 226.0, 147.5, 22.0 ], + "text_width" : 64.0 + } + + } +, { + "box" : { + "attr" : "detectionthreshold", + "id" : "obj-7", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 287.5, 160.0, 172.5, 22.0 ], + "text_width" : 122.5 + } + + } +, { + "box" : { + "attr" : "fftsettings", + "displaymode" : 3, + "id" : "obj-6", + "maxclass" : "attrui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 260.0, 130.0, 200.0, 22.0 ], + "text_width" : 72.0 + } + + } +, { + "box" : { + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 222.5, 324.0, 210.0, 22.0 ], + "text" : "fluid.sinefeature~ 4 @maxfftsize 2048" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpdetails.js", + "id" : "obj-5", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.sinefeature~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 422.5, 100.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 359.5, 317.5, 232.0, 317.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 1 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "order" : 2, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "midpoints" : [ 29.5, 282.5, 55.5, 282.5 ], + "order" : 1, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 29.5, 282.5, 232.0, 282.5 ], + "order" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 379.5, 317.5, 232.0, 317.5 ], + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 319.5, 317.5, 232.0, 317.5 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "midpoints" : [ 327.5, 350.75, 272.0, 350.75 ], + "source" : [ "obj-4", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "midpoints" : [ 269.5, 253.5, 55.5, 253.5 ], + "order" : 1, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 269.5, 317.0, 232.0, 317.0 ], + "order" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "midpoints" : [ 297.0, 252.5, 55.5, 252.5 ], + "order" : 1, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 297.0, 317.0, 232.0, 317.0 ], + "order" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "midpoints" : [ 342.0, 317.0, 232.0, 317.0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } +, + "patching_rect" : [ 10.0, 100.0, 55.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p basic", + "varname" : "musical example[1]" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 3, + "revision" : 3, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 0.0, 26.0, 682.0, 513.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "showontab" : 1, + "assistshowspatchername" : 0, + "boxes" : [ ], + "lines" : [ ] + } +, + "patching_rect" : [ 195.0, 100.0, 50.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p ?", + "varname" : "q_tab" + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpname.js", + "id" : "obj-13", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.bufnoveltyslice~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 455.02398681640625, 57.599853515625 ] + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpname.js", + "id" : "obj-4", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.bufnoveltyslice~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 455.02398681640625, 57.599853515625 ] + } + + } +, { + "box" : { + "border" : 0, + "filename" : "helpname.js", + "id" : "obj-7", + "ignoreclick" : 1, + "jsarguments" : [ "fluid.bufnoveltyslice~" ], + "maxclass" : "jsui", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "parameter_enable" : 0, + "patching_rect" : [ 10.0, 10.0, 455.02398681640625, 57.599853515625 ] + } + + } + ], + "lines" : [ ], + "parameters" : { + "obj-1::obj-1" : [ "jsui", "jsui", 0 ], + "obj-2::obj-14::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-2::obj-14::obj-35" : [ "[5]", "Level", 0 ], + "parameterbanks" : { + "0" : { + "index" : 0, + "name" : "", + "parameters" : [ "-", "-", "-", "-", "-", "-", "-", "-" ] + } + + } +, + "inherited_shortname" : 1 + } +, + "dependency_cache" : [ { + "name" : "fluid.demosound.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.flucomaorg.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.learn.maxpat", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/patchers", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/patchers", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "fluid.patchpath.js", + "bootpath" : "~/Documents/documents@hudd/research/projects/fluid corpus navigation/research/nightly_builds/Max/FluidCorpusManipulation/javascript", + "patcherrelativepath" : "../../nightly_builds/Max/FluidCorpusManipulation/javascript", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "fluid.sinefeature~.mxo", + "type" : "iLaX" + } +, { + "name" : "fluid.sines~.mxo", + "type" : "iLaX" + } +, { + "name" : "helpargs.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpdetails.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "helpname.js", + "bootpath" : "C74:/help/resources", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "interfacecolor.js", + "bootpath" : "C74:/interfaces", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "C74:/media/max/picts/m4l-picts", + "type" : "svg", + "implicit" : 1 + } + ], + "autosave" : 0, + "styles" : [ { + "name" : "max6box", + "default" : { + "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6inlet", + "default" : { + "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } +, { + "name" : "max6message", + "default" : { + "bgfillcolor" : { + "angle" : 270.0, + "autogradient" : 0, + "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion" : 0.39, + "type" : "gradient" + } +, + "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] + } +, + "parentstyle" : "max6box", + "multi" : 0 + } +, { + "name" : "max6outlet", + "default" : { + "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] + } +, + "parentstyle" : "", + "multi" : 0 + } + ] + } + +} diff --git a/local_docs/fluid.plotter.maxref.xml b/local_docs/fluid.plotter.maxref.xml index 2a3210c4..3e8cbce8 100644 --- a/local_docs/fluid.plotter.maxref.xml +++ b/local_docs/fluid.plotter.maxref.xml @@ -153,6 +153,17 @@ There is also an 'advanced' interface that allows the user to specify the coordi + + + + + + + + + Emphasises the given identifier's points in the plot. Any number of identifiers as a list of symbols can be provided. + + diff --git a/patchers/fluid_decomposition.blocking.maxpat b/patchers/fluid_decomposition.blocking.maxpat index 03ffe07c..8040785c 100644 --- a/patchers/fluid_decomposition.blocking.maxpat +++ b/patchers/fluid_decomposition.blocking.maxpat @@ -328,7 +328,7 @@ "numinlets" : 1, "numoutlets" : 0, "patching_rect" : [ 10.0, 69.599853999999993, 255.0, 21.0 ], - "text" : "Choose with thread to use for processing" + "text" : "Choose which thread to use for processing" } } diff --git a/source/include/FluidMaxWrapper.hpp b/source/include/FluidMaxWrapper.hpp index 8004ba2c..bd57e77e 100644 --- a/source/include/FluidMaxWrapper.hpp +++ b/source/include/FluidMaxWrapper.hpp @@ -24,6 +24,8 @@ under the European Union’s Horizon 2020 research and innovation programme #include #include +#include + #include "MaxBufferAdaptor.hpp" #include @@ -117,12 +119,14 @@ class RealTime x->perform(dsp64, ins, numins, outs, numouts, vec_size, flags, userparam); } - void dsp(t_object* dsp64, short* count, double samplerate, - long /*maxvectorsize*/, long /*flags*/) + void dsp(t_object* dsp64, short* count, double samplerate, long maxvectorsize, + long /*flags*/) { Wrapper* wrapper = static_cast(this); + mContext = FluidContext(maxvectorsize, FluidDefaultAllocator()); if (!Wrapper::template IsModel_t::value) - wrapper->mClient = typename Wrapper::ClientType{wrapper->mParams}; + wrapper->mClient = + typename Wrapper::ClientType{wrapper->mParams, mContext}; auto& client = wrapper->client(); @@ -154,12 +158,16 @@ class RealTime : clock_new((t_object*) wrapper, (method) doControlOut); mTick.clear(); - mControlOutputs.resize(asUnsigned(client.maxControlChannelsOut())); - - mOutputs.clear(); - mOutputs.emplace_back(mControlOutputs.data(),0,mControlOutputs.size()); - mControlAtoms.resize(asUnsigned(client.maxControlChannelsOut())); - + mControlOutputs.resize(client.controlChannelsOut().count, + client.maxControlChannelsOut()); + mControlAtoms.resize(client.controlChannelsOut().count, + client.maxControlChannelsOut()); + + mOutputs.clear(); + for (index i = 0; i < client.controlChannelsOut().count; ++i) + { + mOutputs.emplace_back(mControlOutputs.row(i)); + } } if(!(client.controlChannelsIn() > 0)) @@ -197,11 +205,15 @@ class RealTime { Wrapper* w = static_cast(this); auto& client = w->client(); - atom_setdouble_array( - static_cast(client.controlChannelsOut().size), mControlAtoms.data(), - static_cast(client.controlChannelsOut().size), mControlOutputs.data()); - w->controlOut(static_cast(client.controlChannelsOut().size), - mControlAtoms.data()); + index listSize = static_cast(client.controlChannelsOut().size); + for (index i = 0; i < client.controlChannelsOut().count; ++i) + { + atom_setdouble_array( + listSize, mControlAtoms[i].data(), + listSize, mControlOutputs[i].data()); + w->controlOut(i, listSize, + mControlAtoms[i].data()); + } mTick.clear(); } @@ -249,8 +261,8 @@ class RealTime std::vector mOutputs; std::vector audioInputConnections; std::vector audioOutputConnections; - std::vector mControlOutputs; - std::vector mControlAtoms; + FluidTensor mControlOutputs; + FluidTensor mControlAtoms; void* mControlClock; std::atomic_flag mTick; FluidContext mContext; @@ -369,24 +381,28 @@ struct NonRealTime static void deferProcess(Wrapper* x) { - x->mClient.enqueue(x->mParams); - - if (x->mSynchronous != 2) + auto r = x->mClient.enqueue(x->mParams); + if (r.ok()) { - if(x->mSynchronous == 0) + if (x->mSynchronous != 2) { - t_box *b; - t_max_err err = object_obex_lookup((t_object*)x, gensym("#B"), (t_object **)&b); - if(!err) - object_method(b, gensym("startprogress"),&x->mProgress); + if (x->mSynchronous == 0) + { + t_box* b; + t_max_err err = + object_obex_lookup((t_object*) x, gensym("#B"), (t_object**) &b); + if (!err) object_method(b, gensym("startprogress"), &x->mProgress); + } + + defer(x, (method) &callProcess, nullptr, 0, nullptr); + } + else + { + callProcess(x, nullptr, 0, nullptr); } - - defer(x, (method) &callProcess, nullptr, 0, nullptr); } else - { - callProcess(x, nullptr, 0, nullptr); - } + Wrapper::printResult(x, r); } static void callProcess(Wrapper* x, t_symbol*, short, t_atom*) @@ -636,7 +652,7 @@ class FluidMaxWrapper template static constexpr auto makeValue() { - return Client::getParameterDescriptors().template makeValue(); + return Client::getParameterDescriptors().template makeValue(FluidDefaultAllocator()); } bool checkResult(Result& res) @@ -712,7 +728,7 @@ class FluidMaxWrapper template struct Fetcher { - std::string operator()(const long ac, t_atom* av, long& currentCount) + rt::string operator()(const long ac, t_atom* av, long& currentCount) { auto defaultValue = paramDescriptor().defaultValue; return {currentCount < ac ? atom_getsym(av + currentCount++)->s_name @@ -726,12 +742,12 @@ class FluidMaxWrapper struct ParamAtomConverter { - static std::string getString(t_atom* a) + static rt::string getString(t_atom* a) { switch (atom_gettype(a)) { - case A_LONG: return std::to_string(atom_getlong(a)); - case A_FLOAT: return std::to_string(atom_getfloat(a)); + case A_LONG: return rt::string{std::to_string(atom_getlong(a))}; + case A_FLOAT: return rt::string{std::to_string(atom_getfloat(a))}; default: return {atom_getsym(a)->s_name}; } } @@ -766,9 +782,10 @@ class FluidMaxWrapper return InputBufferT::type(new MaxBufferAdaptor(x, atom_getsym(a))); } - static auto fromAtom(t_object*, t_atom* a, StringT::type) + template + static auto fromAtom(t_object*, t_atom* a, std::basic_string, Allocator>) { - return getString(a); + return std::basic_string, Allocator>{getString(a)}; } template @@ -803,12 +820,14 @@ class FluidMaxWrapper atom_setsym(a, b ? b->name() : nullptr); } - static auto toAtom(t_atom* a, StringT::type v) + template + static auto toAtom(t_atom* a, std::basic_string,Allocator> v) { atom_setsym(a, gensym(v.c_str())); } - static auto toAtom(t_atom* a, FluidTensor v) + template + static auto toAtom(t_atom* a, FluidTensor,Allocator>, 1> v) { for (auto& s : v) atom_setsym(a++, gensym(s.c_str())); } @@ -836,7 +855,7 @@ class FluidMaxWrapper } template - static void toAtom(t_atom* a, std::tuple&& x, + static void toAtom(t_atom* a, std::tuple const& x, std::index_sequence, std::array offsets) { @@ -929,63 +948,95 @@ class FluidMaxWrapper return MAX_ERR_NONE; } }; - + template - struct Setter + struct Setter { - static t_max_err set(FluidMaxWrapper* x, t_object*, long ac, t_atom* av) + static t_max_err set(FluidMaxWrapper* x, t_object*, long ac, + t_atom* av) { if (!ac) return MAX_ERR_NONE; while (x->mInPerform) {} x->messages().reset(); - auto& a = x->params().template get(); - - if(!x->mInitialized) - x->params().template set(LongRuntimeMaxParam(atom_getlong(av), a.maxRaw()), - x->verbose() ? &x->messages() : nullptr); + + /// Possible scenarios to cope with; + /// 1. object is not yet initialized (i.e @something in the box vs setter + /// being called from outside world + /// 2. initial value could already have been set by argument for 'primary' + /// params: attribute-in-box should 'win' in that case? + /// 3. clients will need to call max() in constructors, so constraints + /// that can increase the value for some need to be applied ASAP + /// 4. for in-box attribute user can pass list (initial, max): if only one + /// is present, then this becomes both initial and max UNLESS max set by + /// argument is bigger + + auto a = x->params().template get(); + + if (!x->mInitialized) + { + index val = atom_getlong(av); + index incomingMax = + std::max(a.maxRaw(), atom_getlong(ac > 1 ? av + 1 : av)); + incomingMax = std::max(val, incomingMax); + incomingMax = x->params().template applyConstraintToMax(incomingMax); + a = LongRuntimeMaxParam(val, incomingMax); + } else - x->params().template set(LongRuntimeMaxParam(atom_getlong(av), a.max()), + { + a = LongRuntimeMaxParam(atom_getlong(av), a.max()); + } + + x->params().template set(std::move(a), x->verbose() ? &x->messages() : nullptr); - -// x->params().template constrain() - printResult(x, x->messages()); - object_attr_touch((t_object*) x, gensym("latency")); return MAX_ERR_NONE; } }; - + template - struct Setter + struct Setter { - static t_max_err set(FluidMaxWrapper* x, t_object*, long ac, t_atom* av) + static t_max_err set(FluidMaxWrapper* x, t_object*, long ac, + t_atom* av) { if (!ac) return MAX_ERR_NONE; while (x->mInPerform) {} x->messages().reset(); auto& a = x->params().template get(); - - std::array defaults{1024,-1,-1}; + + std::array values{a.winSize(), a.hopRaw(), a.fftRaw(), + a.maxRaw()}; + for (index i = 0; i < 3 && i < static_cast(ac); i++) - defaults[i] = ParamAtomConverter::fromAtom((t_object*) x, av + i, defaults[0]); - - if(!x->mInitialized) - a = FFTParams(defaults[0], defaults[1], defaults[2], a.maxRaw()); + values[i] = + ParamAtomConverter::fromAtom((t_object*) x, av + i, values[0]); + + if (!x->mInitialized) + { + if (ac > 3) + { + values[3] = std::max( + {values[0], values[2], values[3], atom_getlong(av + 3)}); + } + a = FFTParams(values[0], values[1], values[2], values[3]); + } else - x->params().template set(FFTParams(defaults[0], defaults[1], defaults[2], a.max()), + { + a.setWin(values[0]); + a.setHop(values[1]); + a.setFFT(values[2]); + } + + a = x->params().template applyConstraintsTo(a); + x->params().template set(std::move(a), x->verbose() ? &x->messages() : nullptr); - -// x->params().template constrain() - - printResult(x, x->messages()); + printResult(x, x->messages()); object_attr_touch((t_object*) x, gensym("latency")); return MAX_ERR_NONE; } }; - - template struct Setter @@ -1124,8 +1175,8 @@ class FluidMaxWrapper for (index i = 0, arg = 0; i < desc.numOptions; i++) { - if(a[i]) - ParamAtomConverter::toAtom(*av + arg++,desc.strings[i]); + if (a[i]) + ParamAtomConverter::toAtom(*av + arg++, std::string{desc.strings[i]}); } return MAX_ERR_NONE; @@ -1185,9 +1236,9 @@ class FluidMaxWrapper static constexpr index NumOutputBuffers = ParamDescType::template NumOfType; FluidMaxWrapper(t_symbol*, long ac, t_atom* av) - : mListSize{32}, mMessages{}, mParams(Client::getParameterDescriptors()), - mParamSnapshot{mParams.toTuple()}, - mClient{initParamsFromArgs(ac, av)}, mDumpDictionary{nullptr} + : mListSize{32}, mUserMessageQueue{}, mParams(Client::getParameterDescriptors(), FluidDefaultAllocator()), + mParamSnapshot{mParams.toTuple()}, mAutosize{true}, + mClient{initParamsFromArgs(ac, av), FluidContext()}, mDumpDictionary{nullptr} { if (mClient.audioChannelsIn()) { @@ -1200,7 +1251,6 @@ class FluidMaxWrapper //TODO: this implicitly assumes no audio in? if (index controlInputs = mClient.controlChannelsIn()) { - mAutosize = true; if(mListSize) { mInputListData.resize(controlInputs, mListSize); @@ -1280,21 +1330,17 @@ class FluidMaxWrapper }); - while (mMessages.size() > 0) + while (mUserMessageQueue.size() > 0) { - printResult(this, mMessages.front(), true); - mMessages.pop_front(); + printResult(this, mUserMessageQueue.front(), true); + mUserMessageQueue.pop_front(); } - auto results = mParams.keepConstrained(true); mParamSnapshot = mParams.toTuple(); - for (auto& r : results) printResult(this, r); - object_obex_store(this, gensym("dumpout"), (t_object*) outlet_new(this, nullptr)); - - + //how many non-signal outlets do we need? index numDataOutlets = std::max({NumOutputBuffers,mClient.controlChannelsOut().count, Client::getMessageDescriptors().size() > 0 @@ -1307,14 +1353,17 @@ class FluidMaxWrapper if (mClient.controlChannelsOut().count) { - if(mListSize) + index outputSize = mClient.controlChannelsOut().max > -1 + ? mClient.controlChannelsOut().max + : mListSize; + + if (outputSize) { - mOutputListData.resize(mClient.controlChannelsOut().count, mListSize); - mOutputListAtoms.reserve(mListSize); + mOutputListData.resize(mClient.controlChannelsOut().count, outputSize); + mOutputListAtoms.reserve(outputSize); for (index i = 0; i < mClient.controlChannelsOut().count; ++i) mOutputListViews.emplace_back(mOutputListData.row(i)); } - mControlOutlet = mDataOutlets[0]; } for (index i = 0; i < mClient.audioChannelsOut(); ++i) @@ -1402,9 +1451,9 @@ class FluidMaxWrapper }); } - void controlOut(long ac, t_atom* av) + void controlOut(long outletIndex, long ac, t_atom* av) { - outlet_list(mControlOutlet, nullptr, static_cast(ac), av); + outlet_list(mDataOutlets[outletIndex], nullptr, static_cast(ac), av); } static void* create(t_symbol* sym, long ac, t_atom* av) @@ -1433,7 +1482,7 @@ class FluidMaxWrapper getClass(class_new(className, (method) create, (method) destroy, sizeof(FluidMaxWrapper), 0, A_GIMME, 0)); WrapperBase::setup(getClass()); - + if (isControlIn) { class_addmethod(getClass(), (method) handleList, "list", A_GIMME, 0); @@ -1442,7 +1491,7 @@ class FluidMaxWrapper class_addattr(getClass(), a); CLASS_ATTR_FILTER_CLIP(getClass(), "autosize", 0, 1); CLASS_ATTR_STYLE_LABEL(getClass(), "autosize", 0, "onoff", - "Report Warnings"); + "Set auto size for list output"); } @@ -1514,14 +1563,18 @@ class FluidMaxWrapper { mInputListViews.emplace_back(mInputListData.row(i)); } - mOutputListData.resize(mClient.controlChannelsOut().count,mListSize); - mOutputListAtoms.reserve(mListSize); + + index outputSize = mClient.controlChannelsOut().size > -1 + ? mClient.controlChannelsOut().size + : mListSize; + + mOutputListData.resize(mClient.controlChannelsOut().count, outputSize); + mOutputListAtoms.reserve(outputSize); mOutputListViews.clear(); for (index i = 0; i < mClient.controlChannelsOut().count; ++i) { mOutputListViews.emplace_back(mOutputListData.row(i)); } - } } @@ -1570,8 +1623,8 @@ class FluidMaxWrapper static void doSharedClientRefer(FluidMaxWrapper* x, t_symbol* newName) { - std::string name(newName->s_name); - if (std::string(name) != x->mParams.template get<0>()) + rt::string name(newName->s_name); + if (name != x->mParams.template get<0>()) { // auto newParams = ParamSetType(Client::getParameterDescriptors()); Result r = x->mParams.lookup(name); @@ -1580,7 +1633,7 @@ class FluidMaxWrapper Client::getParameterDescriptors().template iterate( x, x->mParams); x->mParams.refer(name); - x->mClient = Client(x->mParams); + x->mClient = Client(x->mParams, FluidContext()); Client::getParameterDescriptors().template iterate( x, x->mParams); } @@ -1707,28 +1760,34 @@ class FluidMaxWrapper } auto r1 = mParams.setPrimaryParameterValues(true, - [](auto idx, long ac, t_atom* av, long& currentCount) + [this](auto idx, long ac, t_atom* av, long& currentCount) { auto defaultValue = paramDescriptor().defaultValue; - - if constexpr (std::is_same,LongRuntimeMaxParam>()) + + if constexpr (std::is_same, + LongRuntimeMaxParam>()) { - index val = currentCount < ac ? atom_getlong(av + currentCount++) : defaultValue(); - return LongRuntimeMaxParam{val,-1}; + index val = currentCount < ac ? atom_getlong(av + currentCount++) + : defaultValue(); + val = mParams.template applyConstraintToMax(val); + return LongRuntimeMaxParam{val, val}; } else { - return currentCount < ac ? atom_getlong(av + currentCount++) : defaultValue; + return currentCount < ac ? atom_getlong(av + currentCount++) + : defaultValue; } }, numArgs,av,argCount); - for (auto& r : r1) mMessages.push_back(r); + for (auto& r : r1) mUserMessageQueue.push_back(r); auto results = mParams.template setFixedParameterValues( true, numArgs, av, argCount); - for (auto& r : results) mMessages.push_back(r); + for (auto& r : results) mUserMessageQueue.push_back(r); } // process in-box attributes for mutable params attr_args_process((t_object*) this, static_cast(ac), av); + auto results = mParams.keepConstrained(true); + for (auto& r : results) mUserMessageQueue.push_back(r); // return params so this can be called in client initaliser return mParams; } @@ -1859,14 +1918,14 @@ class FluidMaxWrapper } template