"text" : "p sonogram"
}
- }
-, {
- "box" : {
- "id" : "obj-252",
- "maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 9142.0, 130.476207196712494, 85.0, 22.0 ],
- "text" : "o.route /11 /12"
- }
-
- }
-, {
- "box" : {
- "id" : "obj-251",
- "maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 7282.0, 132.000001966953278, 79.0, 22.0 ],
- "text" : "o.route /9 /10"
- }
-
- }
-, {
- "box" : {
- "id" : "obj-180",
- "maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 5320.000681757926941, 130.476207196712494, 73.0, 22.0 ],
- "text" : "o.route /7 /8"
- }
-
- }
-, {
- "box" : {
- "id" : "obj-177",
- "maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 3580.0, 141.600002110004425, 73.0, 22.0 ],
- "text" : "o.route /5 /6"
- }
-
- }
-, {
- "box" : {
- "id" : "obj-18",
- "maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 1828.0, 145.60000216960907, 73.0, 22.0 ],
- "text" : "o.route /3 /4"
- }
-
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "", "", "FullPacket" ],
- "patching_rect" : [ 47.0, 130.476207196712494, 73.0, 22.0 ],
- "text" : "o.route /1 /2"
+ "numoutlets" : 13,
+ "outlettype" : [ "", "", "", "", "", "", "", "", "", "", "", "", "FullPacket" ],
+ "patching_rect" : [ 47.0, 130.476207196712494, 634.0, 22.0 ],
+ "text" : "o.route /1 /2 /3 /4 /5 /6 /7 /8 /9 /10 /11 /12"
}
}
"boxes" : [ {
"box" : {
"id" : "obj-2",
- "linecount" : 121,
+ "linecount" : 126,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
- "patching_rect" : [ 39.0, 16.0, 819.0, 1629.0 ],
- "text" : "log 2025/06/22\n\n- /gain/scalar is calculated in a more reasonable way upon recall\n- variety now uses [urn]\n- fixed bug in stretcher engine whereby input instructions were not causing output\n\nlog 2025/06/21\n\n- verbose mode: contextualize printing with patcher information\n- gain scalar size bump\n- sonogram: popup window with large display\n- audio output tester: front panel; some sort of blip in meters\n\nlog 2025/06/16\n\n- added back engines to a total sum of 12\n- hid slider triangle for live.gain~ instances in engine_zone~\n- removed preset system for now in favor of a single state \n- removed keyboard lock\n- restored main engine data in json file\n- automated the loading of main folder path\n- improved printing in verbose mode\n- variety is now an int [0-100]\n- gain scalar now calculates output gain values (before it was a setter)\n- added a folder depth of 3 for sub-folders in main audio folder\n- /gain/range removed in all engines in favor of an internal gain selection between 0.8 and 1.2\n\nlog 2025/06/13\n\n- added to a total of 12 engines; will be the last engine# update before UI consolidation efforts commence\n- fragment engines now allow for a phrase to be specified; requires further testing before built into main UI\n- default audio path added, which is shared amongst all engines and adds portability to the set of patchers\n- updated all engine voice help files to include new audio path feature \n\nlog 2025/06/10\n\n- fixed bug whereby noise engine was not recalling data\n- updated polybuffer~ module w/ a global shared audio path for folder name presets across computers, filepath designation in main patch\n- now displays the last recalled preset (helpful when storing)\n- verbose mode now prints calculations and other relevant info (delays, filenames, etc.) hidden from user\n- removed individual audio filepaths for now\n\nlog 2025/06/07\n\n- added basic global preset system in anticipation of scheduler functions\n- master meter and gain is now larger\n- making edits to UI updates display to show [patch edited]\n- added secondary gain scalar to engine zones\n\nlog 2025/06/02\n\n- fade-in of 6 seconds applied to all engines except for fragments\n- removed front-panel text about Berkeley speaker locations\n- added mira display for new engines, added defaults into engine_status.json params\n- updated mira input range to be in dB - matching other gain param sets \n- preliminary version of ’sg_auditioner’ is now in the folder. \n\nlog 2025/06/01\n\n- new stretch engine; functionally identical to Hugh's original model. \n- implemented fade-out functionality for all engines except for fragments\n- density is now the number of voices. Note that for each type of engine, there is a fixed number of voices, so giving this a number beyond what is available does nothing useful. You can see the number of voices for each engine to the right of the “poly_voices” label. \n- two more stretch engines were added in the main patcher\n- the spacing range for engine UI is now twofold: You can recall the 5-45 range you mentioned (or any other range), but for auditioning you can now simply move the first number to whatever you want, and 5 seconds will be added to it for testing.\n\nlog 2025/05/21\n\n- removed toggle for keyboard status\n- implemented localized gain for all poly groups (engines), allowing remote control from mira. Note that this data is not yet bound to preset system recall but saves with patcher (for now; will implement further soon)\n- added master volume control as it relates to the summed speaker outputs; in the interest of time I've used live.gain which is not scalable; will make larger soon.\n- udpated default ramp time in noise engine to 3 seconds fade in/out, and removed duration parameter for now; only sequencer starts/stops\n- implemented a rudimentary form of verbose mode for engines only; will update with other relevant user actions soon\n- episode engine now fades down in 6sec as a result from a sequencer cue, rather than turning itself off before ending playback of a file\n\nlog 2025/05/20\n\n- implemented a 6-second fadeout for episode engine. This is the default.\n- mockup of mira UI in place; non-functional for now as we are thinking about client's use cases and playing around with ideas\n- mira: two pages available; http://192.168.191.145:8086/; click on [launch mira] to load in your default browser\n- increased visibility of sequencer status\n- added panic button to mock-up pages for mira (this is functional)\n\nlog 2025/05/14\n\n- added stereo destination functionality for all engine voices, as well as documenting in all help patchers\n- split out \"multi-sampler engine\" to separate engines for episodes, fragments, and stretcher\n- created various UI patchers for the disparate engines - these will be consolidated in the future with the goal of it being easier to manage\n- removed unnecessary params for user (e.g. things like /speed which won't be edited)\n- added /scan/factor param to externally available param list in stretcher engine\n- bug with engine randomly turned off was located: it's the new scheduler! :P \n- some readability updates in UI for engine params\n- temporarily disabled scheduler and main sequencer for testing / compositional needs\n- added various updated engine configurations into new master patch (_sonogarden)\n- added rudimentary logging mechanism into patch\n- removed spat system out of main patcher for now; stashed for future use\n- added a vt.variety_handler for poly~ voices that deal with audio files\n- \"epistretch\" engine is now \"stretcher\". It has been consolidated w/r/t functionality \n\nlog 2025/05/07\n\n- epistretch voice was reworked. now does not play a single segment. instead, spacing range is taken into account and there is no external triggering of sounds. The sounds are generated from turning the engine on and having it choose files based on variety and wait various times based on the spacing range. density controls how many of thse voices are active.\n- spat system was updated to use only one instance of spat. This drastically cuts down on cpu usage (less than half of what it was) and incorporates the idea of a single auditory scene (for now) in which all audio sources live. Each voice group is given an offset to address different spat sources, e.g., if there are 16 voices for grp1 and for grp2, grp2's offset will be 16 so that it starts at source number 17.\n- vt.density voice manager: density as an idea was completely revamped from prior patch based on last discussion. It now spawns more or less voices in the sequencer \"on state\" based on the number it has available. This number is the voice count. a density of 0. is a single voice\n- incorporated vt.density into relevant areas\n- rewired a lot of the main patch including cleanup of the osc namespace\n- removed unnecessary gain~ object for voice module - there is only one place to set overall gain for an engine now\n- developed bird flight behaviors for the future\n- added master metronome module. metro speed is now in an easy to access area and controllable with osc presets\n- main sonogarden.maxpat patch now has an area for osc addressing /main/whatever/whateverelse \n- developed a logging module; have not implemented yet \n- added [a] key for advancing sequencer\n- [panic] feature: spacebar now turns audio and sequencer off "
+ "patching_rect" : [ 39.0, 16.0, 819.0, 1696.0 ],
+ "text" : "log 2025/06/23\n\n- bug in master metronome fixed whereby only two engines advanced\n- \n\nlog 2025/06/22\n\n- /gain/scalar is calculated in a more reasonable way upon recall\n- variety now uses [urn]\n- fixed bug in stretcher engine whereby input instructions were not causing output\n\nlog 2025/06/21\n\n- verbose mode: contextualize printing with patcher information\n- gain scalar size bump\n- sonogram: popup window with large display\n- audio output tester: front panel; some sort of blip in meters\n\nlog 2025/06/16\n\n- added back engines to a total sum of 12\n- hid slider triangle for live.gain~ instances in engine_zone~\n- removed preset system for now in favor of a single state \n- removed keyboard lock\n- restored main engine data in json file\n- automated the loading of main folder path\n- improved printing in verbose mode\n- variety is now an int [0-100]\n- gain scalar now calculates output gain values (before it was a setter)\n- added a folder depth of 3 for sub-folders in main audio folder\n- /gain/range removed in all engines in favor of an internal gain selection between 0.8 and 1.2\n\nlog 2025/06/13\n\n- added to a total of 12 engines; will be the last engine# update before UI consolidation efforts commence\n- fragment engines now allow for a phrase to be specified; requires further testing before built into main UI\n- default audio path added, which is shared amongst all engines and adds portability to the set of patchers\n- updated all engine voice help files to include new audio path feature \n\nlog 2025/06/10\n\n- fixed bug whereby noise engine was not recalling data\n- updated polybuffer~ module w/ a global shared audio path for folder name presets across computers, filepath designation in main patch\n- now displays the last recalled preset (helpful when storing)\n- verbose mode now prints calculations and other relevant info (delays, filenames, etc.) hidden from user\n- removed individual audio filepaths for now\n\nlog 2025/06/07\n\n- added basic global preset system in anticipation of scheduler functions\n- master meter and gain is now larger\n- making edits to UI updates display to show [patch edited]\n- added secondary gain scalar to engine zones\n\nlog 2025/06/02\n\n- fade-in of 6 seconds applied to all engines except for fragments\n- removed front-panel text about Berkeley speaker locations\n- added mira display for new engines, added defaults into engine_status.json params\n- updated mira input range to be in dB - matching other gain param sets \n- preliminary version of ’sg_auditioner’ is now in the folder. \n\nlog 2025/06/01\n\n- new stretch engine; functionally identical to Hugh's original model. \n- implemented fade-out functionality for all engines except for fragments\n- density is now the number of voices. Note that for each type of engine, there is a fixed number of voices, so giving this a number beyond what is available does nothing useful. You can see the number of voices for each engine to the right of the “poly_voices” label. \n- two more stretch engines were added in the main patcher\n- the spacing range for engine UI is now twofold: You can recall the 5-45 range you mentioned (or any other range), but for auditioning you can now simply move the first number to whatever you want, and 5 seconds will be added to it for testing.\n\nlog 2025/05/21\n\n- removed toggle for keyboard status\n- implemented localized gain for all poly groups (engines), allowing remote control from mira. Note that this data is not yet bound to preset system recall but saves with patcher (for now; will implement further soon)\n- added master volume control as it relates to the summed speaker outputs; in the interest of time I've used live.gain which is not scalable; will make larger soon.\n- udpated default ramp time in noise engine to 3 seconds fade in/out, and removed duration parameter for now; only sequencer starts/stops\n- implemented a rudimentary form of verbose mode for engines only; will update with other relevant user actions soon\n- episode engine now fades down in 6sec as a result from a sequencer cue, rather than turning itself off before ending playback of a file\n\nlog 2025/05/20\n\n- implemented a 6-second fadeout for episode engine. This is the default.\n- mockup of mira UI in place; non-functional for now as we are thinking about client's use cases and playing around with ideas\n- mira: two pages available; http://192.168.191.145:8086/; click on [launch mira] to load in your default browser\n- increased visibility of sequencer status\n- added panic button to mock-up pages for mira (this is functional)\n\nlog 2025/05/14\n\n- added stereo destination functionality for all engine voices, as well as documenting in all help patchers\n- split out \"multi-sampler engine\" to separate engines for episodes, fragments, and stretcher\n- created various UI patchers for the disparate engines - these will be consolidated in the future with the goal of it being easier to manage\n- removed unnecessary params for user (e.g. things like /speed which won't be edited)\n- added /scan/factor param to externally available param list in stretcher engine\n- bug with engine randomly turned off was located: it's the new scheduler! :P \n- some readability updates in UI for engine params\n- temporarily disabled scheduler and main sequencer for testing / compositional needs\n- added various updated engine configurations into new master patch (_sonogarden)\n- added rudimentary logging mechanism into patch\n- removed spat system out of main patcher for now; stashed for future use\n- added a vt.variety_handler for poly~ voices that deal with audio files\n- \"epistretch\" engine is now \"stretcher\". It has been consolidated w/r/t functionality \n\nlog 2025/05/07\n\n- epistretch voice was reworked. now does not play a single segment. instead, spacing range is taken into account and there is no external triggering of sounds. The sounds are generated from turning the engine on and having it choose files based on variety and wait various times based on the spacing range. density controls how many of thse voices are active.\n- spat system was updated to use only one instance of spat. This drastically cuts down on cpu usage (less than half of what it was) and incorporates the idea of a single auditory scene (for now) in which all audio sources live. Each voice group is given an offset to address different spat sources, e.g., if there are 16 voices for grp1 and for grp2, grp2's offset will be 16 so that it starts at source number 17.\n- vt.density voice manager: density as an idea was completely revamped from prior patch based on last discussion. It now spawns more or less voices in the sequencer \"on state\" based on the number it has available. This number is the voice count. a density of 0. is a single voice\n- incorporated vt.density into relevant areas\n- rewired a lot of the main patch including cleanup of the osc namespace\n- removed unnecessary gain~ object for voice module - there is only one place to set overall gain for an engine now\n- developed bird flight behaviors for the future\n- added master metronome module. metro speed is now in an easy to access area and controllable with osc presets\n- main sonogarden.maxpat patch now has an area for osc addressing /main/whatever/whateverelse \n- developed a logging module; have not implemented yet \n- added [a] key for advancing sequencer\n- [panic] feature: spacebar now turns audio and sequencer off "
}
}
}
, {
"patchline" : {
- "destination" : [ "obj-18", 0 ],
- "source" : [ "obj-16", 2 ]
+ "destination" : [ "obj-152", 0 ],
+ "source" : [ "obj-16", 9 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-166", 0 ],
+ "source" : [ "obj-16", 10 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-183", 0 ],
+ "source" : [ "obj-16", 3 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-202", 0 ],
+ "source" : [ "obj-16", 4 ]
}
}
"source" : [ "obj-16", 0 ]
}
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-214", 0 ],
+ "source" : [ "obj-16", 5 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-226", 0 ],
+ "source" : [ "obj-16", 6 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-238", 0 ],
+ "source" : [ "obj-16", 11 ]
+ }
+
}
, {
"patchline" : {
"source" : [ "obj-16", 1 ]
}
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-55", 0 ],
+ "source" : [ "obj-16", 7 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-59", 0 ],
+ "source" : [ "obj-16", 8 ]
+ }
+
+ }
+, {
+ "patchline" : {
+ "destination" : [ "obj-78", 0 ],
+ "source" : [ "obj-16", 2 ]
+ }
+
}
, {
"patchline" : {
"source" : [ "obj-176", 1 ]
}
- }
-, {
- "patchline" : {
- "destination" : [ "obj-180", 0 ],
- "source" : [ "obj-177", 2 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-202", 0 ],
- "source" : [ "obj-177", 0 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-214", 0 ],
- "source" : [ "obj-177", 1 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-177", 0 ],
- "source" : [ "obj-18", 2 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-183", 0 ],
- "source" : [ "obj-18", 1 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-78", 0 ],
- "source" : [ "obj-18", 0 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-226", 0 ],
- "source" : [ "obj-180", 0 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-251", 0 ],
- "source" : [ "obj-180", 2 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-55", 0 ],
- "source" : [ "obj-180", 1 ]
- }
-
}
, {
"patchline" : {
"source" : [ "obj-250", 0 ]
}
- }
-, {
- "patchline" : {
- "destination" : [ "obj-152", 0 ],
- "source" : [ "obj-251", 1 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-252", 0 ],
- "source" : [ "obj-251", 2 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-59", 0 ],
- "source" : [ "obj-251", 0 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-166", 0 ],
- "source" : [ "obj-252", 0 ]
- }
-
- }
-, {
- "patchline" : {
- "destination" : [ "obj-238", 0 ],
- "source" : [ "obj-252", 1 ]
- }
-
}
, {
"patchline" : {