Time and duration generator for open scores?
Hi all,
I'm looking to program a generator that allows me to create schema of durations/timings/time-intervals in different algorithmic ways for use in open score pieces. Mostly I'm looking to create "sounding sections" and "silent sections" in seconds (not musical time), somewhat in the way of e.g. Cage's number pieces (e.g. http://exhibitions.nypl.org/johncage/sites/exhibitions.nypl.org.johncage/files/Four4-Sketches-p1f859_th.jpg, http://www.sonicyouth.com/mustang/tab/four6.gif). Then I would go on to utilise these in one way or another. So basically I'm not looking to do anything with notes or midi, rather just generate lists (or some kind of other visualisations) of durations, sections etc, generated algorithmically using e.g. the function object, simple ratios between sections, bounded randomisation, markov-chains, feedback etc.
As I'm very rusty with Max, I am now looking for any similar work that's out there for starting points and inspirations. Can anyone suggest anything in this vein done in Max I could check out?
Thanks in advance!
Iannix (http://www.iannix.org)?
Thanks Yaniki, I'll check it out!
Am I correct that it's not programmed in Max though? Ideally I'd like to investigate something made in Max, so I could also get Max programming ideas and such from it...
Staying "inside" Max is also possible, for example with [seq~] object. [seq~] itself is not a "gui" object, so using it required some additional effort, but you may also consider using objects from the Bach [https://cycling74.com/tools/bach-automated-composers-helper] library (containing, inter alia, very useful gui objects for scoring, etc. - btw. Bach library is a great tool for algorithmic composition).
Actually, when I see the pics you posted, I think that just going through a couple of Max tutorials (basics, maths, data structures), you will get plenty of ideas for algorithmic composition. More advanced, Bach is currently the best thing for algorithmic composition within Max. Then, if you are a pure list lover, you'll step out of Max to look into OpenMusic, PWGL, OpusModus...
Thanks for the pointers Yaniki and Jean-Francois! I will definitely need to check out Bach then asap and see what kind tips I can pull from there. I have gone through all the Max tutorials some years ago, but indeed skimming through some of them again will probably give some inspiration.
I suspect that some of the programming elements that will probably give me a bit harder time relate to using Max in non-realtime, as I've almost always previously used Max for realtime applications (e.g. using randomisation for jitter in granular synthesis). I suppose Uzi's will feature heavily, and order of execution becomes critical.
And then the question of visualisation might cause some tricky issues as well, even though I'm not looking to do any complicated there. At least I would like to be able to see clearly relationships of "sounding sections" and "silent sections" between several different stems at a glance, and I wonder how much I could do with (i)tables, multisliders and such. Maybe Bach will provide some answers, though!
you basially want to build a network of small code fragments based on different metro objects.
Thanks Roman (and sorry for the slow response). I think I wasn't very clear earlier though that I'm not looking for any kind of real-time application - I'm just looking to make simple scores with algorithmically generated sections (or other kinds of sectional divisions / timing data) to be used elsewhere, primarily in my own composition work. So then it seems to me that I probably wouldn't want to use metros or other realtime objects like that, but instead use time abstractly and use uzis counters etc?
I checked out both Bach and Iannix, but in the end couldn't get much out of them that seemed directly applicable to what I want to achieve. IanniX seemed pretty geared to realtime work, and I couldn't find a way to algorithmically generate some kind of static (non-realtime) score with it. Bach on the other hand seemed very much geared towards traditional notation, which is also not applicable for me now.
The attached images try to highlight a bit what I'm looking to achieve. Ideally I'd like to be able to represent my timing schema as horizontal bars on a timeline like in one of the pictures (although I'd like to also clearly show the starting and ending time of each section in the same graphic.)
I think I have two separate problems with this, first one relating to list manipulation (and other techniques of number crunching) and the second one to visual representation.
Starting with the problem of number crunching, as a first sketch I've been trying to make a simple generator of musical sections whose length-development is controlled by a curve on a function object (so that sections can get (exponentially) shorter or longer as the piece progresses). However, I'm having a lot of trouble in trying to format the output of the function object into musically useful sections, so that there would be, say, lists of section start times and section end times (and possibly durations).
Attached is the patch - I've tried to use bucket and cycle etc to format a list where the previous section's ending time is the next section's starting time, but have found it weirdly challenging.
Can anyone please help me out a bit with this?