├── .gitattributes ├── .gitignore ├── README.md ├── nn_poly.maxpat ├── setMultislider.maxpat └── transfer.amxd /.gitattributes: -------------------------------------------------------------------------------- 1 | *.maxpat diff=maxpat 2 | *.amxd diff=amxd 3 | *.als diff=als 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Ableton Folder Info 2 | *.ts -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Transfer 2 | Max for Live device for easy, real-time timbre transfer in Ableton Live using [RAVE](https://github.com/acids-ircam/RAVE). 3 | ## Requirements 4 | - ``nn~`` external: https://github.com/acids-ircam/nn_tilde/ 5 | ## Quick start 6 | - Download/clone this repo. For ``transfer.amxd`` to appear in ``Max for Live/Max Audio Effects`` in Ableton, on MacOS you can run: 7 | ``` 8 | git clone https://github.com/wwerkk/transfer-m4l.git ~/Music/Ableton/User\ Library/Presets/Audio\ Effects/Max\ Audio\ Effect/transfer 9 | ``` 10 | - Download the nn~ version compatible with your system and put it somewhere in your Max path, ie. the folder of this repository. 11 | - Drop as an audio effect on any channel you like. 12 | - Hit the *Download* button to automatically download [pre-trained models made available by kind people of IRCAM](https://acids-ircam.github.io/rave_models_download). 13 | - After download is finished, the menu on top of the patch should automatically populate with four pre-trained models (note: ``darbouka_onnx`` is not compatible). 14 | - Pick the model you want to use. 15 | - Turn up the Wet gain. 16 | - Use as you would use a regular audio effect. 17 | - Values in each latent dimension can be scaled and offset using the multisliders. The menu below offset controls wavefolding settings in case your latent values go out of set range. 18 | - Latency of the output can be reduced by changing the *Buffer size* setting to 0. This is pretty CPU heavy, so you might have to trade-off by increasing the global buffer size in Ableton Preferences. 19 | ## Adding your own models 20 | You can add your own models by clicking *Browse* and picking the directory where your models are located, or simply put them into the folder of the repo and hit the *Default* button to automatically re-populate the menu. 21 | 22 | A symbolic link to the model directory will also work. On Mac, you can create one by running: 23 | ``` 24 | ln -s ~/models ~/Music/Ableton/User\ Library/Presets/Audio\ Effects/Max\ Audio\ Effect/transfer/models 25 | ``` 26 | Afterwards, hit *Default* to update the menu. 27 | 28 | ## Saving 29 | To set your chosen model folder to load up on start, open the patcher in Max, add the directory as described above and save the patcher. 30 | Multislider settings should save automatically with your Ableton project. 31 | 32 | 33 | ## Note 34 | This is a work in progress, so feel free to open up issues for any bugs encountered or features you'd like to see. Feedback from Windows users is especially appreciated, since I don't have any means of testing on that platform. 35 | 36 | 37 | ## Demo 38 | Coming soon! 39 | -------------------------------------------------------------------------------- /nn_poly.maxpat: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 8, 6 | "minor" : 5, 7 | "revision" : 4, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "classnamespace" : "box", 13 | "rect" : [ 34.0, 111.0, 953.0, 850.0 ], 14 | "bglocked" : 0, 15 | "openinpresentation" : 0, 16 | "default_fontsize" : 12.0, 17 | "default_fontface" : 0, 18 | "default_fontname" : "Arial", 19 | "gridonopen" : 1, 20 | "gridsize" : [ 15.0, 15.0 ], 21 | "gridsnaponopen" : 1, 22 | "objectsnaponopen" : 1, 23 | "statusbarvisible" : 2, 24 | "toolbarvisible" : 1, 25 | "lefttoolbarpinned" : 0, 26 | "toptoolbarpinned" : 0, 27 | "righttoolbarpinned" : 0, 28 | "bottomtoolbarpinned" : 0, 29 | "toolbars_unpinned_last_save" : 0, 30 | "tallnewobj" : 0, 31 | "boxanimatetime" : 200, 32 | "enablehscroll" : 1, 33 | "enablevscroll" : 1, 34 | "devicewidth" : 0.0, 35 | "description" : "", 36 | "digest" : "", 37 | "tags" : "", 38 | "style" : "", 39 | "subpatcher_template" : "", 40 | "assistshowspatchername" : 0, 41 | "boxes" : [ { 42 | "box" : { 43 | "id" : "obj-27", 44 | "maxclass" : "newobj", 45 | "numinlets" : 1, 46 | "numoutlets" : 1, 47 | "outlettype" : [ "" ], 48 | "patching_rect" : [ 1150.0, 35.0, 28.0, 22.0 ], 49 | "saved_object_attributes" : { 50 | "attr_comment" : "" 51 | } 52 | , 53 | "text" : "in 9" 54 | } 55 | 56 | } 57 | , { 58 | "box" : { 59 | "id" : "obj-45", 60 | "maxclass" : "newobj", 61 | "numinlets" : 1, 62 | "numoutlets" : 1, 63 | "outlettype" : [ "list" ], 64 | "patching_rect" : [ 1020.0, 170.0, 66.0, 22.0 ], 65 | "text" : "listfunnel 1" 66 | } 67 | 68 | } 69 | , { 70 | "box" : { 71 | "id" : "obj-46", 72 | "maxclass" : "message", 73 | "numinlets" : 2, 74 | "numoutlets" : 1, 75 | "outlettype" : [ "" ], 76 | "patching_rect" : [ 1020.0, 227.0, 100.0, 22.0 ], 77 | "text" : "setvalue $1 m $2" 78 | } 79 | 80 | } 81 | , { 82 | "box" : { 83 | "annotation" : "Latent offset (list)", 84 | "hint" : "Latent offset (list)", 85 | "id" : "obj-42", 86 | "maxclass" : "newobj", 87 | "numinlets" : 1, 88 | "numoutlets" : 1, 89 | "outlettype" : [ "" ], 90 | "patching_rect" : [ 1020.0, 35.0, 28.0, 22.0 ], 91 | "text" : "in 8" 92 | } 93 | 94 | } 95 | , { 96 | "box" : { 97 | "id" : "obj-41", 98 | "maxclass" : "message", 99 | "numinlets" : 2, 100 | "numoutlets" : 1, 101 | "outlettype" : [ "" ], 102 | "patching_rect" : [ 1150.0, 227.0, 116.0, 22.0 ], 103 | "text" : "setvalue $1 delta $2" 104 | } 105 | 106 | } 107 | , { 108 | "box" : { 109 | "id" : "obj-32", 110 | "maxclass" : "newobj", 111 | "numinlets" : 1, 112 | "numoutlets" : 1, 113 | "outlettype" : [ "list" ], 114 | "patching_rect" : [ 1150.0, 170.0, 66.0, 22.0 ], 115 | "text" : "listfunnel 1" 116 | } 117 | 118 | } 119 | , { 120 | "box" : { 121 | "annotation" : "Latent offset (list)", 122 | "hint" : "Latent offset (list)", 123 | "id" : "obj-31", 124 | "maxclass" : "newobj", 125 | "numinlets" : 1, 126 | "numoutlets" : 1, 127 | "outlettype" : [ "" ], 128 | "patching_rect" : [ 815.0, 35.0, 28.0, 22.0 ], 129 | "saved_object_attributes" : { 130 | "attr_comment" : "" 131 | } 132 | , 133 | "text" : "in 7" 134 | } 135 | 136 | } 137 | , { 138 | "box" : { 139 | "data" : { 140 | "patcher" : { 141 | "fileversion" : 1, 142 | "appversion" : { 143 | "major" : 8, 144 | "minor" : 5, 145 | "revision" : 4, 146 | "architecture" : "x64", 147 | "modernui" : 1 148 | } 149 | , 150 | "classnamespace" : "dsp.gen", 151 | "rect" : [ 343.0, 211.0, 698.0, 666.0 ], 152 | "bglocked" : 0, 153 | "openinpresentation" : 0, 154 | "default_fontsize" : 12.0, 155 | "default_fontface" : 0, 156 | "default_fontname" : "Arial", 157 | "gridonopen" : 1, 158 | "gridsize" : [ 15.0, 15.0 ], 159 | "gridsnaponopen" : 1, 160 | "objectsnaponopen" : 1, 161 | "statusbarvisible" : 2, 162 | "toolbarvisible" : 1, 163 | "lefttoolbarpinned" : 0, 164 | "toptoolbarpinned" : 0, 165 | "righttoolbarpinned" : 0, 166 | "bottomtoolbarpinned" : 0, 167 | "toolbars_unpinned_last_save" : 0, 168 | "tallnewobj" : 0, 169 | "boxanimatetime" : 200, 170 | "enablehscroll" : 1, 171 | "enablevscroll" : 1, 172 | "devicewidth" : 0.0, 173 | "description" : "", 174 | "digest" : "", 175 | "tags" : "", 176 | "style" : "", 177 | "subpatcher_template" : "", 178 | "assistshowspatchername" : 0, 179 | "boxes" : [ { 180 | "box" : { 181 | "maxclass" : "codebox", 182 | "patching_rect" : [ 204.0, 58.5, 430.0, 379.0 ], 183 | "fontname" : "", 184 | "numinlets" : 1, 185 | "fontface" : 0, 186 | "numoutlets" : 1, 187 | "id" : "obj-3", 188 | "outlettype" : [ "" ], 189 | "fontsize" : 12.0, 190 | "code" : "\r\nHistory z;\r\nParam delta(0, max=0.5, min=0);\r\nParam m(0, max=3.0, min=0);\r\n\r\nz = z + delta * noise();\nif (z > m) {\n\tz = m + 1 - z;\n} else if (z < -1 * m) {\n\tz = -m - 1 - z;\n}\r\nout1 = z;" 191 | } 192 | 193 | } 194 | , { 195 | "box" : { 196 | "maxclass" : "newobj", 197 | "text" : "out 1", 198 | "patching_rect" : [ 204.0, 530.0, 38.0, 22.0 ], 199 | "fontname" : "Arial", 200 | "numinlets" : 1, 201 | "numoutlets" : 0, 202 | "id" : "obj-4", 203 | "fontsize" : 12.0 204 | } 205 | 206 | } 207 | ], 208 | "lines" : [ { 209 | "patchline" : { 210 | "source" : [ "obj-3", 0 ], 211 | "destination" : [ "obj-4", 0 ] 212 | } 213 | 214 | } 215 | ], 216 | "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], 217 | "editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], 218 | "saved_attribute_attributes" : { 219 | "default_plcolor" : { 220 | "expression" : "" 221 | } 222 | , 223 | "editing_bgcolor" : { 224 | "expression" : "" 225 | } 226 | , 227 | "locked_bgcolor" : { 228 | "expression" : "" 229 | } 230 | 231 | } 232 | 233 | } 234 | 235 | } 236 | , 237 | "fontname" : "Arial", 238 | "fontsize" : 13.0, 239 | "id" : "obj-28", 240 | "maxclass" : "newobj", 241 | "numinlets" : 1, 242 | "numoutlets" : 1, 243 | "outlettype" : [ "multichannelsignal" ], 244 | "patching_rect" : [ 1150.0, 263.0, 135.0, 23.0 ], 245 | "text" : "mc.gen~ @title brown", 246 | "wrapper_uniquekey" : "u358007986" 247 | } 248 | 249 | } 250 | , { 251 | "box" : { 252 | "id" : "obj-20", 253 | "maxclass" : "newobj", 254 | "numinlets" : 2, 255 | "numoutlets" : 1, 256 | "outlettype" : [ "" ], 257 | "patching_rect" : [ 853.75, 774.0, 32.0, 22.0 ], 258 | "text" : "gate" 259 | } 260 | 261 | } 262 | , { 263 | "box" : { 264 | "id" : "obj-21", 265 | "maxclass" : "newobj", 266 | "numinlets" : 2, 267 | "numoutlets" : 1, 268 | "outlettype" : [ "int" ], 269 | "patching_rect" : [ 953.0, 639.0, 33.0, 22.0 ], 270 | "text" : "== 0" 271 | } 272 | 273 | } 274 | , { 275 | "box" : { 276 | "id" : "obj-33", 277 | "maxclass" : "toggle", 278 | "numinlets" : 1, 279 | "numoutlets" : 1, 280 | "outlettype" : [ "int" ], 281 | "parameter_enable" : 0, 282 | "patching_rect" : [ 815.0, 798.0, 24.0, 24.0 ] 283 | } 284 | 285 | } 286 | , { 287 | "box" : { 288 | "id" : "obj-30", 289 | "maxclass" : "newobj", 290 | "numinlets" : 2, 291 | "numoutlets" : 1, 292 | "outlettype" : [ "" ], 293 | "patching_rect" : [ 877.25, 546.0, 41.0, 22.0 ], 294 | "text" : "pipe 1" 295 | } 296 | 297 | } 298 | , { 299 | "box" : { 300 | "id" : "obj-29", 301 | "maxclass" : "newobj", 302 | "numinlets" : 1, 303 | "numoutlets" : 3, 304 | "outlettype" : [ "int", "int", "int" ], 305 | "patching_rect" : [ 866.75, 500.0, 40.0, 22.0 ], 306 | "text" : "t i i i" 307 | } 308 | 309 | } 310 | , { 311 | "box" : { 312 | "id" : "obj-36", 313 | "maxclass" : "newobj", 314 | "numinlets" : 2, 315 | "numoutlets" : 1, 316 | "outlettype" : [ "int" ], 317 | "patching_rect" : [ 953.0, 585.0, 29.5, 22.0 ], 318 | "text" : "-" 319 | } 320 | 321 | } 322 | , { 323 | "box" : { 324 | "id" : "obj-39", 325 | "ignoreclick" : 1, 326 | "maxclass" : "number", 327 | "numinlets" : 1, 328 | "numoutlets" : 2, 329 | "outlettype" : [ "", "bang" ], 330 | "parameter_enable" : 0, 331 | "patching_rect" : [ 613.5, 663.0, 50.0, 22.0 ], 332 | "triangle" : 0 333 | } 334 | 335 | } 336 | , { 337 | "box" : { 338 | "id" : "obj-10", 339 | "maxclass" : "newobj", 340 | "numinlets" : 1, 341 | "numoutlets" : 3, 342 | "outlettype" : [ "", "int", "int" ], 343 | "patching_rect" : [ 853.75, 805.0, 48.0, 22.0 ], 344 | "text" : "change" 345 | } 346 | 347 | } 348 | , { 349 | "box" : { 350 | "id" : "obj-13", 351 | "maxclass" : "newobj", 352 | "numinlets" : 2, 353 | "numoutlets" : 2, 354 | "outlettype" : [ "int", "int" ], 355 | "patching_rect" : [ 613.5, 623.0, 61.0, 22.0 ], 356 | "text" : "maximum" 357 | } 358 | 359 | } 360 | , { 361 | "box" : { 362 | "fontface" : 0, 363 | "fontname" : "Arial", 364 | "fontsize" : 12.0, 365 | "id" : "obj-19", 366 | "interval" : 500.0, 367 | "maxclass" : "mc.number~", 368 | "mode" : 2, 369 | "numinlets" : 2, 370 | "numoutlets" : 3, 371 | "outlettype" : [ "multichannelsignal", "float", "int" ], 372 | "patching_rect" : [ 576.5, 540.0, 56.0, 34.0 ], 373 | "sig" : [ 0.0, 0.0, 0.0, 0.0 ] 374 | } 375 | 376 | } 377 | , { 378 | "box" : { 379 | "id" : "obj-25", 380 | "maxclass" : "newobj", 381 | "numinlets" : 2, 382 | "numoutlets" : 1, 383 | "outlettype" : [ "multichannelsignal" ], 384 | "patching_rect" : [ 530.5, 494.0, 53.0, 22.0 ], 385 | "text" : "mc.*~ 0." 386 | } 387 | 388 | } 389 | , { 390 | "box" : { 391 | "id" : "obj-5", 392 | "maxclass" : "newobj", 393 | "numinlets" : 1, 394 | "numoutlets" : 0, 395 | "patching_rect" : [ 853.75, 849.0, 35.0, 22.0 ], 396 | "text" : "out 1" 397 | } 398 | 399 | } 400 | , { 401 | "box" : { 402 | "id" : "obj-38", 403 | "maxclass" : "newobj", 404 | "numinlets" : 1, 405 | "numoutlets" : 0, 406 | "patching_rect" : [ 246.0, 590.0, 42.0, 22.0 ], 407 | "text" : "out~ 2" 408 | } 409 | 410 | } 411 | , { 412 | "box" : { 413 | "id" : "obj-37", 414 | "maxclass" : "newobj", 415 | "numinlets" : 1, 416 | "numoutlets" : 0, 417 | "patching_rect" : [ 51.0, 590.0, 42.0, 22.0 ], 418 | "text" : "out~ 1" 419 | } 420 | 421 | } 422 | , { 423 | "box" : { 424 | "annotation" : "Signal in (right)", 425 | "hint" : "Signal in (right)", 426 | "id" : "obj-26", 427 | "maxclass" : "newobj", 428 | "numinlets" : 1, 429 | "numoutlets" : 1, 430 | "outlettype" : [ "signal" ], 431 | "patching_rect" : [ 122.0, 40.0, 35.0, 22.0 ], 432 | "saved_object_attributes" : { 433 | "attr_comment" : [ "Signal", "in", "(Right)" ] 434 | } 435 | , 436 | "text" : "in~ 2" 437 | } 438 | 439 | } 440 | , { 441 | "box" : { 442 | "annotation" : "Latent offset (list)", 443 | "hint" : "Latent offset (list)", 444 | "id" : "obj-15", 445 | "maxclass" : "newobj", 446 | "numinlets" : 1, 447 | "numoutlets" : 1, 448 | "outlettype" : [ "" ], 449 | "patching_rect" : [ 564.0, 35.0, 28.0, 22.0 ], 450 | "saved_object_attributes" : { 451 | "attr_comment" : [ "Latent", "offset", "(list)" ] 452 | } 453 | , 454 | "text" : "in 6" 455 | } 456 | 457 | } 458 | , { 459 | "box" : { 460 | "annotation" : "Latent scaling (list)", 461 | "hint" : "Latent scaling (list)", 462 | "id" : "obj-14", 463 | "maxclass" : "newobj", 464 | "numinlets" : 1, 465 | "numoutlets" : 1, 466 | "outlettype" : [ "" ], 467 | "patching_rect" : [ 308.0, 40.0, 28.0, 22.0 ], 468 | "saved_object_attributes" : { 469 | "attr_comment" : [ "Latent", "scaling", "(list)" ] 470 | } 471 | , 472 | "text" : "in 5" 473 | } 474 | 475 | } 476 | , { 477 | "box" : { 478 | "annotation" : "Wavefolding mode (enum)", 479 | "hint" : "Wavefolding mode (enum)", 480 | "id" : "obj-11", 481 | "maxclass" : "newobj", 482 | "numinlets" : 1, 483 | "numoutlets" : 1, 484 | "outlettype" : [ "" ], 485 | "patching_rect" : [ 262.5, 40.0, 28.0, 22.0 ], 486 | "saved_object_attributes" : { 487 | "attr_comment" : [ "Wavefolding", "mode", "(enum)" ] 488 | } 489 | , 490 | "text" : "in 4" 491 | } 492 | 493 | } 494 | , { 495 | "box" : { 496 | "annotation" : "Enable nn~ (toggle)", 497 | "hint" : "Enable nn~ (toggle)", 498 | "id" : "obj-9", 499 | "maxclass" : "newobj", 500 | "numinlets" : 1, 501 | "numoutlets" : 1, 502 | "outlettype" : [ "" ], 503 | "patching_rect" : [ 173.0, 40.0, 28.0, 22.0 ], 504 | "saved_object_attributes" : { 505 | "attr_comment" : [ "Enable", "nn~", "(toggle)" ] 506 | } 507 | , 508 | "text" : "in 3" 509 | } 510 | 511 | } 512 | , { 513 | "box" : { 514 | "annotation" : "Signal in (Left)", 515 | "hint" : "Signal in (left)", 516 | "id" : "obj-8", 517 | "maxclass" : "newobj", 518 | "numinlets" : 1, 519 | "numoutlets" : 1, 520 | "outlettype" : [ "signal" ], 521 | "patching_rect" : [ 51.0, 40.0, 35.0, 22.0 ], 522 | "saved_object_attributes" : { 523 | "attr_comment" : [ "Signal", "in", "(Left)" ] 524 | } 525 | , 526 | "text" : "in~ 1" 527 | } 528 | 529 | } 530 | , { 531 | "box" : { 532 | "id" : "obj-34", 533 | "linecount" : 2, 534 | "maxclass" : "newobj", 535 | "numinlets" : 2, 536 | "numoutlets" : 1, 537 | "outlettype" : [ "multichannelsignal" ], 538 | "patching_rect" : [ 246.0, 342.5, 49.0, 35.0 ], 539 | "text" : "mc.+~ 0." 540 | } 541 | 542 | } 543 | , { 544 | "box" : { 545 | "id" : "obj-35", 546 | "maxclass" : "newobj", 547 | "numinlets" : 2, 548 | "numoutlets" : 1, 549 | "outlettype" : [ "multichannelsignal" ], 550 | "patching_rect" : [ 246.0, 275.0, 55.0, 22.0 ], 551 | "text" : "mc.*~ 1." 552 | } 553 | 554 | } 555 | , { 556 | "box" : { 557 | "id" : "obj-12", 558 | "maxclass" : "message", 559 | "numinlets" : 2, 560 | "numoutlets" : 1, 561 | "outlettype" : [ "" ], 562 | "patching_rect" : [ 173.0, 80.0, 61.0, 22.0 ], 563 | "text" : "enable $1" 564 | } 565 | 566 | } 567 | , { 568 | "box" : { 569 | "id" : "obj-4", 570 | "linecount" : 3, 571 | "maxclass" : "newobj", 572 | "numinlets" : 1, 573 | "numoutlets" : 1, 574 | "outlettype" : [ "multichannelsignal" ], 575 | "patching_rect" : [ 246.0, 499.0, 127.0, 49.0 ], 576 | "text" : "mcs.nn~ #1 decode 1 #2" 577 | } 578 | 579 | } 580 | , { 581 | "box" : { 582 | "id" : "obj-3", 583 | "linecount" : 3, 584 | "maxclass" : "newobj", 585 | "numinlets" : 1, 586 | "numoutlets" : 1, 587 | "outlettype" : [ "multichannelsignal" ], 588 | "patching_rect" : [ 246.0, 129.0, 127.0, 49.0 ], 589 | "text" : "mcs.nn~ #1 encode 1 #2" 590 | } 591 | 592 | } 593 | , { 594 | "box" : { 595 | "id" : "obj-2", 596 | "maxclass" : "newobj", 597 | "numinlets" : 1, 598 | "numoutlets" : 1, 599 | "outlettype" : [ "list" ], 600 | "patching_rect" : [ 815.0, 170.0, 66.0, 22.0 ], 601 | "text" : "listfunnel 1" 602 | } 603 | 604 | } 605 | , { 606 | "box" : { 607 | "id" : "obj-1", 608 | "maxclass" : "newobj", 609 | "numinlets" : 1, 610 | "numoutlets" : 1, 611 | "outlettype" : [ "list" ], 612 | "patching_rect" : [ 564.0, 170.0, 66.0, 22.0 ], 613 | "text" : "listfunnel 1" 614 | } 615 | 616 | } 617 | , { 618 | "box" : { 619 | "id" : "obj-53", 620 | "linecount" : 2, 621 | "maxclass" : "newobj", 622 | "numinlets" : 4, 623 | "numoutlets" : 2, 624 | "outlettype" : [ "multichannelsignal", "multichannelsignal" ], 625 | "patcher" : { 626 | "fileversion" : 1, 627 | "appversion" : { 628 | "major" : 8, 629 | "minor" : 5, 630 | "revision" : 4, 631 | "architecture" : "x64", 632 | "modernui" : 1 633 | } 634 | , 635 | "classnamespace" : "box", 636 | "rect" : [ 59.0, 106.0, 640.0, 480.0 ], 637 | "bglocked" : 0, 638 | "openinpresentation" : 0, 639 | "default_fontsize" : 12.0, 640 | "default_fontface" : 0, 641 | "default_fontname" : "Arial", 642 | "gridonopen" : 1, 643 | "gridsize" : [ 15.0, 15.0 ], 644 | "gridsnaponopen" : 1, 645 | "objectsnaponopen" : 1, 646 | "statusbarvisible" : 2, 647 | "toolbarvisible" : 1, 648 | "lefttoolbarpinned" : 0, 649 | "toptoolbarpinned" : 0, 650 | "righttoolbarpinned" : 0, 651 | "bottomtoolbarpinned" : 0, 652 | "toolbars_unpinned_last_save" : 0, 653 | "tallnewobj" : 0, 654 | "boxanimatetime" : 200, 655 | "enablehscroll" : 1, 656 | "enablevscroll" : 1, 657 | "devicewidth" : 0.0, 658 | "description" : "", 659 | "digest" : "", 660 | "tags" : "", 661 | "style" : "", 662 | "subpatcher_template" : "", 663 | "assistshowspatchername" : 0, 664 | "boxes" : [ { 665 | "box" : { 666 | "id" : "obj-4", 667 | "maxclass" : "newobj", 668 | "numinlets" : 2, 669 | "numoutlets" : 1, 670 | "outlettype" : [ "float" ], 671 | "patching_rect" : [ 416.5, 141.3701171875, 41.0, 22.0 ], 672 | "text" : "float 4" 673 | } 674 | 675 | } 676 | , { 677 | "box" : { 678 | "comment" : "Latent Value Range", 679 | "id" : "obj-2", 680 | "index" : 4, 681 | "maxclass" : "inlet", 682 | "numinlets" : 0, 683 | "numoutlets" : 1, 684 | "outlettype" : [ "" ], 685 | "patching_rect" : [ 416.5, 18.000000187500007, 30.0, 30.0 ] 686 | } 687 | 688 | } 689 | , { 690 | "box" : { 691 | "id" : "obj-1", 692 | "maxclass" : "newobj", 693 | "numinlets" : 2, 694 | "numoutlets" : 1, 695 | "outlettype" : [ "float" ], 696 | "patching_rect" : [ 393.5, 180.0, 31.0, 22.0 ], 697 | "text" : "* -1." 698 | } 699 | 700 | } 701 | , { 702 | "box" : { 703 | "id" : "obj-38", 704 | "maxclass" : "live.menu", 705 | "numinlets" : 1, 706 | "numoutlets" : 3, 707 | "outlettype" : [ "", "", "float" ], 708 | "parameter_enable" : 1, 709 | "patching_rect" : [ 280.0, 81.0, 100.0, 15.0 ], 710 | "presentation" : 1, 711 | "presentation_rect" : [ 728.5, 139.0, 79.0, 15.0 ], 712 | "saved_attribute_attributes" : { 713 | "valueof" : { 714 | "parameter_enum" : [ "fold", "wrap", "clip", "none" ], 715 | "parameter_longname" : "live.menu[1]", 716 | "parameter_mmax" : 3, 717 | "parameter_shortname" : "live.menu", 718 | "parameter_type" : 2 719 | } 720 | 721 | } 722 | , 723 | "varname" : "live.menu" 724 | } 725 | 726 | } 727 | , { 728 | "box" : { 729 | "id" : "obj-47", 730 | "maxclass" : "message", 731 | "numinlets" : 2, 732 | "numoutlets" : 1, 733 | "outlettype" : [ "" ], 734 | "patching_rect" : [ 280.0, 165.3701171875, 29.5, 22.0 ], 735 | "text" : "30." 736 | } 737 | 738 | } 739 | , { 740 | "box" : { 741 | "id" : "obj-46", 742 | "maxclass" : "message", 743 | "numinlets" : 2, 744 | "numoutlets" : 1, 745 | "outlettype" : [ "" ], 746 | "patching_rect" : [ 246.5, 165.3701171875, 29.5, 22.0 ], 747 | "text" : "-30." 748 | } 749 | 750 | } 751 | , { 752 | "box" : { 753 | "id" : "obj-40", 754 | "maxclass" : "button", 755 | "numinlets" : 1, 756 | "numoutlets" : 1, 757 | "outlettype" : [ "bang" ], 758 | "parameter_enable" : 0, 759 | "patching_rect" : [ 246.5, 125.3701171875, 24.0, 24.0 ] 760 | } 761 | 762 | } 763 | , { 764 | "box" : { 765 | "id" : "obj-39", 766 | "maxclass" : "button", 767 | "numinlets" : 1, 768 | "numoutlets" : 1, 769 | "outlettype" : [ "bang" ], 770 | "parameter_enable" : 0, 771 | "patching_rect" : [ 416.5, 102.3701171875, 24.0, 24.0 ] 772 | } 773 | 774 | } 775 | , { 776 | "box" : { 777 | "id" : "obj-3", 778 | "linecount" : 2, 779 | "maxclass" : "newobj", 780 | "numinlets" : 2, 781 | "numoutlets" : 2, 782 | "outlettype" : [ "", "" ], 783 | "patching_rect" : [ 280.0, 109.3701171875, 42.0, 35.0 ], 784 | "text" : "route 3" 785 | } 786 | 787 | } 788 | , { 789 | "box" : { 790 | "fontname" : "Arial", 791 | "fontsize" : 13.0, 792 | "id" : "obj-34", 793 | "maxclass" : "message", 794 | "numinlets" : 2, 795 | "numoutlets" : 1, 796 | "outlettype" : [ "" ], 797 | "patching_rect" : [ 346.0, 141.3701171875, 62.0, 23.0 ], 798 | "text" : "mode $1" 799 | } 800 | 801 | } 802 | , { 803 | "box" : { 804 | "id" : "obj-33", 805 | "maxclass" : "newobj", 806 | "numinlets" : 3, 807 | "numoutlets" : 1, 808 | "outlettype" : [ "multichannelsignal" ], 809 | "patching_rect" : [ 168.0, 241.3701171875, 102.0, 22.0 ], 810 | "text" : "mc.pong~ 0 -4. 4." 811 | } 812 | 813 | } 814 | , { 815 | "box" : { 816 | "id" : "obj-32", 817 | "maxclass" : "newobj", 818 | "numinlets" : 3, 819 | "numoutlets" : 1, 820 | "outlettype" : [ "multichannelsignal" ], 821 | "patching_rect" : [ 50.0, 241.3701171875, 102.0, 22.0 ], 822 | "text" : "mc.pong~ 0 -4. 4." 823 | } 824 | 825 | } 826 | , { 827 | "box" : { 828 | "comment" : "", 829 | "id" : "obj-48", 830 | "index" : 1, 831 | "maxclass" : "inlet", 832 | "numinlets" : 0, 833 | "numoutlets" : 1, 834 | "outlettype" : [ "multichannelsignal" ], 835 | "patching_rect" : [ 50.0, 40.000000187500007, 30.0, 30.0 ] 836 | } 837 | 838 | } 839 | , { 840 | "box" : { 841 | "comment" : "", 842 | "id" : "obj-49", 843 | "index" : 2, 844 | "maxclass" : "inlet", 845 | "numinlets" : 0, 846 | "numoutlets" : 1, 847 | "outlettype" : [ "multichannelsignal" ], 848 | "patching_rect" : [ 168.0, 40.000000187500007, 30.0, 30.0 ] 849 | } 850 | 851 | } 852 | , { 853 | "box" : { 854 | "comment" : "", 855 | "id" : "obj-50", 856 | "index" : 3, 857 | "maxclass" : "inlet", 858 | "numinlets" : 0, 859 | "numoutlets" : 1, 860 | "outlettype" : [ "" ], 861 | "patching_rect" : [ 280.0, 18.000000187500007, 30.0, 30.0 ] 862 | } 863 | 864 | } 865 | , { 866 | "box" : { 867 | "comment" : "", 868 | "id" : "obj-51", 869 | "index" : 1, 870 | "maxclass" : "outlet", 871 | "numinlets" : 1, 872 | "numoutlets" : 0, 873 | "patching_rect" : [ 50.0, 321.3701171875, 30.0, 30.0 ] 874 | } 875 | 876 | } 877 | , { 878 | "box" : { 879 | "comment" : "", 880 | "id" : "obj-52", 881 | "index" : 2, 882 | "maxclass" : "outlet", 883 | "numinlets" : 1, 884 | "numoutlets" : 0, 885 | "patching_rect" : [ 168.0, 321.3701171875, 30.0, 30.0 ] 886 | } 887 | 888 | } 889 | ], 890 | "lines" : [ { 891 | "patchline" : { 892 | "destination" : [ "obj-32", 1 ], 893 | "midpoints" : [ 403.0, 227.8701171875, 101.0, 227.8701171875 ], 894 | "order" : 1, 895 | "source" : [ "obj-1", 0 ] 896 | } 897 | 898 | } 899 | , { 900 | "patchline" : { 901 | "destination" : [ "obj-33", 1 ], 902 | "midpoints" : [ 403.0, 235.8701171875, 219.0, 235.8701171875 ], 903 | "order" : 0, 904 | "source" : [ "obj-1", 0 ] 905 | } 906 | 907 | } 908 | , { 909 | "patchline" : { 910 | "destination" : [ "obj-4", 0 ], 911 | "source" : [ "obj-2", 0 ] 912 | } 913 | 914 | } 915 | , { 916 | "patchline" : { 917 | "destination" : [ "obj-34", 0 ], 918 | "midpoints" : [ 312.5, 154.3701171875, 334.0, 154.3701171875, 334.0, 130.3701171875, 355.5, 130.3701171875 ], 919 | "order" : 1, 920 | "source" : [ "obj-3", 1 ] 921 | } 922 | 923 | } 924 | , { 925 | "patchline" : { 926 | "destination" : [ "obj-39", 0 ], 927 | "midpoints" : [ 312.5, 171.170117437839508, 369.25, 171.170117437839508, 369.25, 91.3701171875, 426.0, 91.3701171875 ], 928 | "order" : 0, 929 | "source" : [ "obj-3", 1 ] 930 | } 931 | 932 | } 933 | , { 934 | "patchline" : { 935 | "destination" : [ "obj-40", 0 ], 936 | "midpoints" : [ 289.5, 154.3701171875, 272.75, 154.3701171875, 272.75, 114.3701171875, 256.0, 114.3701171875 ], 937 | "source" : [ "obj-3", 0 ] 938 | } 939 | 940 | } 941 | , { 942 | "patchline" : { 943 | "destination" : [ "obj-51", 0 ], 944 | "source" : [ "obj-32", 0 ] 945 | } 946 | 947 | } 948 | , { 949 | "patchline" : { 950 | "destination" : [ "obj-52", 0 ], 951 | "source" : [ "obj-33", 0 ] 952 | } 953 | 954 | } 955 | , { 956 | "patchline" : { 957 | "destination" : [ "obj-32", 0 ], 958 | "midpoints" : [ 355.5, 202.3701171875, 59.5, 202.3701171875 ], 959 | "order" : 1, 960 | "source" : [ "obj-34", 0 ] 961 | } 962 | 963 | } 964 | , { 965 | "patchline" : { 966 | "destination" : [ "obj-33", 0 ], 967 | "midpoints" : [ 355.5, 202.3701171875, 177.5, 202.3701171875 ], 968 | "order" : 0, 969 | "source" : [ "obj-34", 0 ] 970 | } 971 | 972 | } 973 | , { 974 | "patchline" : { 975 | "destination" : [ "obj-3", 0 ], 976 | "source" : [ "obj-38", 0 ] 977 | } 978 | 979 | } 980 | , { 981 | "patchline" : { 982 | "destination" : [ "obj-4", 0 ], 983 | "source" : [ "obj-39", 0 ] 984 | } 985 | 986 | } 987 | , { 988 | "patchline" : { 989 | "destination" : [ "obj-1", 0 ], 990 | "order" : 0, 991 | "source" : [ "obj-4", 0 ] 992 | } 993 | 994 | } 995 | , { 996 | "patchline" : { 997 | "destination" : [ "obj-32", 2 ], 998 | "midpoints" : [ 426.0, 260.8701171875, 142.5, 260.8701171875 ], 999 | "order" : 2, 1000 | "source" : [ "obj-4", 0 ] 1001 | } 1002 | 1003 | } 1004 | , { 1005 | "patchline" : { 1006 | "destination" : [ "obj-33", 2 ], 1007 | "midpoints" : [ 426.0, 280.8701171875, 260.5, 280.8701171875 ], 1008 | "order" : 1, 1009 | "source" : [ "obj-4", 0 ] 1010 | } 1011 | 1012 | } 1013 | , { 1014 | "patchline" : { 1015 | "destination" : [ "obj-46", 0 ], 1016 | "order" : 1, 1017 | "source" : [ "obj-40", 0 ] 1018 | } 1019 | 1020 | } 1021 | , { 1022 | "patchline" : { 1023 | "destination" : [ "obj-47", 0 ], 1024 | "midpoints" : [ 256.0, 156.8701171875, 289.5, 156.8701171875 ], 1025 | "order" : 0, 1026 | "source" : [ "obj-40", 0 ] 1027 | } 1028 | 1029 | } 1030 | , { 1031 | "patchline" : { 1032 | "destination" : [ "obj-32", 1 ], 1033 | "midpoints" : [ 256.0, 213.8701171875, 101.0, 213.8701171875 ], 1034 | "order" : 1, 1035 | "source" : [ "obj-46", 0 ] 1036 | } 1037 | 1038 | } 1039 | , { 1040 | "patchline" : { 1041 | "destination" : [ "obj-33", 1 ], 1042 | "midpoints" : [ 256.0, 213.8701171875, 219.0, 213.8701171875 ], 1043 | "order" : 0, 1044 | "source" : [ "obj-46", 0 ] 1045 | } 1046 | 1047 | } 1048 | , { 1049 | "patchline" : { 1050 | "destination" : [ "obj-32", 2 ], 1051 | "midpoints" : [ 289.5, 210.3701171875, 142.5, 210.3701171875 ], 1052 | "order" : 1, 1053 | "source" : [ "obj-47", 0 ] 1054 | } 1055 | 1056 | } 1057 | , { 1058 | "patchline" : { 1059 | "destination" : [ "obj-33", 2 ], 1060 | "midpoints" : [ 289.5, 210.3701171875, 260.5, 210.3701171875 ], 1061 | "order" : 0, 1062 | "source" : [ "obj-47", 0 ] 1063 | } 1064 | 1065 | } 1066 | , { 1067 | "patchline" : { 1068 | "destination" : [ "obj-32", 0 ], 1069 | "source" : [ "obj-48", 0 ] 1070 | } 1071 | 1072 | } 1073 | , { 1074 | "patchline" : { 1075 | "destination" : [ "obj-33", 0 ], 1076 | "midpoints" : [ 177.5, 155.185058687500003, 177.5, 155.185058687500003 ], 1077 | "source" : [ "obj-49", 0 ] 1078 | } 1079 | 1080 | } 1081 | , { 1082 | "patchline" : { 1083 | "destination" : [ "obj-38", 0 ], 1084 | "source" : [ "obj-50", 0 ] 1085 | } 1086 | 1087 | } 1088 | ], 1089 | "saved_attribute_attributes" : { 1090 | "default_plcolor" : { 1091 | "expression" : "" 1092 | } 1093 | 1094 | } 1095 | 1096 | } 1097 | , 1098 | "patching_rect" : [ 51.0, 428.0, 60.0, 35.0 ], 1099 | "saved_attribute_attributes" : { 1100 | "default_plcolor" : { 1101 | "expression" : "" 1102 | } 1103 | 1104 | } 1105 | , 1106 | "saved_object_attributes" : { 1107 | "description" : "", 1108 | "digest" : "", 1109 | "editing_bgcolor" : [ 0.215686274509804, 0.215686274509804, 0.215686274509804, 1.0 ], 1110 | "globalpatchername" : "", 1111 | "locked_bgcolor" : [ 0.215686274509804, 0.215686274509804, 0.215686274509804, 1.0 ], 1112 | "tags" : "" 1113 | } 1114 | , 1115 | "text" : "p wavefold" 1116 | } 1117 | 1118 | } 1119 | , { 1120 | "box" : { 1121 | "id" : "obj-24", 1122 | "linecount" : 2, 1123 | "maxclass" : "newobj", 1124 | "numinlets" : 2, 1125 | "numoutlets" : 1, 1126 | "outlettype" : [ "multichannelsignal" ], 1127 | "patching_rect" : [ 51.0, 342.5, 49.0, 35.0 ], 1128 | "text" : "mc.+~ 0." 1129 | } 1130 | 1131 | } 1132 | , { 1133 | "box" : { 1134 | "id" : "obj-18", 1135 | "maxclass" : "newobj", 1136 | "numinlets" : 2, 1137 | "numoutlets" : 1, 1138 | "outlettype" : [ "multichannelsignal" ], 1139 | "patching_rect" : [ 51.0, 275.0, 55.0, 22.0 ], 1140 | "text" : "mc.*~ 1." 1141 | } 1142 | 1143 | } 1144 | , { 1145 | "box" : { 1146 | "id" : "obj-16", 1147 | "maxclass" : "newobj", 1148 | "numinlets" : 1, 1149 | "numoutlets" : 1, 1150 | "outlettype" : [ "multichannelsignal" ], 1151 | "patching_rect" : [ 815.0, 263.0, 64.0, 22.0 ], 1152 | "text" : "mc.sig~ 0." 1153 | } 1154 | 1155 | } 1156 | , { 1157 | "box" : { 1158 | "id" : "obj-17", 1159 | "maxclass" : "message", 1160 | "numinlets" : 2, 1161 | "numoutlets" : 1, 1162 | "outlettype" : [ "" ], 1163 | "patching_rect" : [ 815.0, 227.0, 87.0, 22.0 ], 1164 | "text" : "setvalue $1 $2" 1165 | } 1166 | 1167 | } 1168 | , { 1169 | "box" : { 1170 | "id" : "obj-22", 1171 | "maxclass" : "newobj", 1172 | "numinlets" : 1, 1173 | "numoutlets" : 1, 1174 | "outlettype" : [ "multichannelsignal" ], 1175 | "patching_rect" : [ 564.0, 263.0, 64.0, 22.0 ], 1176 | "text" : "mc.sig~ 1." 1177 | } 1178 | 1179 | } 1180 | , { 1181 | "box" : { 1182 | "id" : "obj-23", 1183 | "maxclass" : "message", 1184 | "numinlets" : 2, 1185 | "numoutlets" : 1, 1186 | "outlettype" : [ "" ], 1187 | "patching_rect" : [ 564.0, 227.0, 87.0, 22.0 ], 1188 | "text" : "setvalue $1 $2" 1189 | } 1190 | 1191 | } 1192 | , { 1193 | "box" : { 1194 | "id" : "obj-7", 1195 | "linecount" : 3, 1196 | "maxclass" : "newobj", 1197 | "numinlets" : 1, 1198 | "numoutlets" : 1, 1199 | "outlettype" : [ "multichannelsignal" ], 1200 | "patching_rect" : [ 51.0, 499.0, 127.0, 49.0 ], 1201 | "text" : "mcs.nn~ #1 decode 1 #2" 1202 | } 1203 | 1204 | } 1205 | , { 1206 | "box" : { 1207 | "id" : "obj-6", 1208 | "linecount" : 3, 1209 | "maxclass" : "newobj", 1210 | "numinlets" : 1, 1211 | "numoutlets" : 1, 1212 | "outlettype" : [ "multichannelsignal" ], 1213 | "patching_rect" : [ 51.0, 129.0, 126.0, 49.0 ], 1214 | "text" : "mcs.nn~ #1 encode 1 #2" 1215 | } 1216 | 1217 | } 1218 | ], 1219 | "lines" : [ { 1220 | "patchline" : { 1221 | "destination" : [ "obj-23", 0 ], 1222 | "source" : [ "obj-1", 0 ] 1223 | } 1224 | 1225 | } 1226 | , { 1227 | "patchline" : { 1228 | "destination" : [ "obj-5", 0 ], 1229 | "source" : [ "obj-10", 0 ] 1230 | } 1231 | 1232 | } 1233 | , { 1234 | "patchline" : { 1235 | "destination" : [ "obj-53", 3 ], 1236 | "midpoints" : [ 272.0, 416.5, 101.5, 416.5 ], 1237 | "source" : [ "obj-11", 0 ] 1238 | } 1239 | 1240 | } 1241 | , { 1242 | "patchline" : { 1243 | "destination" : [ "obj-3", 0 ], 1244 | "midpoints" : [ 182.5, 142.0, 255.5, 142.0 ], 1245 | "order" : 1, 1246 | "source" : [ "obj-12", 0 ] 1247 | } 1248 | 1249 | } 1250 | , { 1251 | "patchline" : { 1252 | "destination" : [ "obj-4", 0 ], 1253 | "midpoints" : [ 182.5, 478.0, 255.5, 478.0 ], 1254 | "order" : 0, 1255 | "source" : [ "obj-12", 0 ] 1256 | } 1257 | 1258 | } 1259 | , { 1260 | "patchline" : { 1261 | "destination" : [ "obj-6", 0 ], 1262 | "midpoints" : [ 182.5, 115.0, 60.5, 115.0 ], 1263 | "order" : 3, 1264 | "source" : [ "obj-12", 0 ] 1265 | } 1266 | 1267 | } 1268 | , { 1269 | "patchline" : { 1270 | "destination" : [ "obj-7", 0 ], 1271 | "midpoints" : [ 182.5, 473.0, 60.5, 473.0 ], 1272 | "order" : 2, 1273 | "source" : [ "obj-12", 0 ] 1274 | } 1275 | 1276 | } 1277 | , { 1278 | "patchline" : { 1279 | "destination" : [ "obj-39", 0 ], 1280 | "source" : [ "obj-13", 0 ] 1281 | } 1282 | 1283 | } 1284 | , { 1285 | "patchline" : { 1286 | "destination" : [ "obj-53", 2 ], 1287 | "midpoints" : [ 317.5, 421.5, 87.833333333333329, 421.5 ], 1288 | "source" : [ "obj-14", 0 ] 1289 | } 1290 | 1291 | } 1292 | , { 1293 | "patchline" : { 1294 | "destination" : [ "obj-1", 0 ], 1295 | "source" : [ "obj-15", 0 ] 1296 | } 1297 | 1298 | } 1299 | , { 1300 | "patchline" : { 1301 | "destination" : [ "obj-24", 1 ], 1302 | "midpoints" : [ 824.5, 325.75, 90.5, 325.75 ], 1303 | "order" : 1, 1304 | "source" : [ "obj-16", 0 ] 1305 | } 1306 | 1307 | } 1308 | , { 1309 | "patchline" : { 1310 | "destination" : [ "obj-34", 1 ], 1311 | "midpoints" : [ 824.5, 327.75, 285.5, 327.75 ], 1312 | "order" : 0, 1313 | "source" : [ "obj-16", 0 ] 1314 | } 1315 | 1316 | } 1317 | , { 1318 | "patchline" : { 1319 | "destination" : [ "obj-16", 0 ], 1320 | "source" : [ "obj-17", 0 ] 1321 | } 1322 | 1323 | } 1324 | , { 1325 | "patchline" : { 1326 | "destination" : [ "obj-24", 0 ], 1327 | "source" : [ "obj-18", 0 ] 1328 | } 1329 | 1330 | } 1331 | , { 1332 | "patchline" : { 1333 | "destination" : [ "obj-13", 0 ], 1334 | "source" : [ "obj-19", 2 ] 1335 | } 1336 | 1337 | } 1338 | , { 1339 | "patchline" : { 1340 | "destination" : [ "obj-17", 0 ], 1341 | "source" : [ "obj-2", 0 ] 1342 | } 1343 | 1344 | } 1345 | , { 1346 | "patchline" : { 1347 | "destination" : [ "obj-10", 0 ], 1348 | "source" : [ "obj-20", 0 ] 1349 | } 1350 | 1351 | } 1352 | , { 1353 | "patchline" : { 1354 | "destination" : [ "obj-20", 0 ], 1355 | "midpoints" : [ 962.5, 750.5, 863.25, 750.5 ], 1356 | "order" : 0, 1357 | "source" : [ "obj-21", 0 ] 1358 | } 1359 | 1360 | } 1361 | , { 1362 | "patchline" : { 1363 | "destination" : [ "obj-33", 0 ], 1364 | "midpoints" : [ 962.5, 688.5, 824.5, 688.5 ], 1365 | "order" : 1, 1366 | "source" : [ "obj-21", 0 ] 1367 | } 1368 | 1369 | } 1370 | , { 1371 | "patchline" : { 1372 | "destination" : [ "obj-18", 1 ], 1373 | "midpoints" : [ 573.5, 315.0, 454.0, 315.0, 454.0, 264.0, 96.5, 264.0 ], 1374 | "order" : 1, 1375 | "source" : [ "obj-22", 0 ] 1376 | } 1377 | 1378 | } 1379 | , { 1380 | "patchline" : { 1381 | "destination" : [ "obj-35", 1 ], 1382 | "midpoints" : [ 573.5, 314.0, 453.25, 314.0, 453.25, 264.0, 291.5, 264.0 ], 1383 | "order" : 0, 1384 | "source" : [ "obj-22", 0 ] 1385 | } 1386 | 1387 | } 1388 | , { 1389 | "patchline" : { 1390 | "destination" : [ "obj-22", 0 ], 1391 | "source" : [ "obj-23", 0 ] 1392 | } 1393 | 1394 | } 1395 | , { 1396 | "patchline" : { 1397 | "destination" : [ "obj-53", 0 ], 1398 | "source" : [ "obj-24", 0 ] 1399 | } 1400 | 1401 | } 1402 | , { 1403 | "patchline" : { 1404 | "destination" : [ "obj-16", 0 ], 1405 | "midpoints" : [ 540.0, 531.0, 988.25, 531.0, 988.25, 255.0, 824.5, 255.0 ], 1406 | "order" : 1, 1407 | "source" : [ "obj-25", 0 ] 1408 | } 1409 | 1410 | } 1411 | , { 1412 | "patchline" : { 1413 | "destination" : [ "obj-19", 0 ], 1414 | "midpoints" : [ 540.0, 529.5, 586.0, 529.5 ], 1415 | "order" : 2, 1416 | "source" : [ "obj-25", 0 ] 1417 | } 1418 | 1419 | } 1420 | , { 1421 | "patchline" : { 1422 | "destination" : [ "obj-22", 0 ], 1423 | "midpoints" : [ 540.0, 526.0, 684.75, 526.0, 684.75, 252.0, 573.5, 252.0 ], 1424 | "order" : 3, 1425 | "source" : [ "obj-25", 0 ] 1426 | } 1427 | 1428 | } 1429 | , { 1430 | "patchline" : { 1431 | "destination" : [ "obj-28", 0 ], 1432 | "midpoints" : [ 540.0, 531.0, 1294.75, 531.0, 1294.75, 252.0, 1159.5, 252.0 ], 1433 | "order" : 0, 1434 | "source" : [ "obj-25", 0 ] 1435 | } 1436 | 1437 | } 1438 | , { 1439 | "patchline" : { 1440 | "destination" : [ "obj-3", 0 ], 1441 | "midpoints" : [ 131.5, 122.0, 255.5, 122.0 ], 1442 | "source" : [ "obj-26", 0 ] 1443 | } 1444 | 1445 | } 1446 | , { 1447 | "patchline" : { 1448 | "destination" : [ "obj-32", 0 ], 1449 | "source" : [ "obj-27", 0 ] 1450 | } 1451 | 1452 | } 1453 | , { 1454 | "patchline" : { 1455 | "destination" : [ "obj-24", 1 ], 1456 | "midpoints" : [ 1159.5, 345.75, 90.5, 345.75 ], 1457 | "order" : 1, 1458 | "source" : [ "obj-28", 0 ] 1459 | } 1460 | 1461 | } 1462 | , { 1463 | "patchline" : { 1464 | "destination" : [ "obj-34", 1 ], 1465 | "midpoints" : [ 1159.5, 344.5, 675.5, 344.5, 675.5, 331.5, 285.5, 331.5 ], 1466 | "order" : 0, 1467 | "source" : [ "obj-28", 0 ] 1468 | } 1469 | 1470 | } 1471 | , { 1472 | "patchline" : { 1473 | "destination" : [ "obj-20", 1 ], 1474 | "source" : [ "obj-29", 0 ] 1475 | } 1476 | 1477 | } 1478 | , { 1479 | "patchline" : { 1480 | "destination" : [ "obj-30", 0 ], 1481 | "source" : [ "obj-29", 1 ] 1482 | } 1483 | 1484 | } 1485 | , { 1486 | "patchline" : { 1487 | "destination" : [ "obj-36", 1 ], 1488 | "midpoints" : [ 897.25, 538.0, 973.0, 538.0 ], 1489 | "source" : [ "obj-29", 2 ] 1490 | } 1491 | 1492 | } 1493 | , { 1494 | "patchline" : { 1495 | "destination" : [ "obj-25", 0 ], 1496 | "midpoints" : [ 255.5, 213.5, 540.0, 213.5 ], 1497 | "order" : 0, 1498 | "source" : [ "obj-3", 0 ] 1499 | } 1500 | 1501 | } 1502 | , { 1503 | "patchline" : { 1504 | "destination" : [ "obj-35", 0 ], 1505 | "order" : 1, 1506 | "source" : [ "obj-3", 0 ] 1507 | } 1508 | 1509 | } 1510 | , { 1511 | "patchline" : { 1512 | "destination" : [ "obj-36", 0 ], 1513 | "source" : [ "obj-30", 0 ] 1514 | } 1515 | 1516 | } 1517 | , { 1518 | "patchline" : { 1519 | "destination" : [ "obj-2", 0 ], 1520 | "source" : [ "obj-31", 0 ] 1521 | } 1522 | 1523 | } 1524 | , { 1525 | "patchline" : { 1526 | "destination" : [ "obj-41", 0 ], 1527 | "source" : [ "obj-32", 0 ] 1528 | } 1529 | 1530 | } 1531 | , { 1532 | "patchline" : { 1533 | "destination" : [ "obj-53", 1 ], 1534 | "midpoints" : [ 255.5, 402.25, 74.166666666666657, 402.25 ], 1535 | "source" : [ "obj-34", 0 ] 1536 | } 1537 | 1538 | } 1539 | , { 1540 | "patchline" : { 1541 | "destination" : [ "obj-34", 0 ], 1542 | "source" : [ "obj-35", 0 ] 1543 | } 1544 | 1545 | } 1546 | , { 1547 | "patchline" : { 1548 | "destination" : [ "obj-21", 0 ], 1549 | "source" : [ "obj-36", 0 ] 1550 | } 1551 | 1552 | } 1553 | , { 1554 | "patchline" : { 1555 | "destination" : [ "obj-13", 1 ], 1556 | "midpoints" : [ 623.0, 697.0, 695.0, 697.0, 695.0, 599.0, 665.0, 599.0 ], 1557 | "order" : 1, 1558 | "source" : [ "obj-39", 0 ] 1559 | } 1560 | 1561 | } 1562 | , { 1563 | "patchline" : { 1564 | "destination" : [ "obj-29", 0 ], 1565 | "midpoints" : [ 623.0, 752.0, 789.625, 752.0, 789.625, 489.0, 876.25, 489.0 ], 1566 | "order" : 0, 1567 | "source" : [ "obj-39", 0 ] 1568 | } 1569 | 1570 | } 1571 | , { 1572 | "patchline" : { 1573 | "destination" : [ "obj-38", 0 ], 1574 | "source" : [ "obj-4", 0 ] 1575 | } 1576 | 1577 | } 1578 | , { 1579 | "patchline" : { 1580 | "destination" : [ "obj-28", 0 ], 1581 | "midpoints" : [ 1159.5, 255.5, 1159.5, 255.5 ], 1582 | "source" : [ "obj-41", 0 ] 1583 | } 1584 | 1585 | } 1586 | , { 1587 | "patchline" : { 1588 | "destination" : [ "obj-45", 0 ], 1589 | "source" : [ "obj-42", 0 ] 1590 | } 1591 | 1592 | } 1593 | , { 1594 | "patchline" : { 1595 | "destination" : [ "obj-46", 0 ], 1596 | "source" : [ "obj-45", 0 ] 1597 | } 1598 | 1599 | } 1600 | , { 1601 | "patchline" : { 1602 | "destination" : [ "obj-28", 0 ], 1603 | "source" : [ "obj-46", 0 ] 1604 | } 1605 | 1606 | } 1607 | , { 1608 | "patchline" : { 1609 | "destination" : [ "obj-4", 0 ], 1610 | "midpoints" : [ 101.5, 480.5, 255.5, 480.5 ], 1611 | "source" : [ "obj-53", 1 ] 1612 | } 1613 | 1614 | } 1615 | , { 1616 | "patchline" : { 1617 | "destination" : [ "obj-7", 0 ], 1618 | "source" : [ "obj-53", 0 ] 1619 | } 1620 | 1621 | } 1622 | , { 1623 | "patchline" : { 1624 | "destination" : [ "obj-18", 0 ], 1625 | "source" : [ "obj-6", 0 ] 1626 | } 1627 | 1628 | } 1629 | , { 1630 | "patchline" : { 1631 | "destination" : [ "obj-37", 0 ], 1632 | "source" : [ "obj-7", 0 ] 1633 | } 1634 | 1635 | } 1636 | , { 1637 | "patchline" : { 1638 | "destination" : [ "obj-6", 0 ], 1639 | "midpoints" : [ 60.5, 95.0, 60.5, 95.0 ], 1640 | "source" : [ "obj-8", 0 ] 1641 | } 1642 | 1643 | } 1644 | , { 1645 | "patchline" : { 1646 | "destination" : [ "obj-12", 0 ], 1647 | "source" : [ "obj-9", 0 ] 1648 | } 1649 | 1650 | } 1651 | ], 1652 | "saved_attribute_attributes" : { 1653 | "default_plcolor" : { 1654 | "expression" : "" 1655 | } 1656 | 1657 | } 1658 | 1659 | } 1660 | 1661 | } 1662 | -------------------------------------------------------------------------------- /setMultislider.maxpat: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 8, 6 | "minor" : 5, 7 | "revision" : 4, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "classnamespace" : "box", 13 | "rect" : [ 19.0, 304.0, 690.0, 829.0 ], 14 | "bglocked" : 0, 15 | "openinpresentation" : 0, 16 | "default_fontsize" : 12.0, 17 | "default_fontface" : 0, 18 | "default_fontname" : "Arial", 19 | "gridonopen" : 1, 20 | "gridsize" : [ 15.0, 15.0 ], 21 | "gridsnaponopen" : 1, 22 | "objectsnaponopen" : 1, 23 | "statusbarvisible" : 2, 24 | "toolbarvisible" : 1, 25 | "lefttoolbarpinned" : 0, 26 | "toptoolbarpinned" : 0, 27 | "righttoolbarpinned" : 0, 28 | "bottomtoolbarpinned" : 0, 29 | "toolbars_unpinned_last_save" : 0, 30 | "tallnewobj" : 0, 31 | "boxanimatetime" : 200, 32 | "enablehscroll" : 1, 33 | "enablevscroll" : 1, 34 | "devicewidth" : 0.0, 35 | "description" : "", 36 | "digest" : "", 37 | "tags" : "", 38 | "style" : "", 39 | "subpatcher_template" : "", 40 | "assistshowspatchername" : 0, 41 | "boxes" : [ { 42 | "box" : { 43 | "id" : "obj-7", 44 | "linecount" : 4, 45 | "maxclass" : "message", 46 | "numinlets" : 2, 47 | "numoutlets" : 1, 48 | "outlettype" : [ "" ], 49 | "patching_rect" : [ 346.0, 323.0, 45.0, 62.0 ], 50 | "text" : "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" 51 | } 52 | 53 | } 54 | , { 55 | "box" : { 56 | "comment" : "", 57 | "id" : "obj-5", 58 | "index" : 1, 59 | "maxclass" : "inlet", 60 | "numinlets" : 0, 61 | "numoutlets" : 1, 62 | "outlettype" : [ "" ], 63 | "patching_rect" : [ 346.0, 89.0, 30.0, 30.0 ] 64 | } 65 | 66 | } 67 | , { 68 | "box" : { 69 | "comment" : "", 70 | "id" : "obj-2", 71 | "index" : 1, 72 | "maxclass" : "outlet", 73 | "numinlets" : 1, 74 | "numoutlets" : 0, 75 | "patching_rect" : [ 346.0, 417.0, 30.0, 30.0 ] 76 | } 77 | 78 | } 79 | , { 80 | "box" : { 81 | "comment" : "", 82 | "id" : "obj-1", 83 | "index" : 2, 84 | "maxclass" : "inlet", 85 | "numinlets" : 0, 86 | "numoutlets" : 1, 87 | "outlettype" : [ "" ], 88 | "patching_rect" : [ 415.5, 89.0, 30.0, 30.0 ] 89 | } 90 | 91 | } 92 | , { 93 | "box" : { 94 | "id" : "obj-65", 95 | "maxclass" : "message", 96 | "numinlets" : 2, 97 | "numoutlets" : 1, 98 | "outlettype" : [ "" ], 99 | "patching_rect" : [ 415.5, 236.5, 29.5, 22.0 ], 100 | "text" : "#1" 101 | } 102 | 103 | } 104 | , { 105 | "box" : { 106 | "id" : "obj-61", 107 | "maxclass" : "newobj", 108 | "numinlets" : 2, 109 | "numoutlets" : 2, 110 | "outlettype" : [ "", "" ], 111 | "patching_rect" : [ 415.5, 271.5, 51.0, 22.0 ], 112 | "text" : "zl.group" 113 | } 114 | 115 | } 116 | , { 117 | "box" : { 118 | "id" : "obj-35", 119 | "maxclass" : "newobj", 120 | "numinlets" : 1, 121 | "numoutlets" : 2, 122 | "outlettype" : [ "bang", "int" ], 123 | "patching_rect" : [ 415.5, 151.0, 51.0, 22.0 ], 124 | "text" : "t b i" 125 | } 126 | 127 | } 128 | , { 129 | "box" : { 130 | "id" : "obj-34", 131 | "maxclass" : "newobj", 132 | "numinlets" : 2, 133 | "numoutlets" : 3, 134 | "outlettype" : [ "bang", "bang", "int" ], 135 | "patching_rect" : [ 415.5, 201.0, 40.0, 22.0 ], 136 | "text" : "uzi 8" 137 | } 138 | 139 | } 140 | ], 141 | "lines" : [ { 142 | "patchline" : { 143 | "destination" : [ "obj-35", 0 ], 144 | "source" : [ "obj-1", 0 ] 145 | } 146 | 147 | } 148 | , { 149 | "patchline" : { 150 | "destination" : [ "obj-65", 0 ], 151 | "source" : [ "obj-34", 0 ] 152 | } 153 | 154 | } 155 | , { 156 | "patchline" : { 157 | "destination" : [ "obj-7", 0 ], 158 | "midpoints" : [ 435.5, 228.5, 355.5, 228.5 ], 159 | "source" : [ "obj-34", 1 ] 160 | } 161 | 162 | } 163 | , { 164 | "patchline" : { 165 | "destination" : [ "obj-34", 1 ], 166 | "midpoints" : [ 457.0, 186.5, 446.0, 186.5 ], 167 | "order" : 1, 168 | "source" : [ "obj-35", 1 ] 169 | } 170 | 171 | } 172 | , { 173 | "patchline" : { 174 | "destination" : [ "obj-34", 0 ], 175 | "source" : [ "obj-35", 0 ] 176 | } 177 | 178 | } 179 | , { 180 | "patchline" : { 181 | "destination" : [ "obj-61", 1 ], 182 | "midpoints" : [ 457.0, 220.75, 457.0, 220.75 ], 183 | "order" : 0, 184 | "source" : [ "obj-35", 1 ] 185 | } 186 | 187 | } 188 | , { 189 | "patchline" : { 190 | "destination" : [ "obj-7", 0 ], 191 | "source" : [ "obj-5", 0 ] 192 | } 193 | 194 | } 195 | , { 196 | "patchline" : { 197 | "destination" : [ "obj-7", 1 ], 198 | "midpoints" : [ 425.0, 305.75, 381.5, 305.75 ], 199 | "source" : [ "obj-61", 0 ] 200 | } 201 | 202 | } 203 | , { 204 | "patchline" : { 205 | "destination" : [ "obj-61", 0 ], 206 | "source" : [ "obj-65", 0 ] 207 | } 208 | 209 | } 210 | , { 211 | "patchline" : { 212 | "destination" : [ "obj-2", 0 ], 213 | "midpoints" : [ 355.5, 394.0, 355.5, 394.0 ], 214 | "source" : [ "obj-7", 0 ] 215 | } 216 | 217 | } 218 | ], 219 | "saved_attribute_attributes" : { 220 | "default_plcolor" : { 221 | "expression" : "" 222 | } 223 | 224 | } 225 | 226 | } 227 | 228 | } 229 | -------------------------------------------------------------------------------- /transfer.amxd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwerkk/transfer-m4l/a5a7b9b7c35309acef64a5432f4ef5f7ee0e07c3/transfer.amxd --------------------------------------------------------------------------------