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 class Tensor, typename T>
- static size_t ResultSize(Tensor&& x)
+ static size_t ResultSize(Tensor const& x)
{
return static_cast>(x).size();
}
template
static std::tuple, size_t>
- ResultSize(std::tuple&& x, std::index_sequence)
+ ResultSize(std::tuple const& x, std::index_sequence)
{
size_t size = 0;
std::array offsets;
@@ -1886,21 +1945,24 @@ class FluidMaxWrapper
outlet_anything(x->mDataOutlets[0],s,static_cast(resultSize), out.data());
}
- template
- static void messageOutput(FluidMaxWrapper* x, t_symbol* s, std::vector& outputTokens,
- MessageResult> r)
+ template
+ static std::enable_if_t::value>
+ messageOutput(FluidMaxWrapper* x, t_symbol* s,
+ std::vector& outputTokens, MessageResult r)
{
- auto indices = std::index_sequence_for();
- size_t resultSize;
- std::array offsets;
- std::tie(offsets, resultSize) =
- ResultSize(static_cast>(r), indices);
+ constexpr auto N = std::tuple_size_v;
+ auto indices = std::make_index_sequence();
+
+ size_t resultSize;
+ std::array offsets;
+ std::tie(offsets, resultSize) = ResultSize(r.value(), indices);
resultSize += outputTokens.size();
std::vector out(resultSize);
- std::copy_n(outputTokens.begin(), outputTokens.size(),out.begin());
- ParamAtomConverter::toAtom(out.data() + outputTokens.size(), static_cast>(r),
+ std::copy_n(outputTokens.begin(), outputTokens.size(), out.begin());
+ ParamAtomConverter::toAtom(out.data() + outputTokens.size(), r.value(),
indices, offsets);
- outlet_anything(x->mDataOutlets[0],s,static_cast(resultSize), out.data());
+ outlet_anything(x->mDataOutlets[0], s, static_cast(resultSize),
+ out.data());
}
static void messageOutput(FluidMaxWrapper* x, t_symbol* s, std::vector& outputTokens,
@@ -2051,10 +2113,11 @@ class FluidMaxWrapper
object_obex_dumpout(x, gensym("load"), 0, nullptr);
}
- static void updateParams(FluidMaxWrapper* x,
- MessageResult v)
+ static void
+ updateParams(FluidMaxWrapper* x,
+ MessageResult const& v)
{
- x->mParams.fromTuple(typename ParamSetType::ValueTuple(v));
+ x->mParams.fromTuple(typename ParamSetType::ValueTuple(v.value()));
}
static void updateParams(FluidMaxWrapper*, MessageResult) {}
@@ -2220,9 +2283,6 @@ class FluidMaxWrapper
template
static void doWrite(FluidMaxWrapper* x, t_symbol* s)
{
- // t_fourcc filetype = FOUR_CHAR_CODE('JSON');
- //
- // t_fourcc outtype;
char filename[MAX_PATH_CHARS];
short path;
char fullpath[MAX_PATH_CHARS];
@@ -2303,24 +2363,47 @@ class FluidMaxWrapper
void decorateAttr(const LongRuntimeMaxT& attr, std::string name)
{
+ /// Apparently we need to be able to specify max attributes *in the box* only as their own
+ /// `@max` as well as part of a list attached to the main attribute.
+ /// This is pretty hairy and makes me sad, given that the logic for this is already over-complex.
+ /// Basically, policy is that the biggest proposed maximum 'wins' (think this is safest and easist to enforce)
std::string maxName = "max" + name;
std::string maxLabel = std::string("Maximum ") + attr.displayName;
using stype = t_max_err(*)(FluidMaxWrapper* x, t_object*, long ac, t_atom* av);
using gtype = t_max_err(*)(FluidMaxWrapper* x, t_object*, long* ac, t_atom** av);
-
+
stype setter = [](FluidMaxWrapper* x, t_object*, long ac, t_atom* av) -> t_max_err
{
- static constexpr index Idx = N;
- if(ac && !x->mInitialized)
+ static constexpr index Idx = N;//for MSVC
+ if (ac && !x->mInitialized)
{
- auto current = x->mParams.template get();
- index newMax = atom_getlong(av);
- if(newMax > 0)
+ auto a = x->params().template get(); // get the whole param
+ index incomingMax = atom_getlong(av);
+ if (incomingMax > 0)
{
- x->mParams.template set(LongRuntimeMaxParam(current(),newMax),nullptr);
+ incomingMax = std::max(a.max(), incomingMax);
+ incomingMax =
+ x->params().template applyConstraintToMax(incomingMax);
+ a = LongRuntimeMaxParam(a(), incomingMax);
+ x->params().template set(
+ std::move(a), x->verbose() ? &x->messages() : nullptr);
+ printResult(x, x->messages());
}
}
+ else
+ {
+ /// Can't capture here (we need function pointer behaviour),
+ /// so need to go through some rigmarole to get attribute name for
+ /// warning string
+ std::string attrname =
+ std::string("max") +
+ lowerCase(x->template paramDescriptor().name);
+ Result onlySetInBox{
+ Result::Status::kWarning, attrname,
+ " attribute can only be set at object instantiation"};
+ printResult(x, onlySetInBox);
+ }
return MAX_ERR_NONE;
};
@@ -2356,16 +2439,34 @@ class FluidMaxWrapper
stype setter = [](FluidMaxWrapper* x, t_object*, long ac, t_atom* av) -> t_max_err
{
- static constexpr index Idx = N;
- if(ac && !x->mInitialized)
+ static constexpr index Idx = N; //for MSVC
+ if (ac && !x->mInitialized)
{
- auto current = x->mParams.template get();
+ auto a = x->mParams.template get();
index newMax = atom_getlong(av);
- if(newMax > 0)
+ if (newMax > 0)
{
- x->mParams.template set(FFTParams(current.winSize(), current.hopRaw(), current.fftRaw(), newMax),nullptr);
+ newMax = std::max(newMax, a.max());
+ a = FFTParams(a.winSize(), a.hopRaw(), a.fftRaw(), newMax);
+ a = x->params().template applyConstraintsTo(a);
+ x->mParams.template set(
+ std::move(a), x->verbose() ? &x->messages() : nullptr);
}
}
+ else
+ {
+ /// Can't capture here (we need function pointer behaviour),
+ /// so need to go through some rigmarole to get attribute name for
+ /// warning string
+ std::string attrname =
+ std::string("max") +
+ lowerCase(x->template paramDescriptor().name);
+ Result onlySetInBox{
+ Result::Status::kWarning, attrname,
+ " attribute can only be set at object instantiation"};
+ printResult(x, onlySetInBox);
+ }
+
return MAX_ERR_NONE;
};
@@ -2419,7 +2520,7 @@ class FluidMaxWrapper
static t_symbol* maxAttrType(LongArrayT) { return gensym("atom"); }
static t_symbol* maxAttrType(LongRuntimeMaxT) { return USESYM(atom_long); }
static t_symbol* maxAttrType(ChoicesT) { return gensym("atom"); }
-
+
template
static std::enable_if_t::value, t_symbol*>
maxAttrType(T)
@@ -2428,16 +2529,15 @@ class FluidMaxWrapper
}
index mListSize;
- std::deque mMessages;
+ std::deque mUserMessageQueue;
Result mResult;
void* mNRTDoneOutlet;
- void* mControlOutlet;
void* mDumpOutlet;
double mProgress;
bool mVerbose;
- bool mAutosize;
ParamSetType mParams;
ParamValues mParamSnapshot;
+ bool mAutosize;
Client mClient;
t_int32_atomic mInPerform{0};
@@ -2484,8 +2584,6 @@ struct InputTypeWrapper
template
void makeMaxWrapper(const char* classname)
{
- // using InputType = typename
- // InputTypeWrapper>>::type;
common_symbols_init();
FluidMaxWrapper::makeClass(classname);
}