Modular Algorithmic Composition System?

    Sep 08 2013 | 11:25 pm
    I'm looking for something other than a traditional step sequencer to run my Nord Modulars.
    The other day I was looking longingly at Music Wonk on my Mac thinking "Surely there is something like this on OSX, something for Max/MSP?"
    A modular algorithmic composition system but at a higher level of abstraction, like Vizzie is to video.
    Does such a thing exist?
    And are the externals the main algorithmic composition tools currently available? I've found Bach but it seems to be geared towards traditional score whereas i'm more interested in algorithmic or non-traditional symbolic composition.
    Your thoughts are much appreciated.

    • Sep 08 2013 | 11:44 pm
      there are tons and tons of abstractions for these sorts of things over at, and many a device at that can be broken apart for these things, but generally I find that you can get really great aleatoric niceness with 10-or-less objects in vanilla max...
    • Sep 09 2013 | 12:26 am
      I'm a bit surprised that Andreas (of all people!) would have neglected to mention the BEAP stuff - Vizzie-like modules used to teach analog synthesis at Berklee [a search on BEAP and MSP will prolly bring it right up]. They're a real pleasure to work with, and just bite-sized enough to be algorithmically satisfying in the way that analog patching can be.
    • Sep 09 2013 | 4:00 am
      Thanks guys. That BEAP looks cool - though not quite what I was looking for. I'm always interested in modular synthesis pedagogical tools. I'll give it a try with my MOTU and one of the Doepfers at work. Be interesting to compare it to EuroMax.
    • Sep 09 2013 | 5:00 am
      i´ve built something like that, it is older than vizzie, but still not officially distributed somewhere. :)
      oh damn, yahoo removed my pictures from the yahoogroup. lets see where i can have them.
    • Sep 09 2013 | 5:10 am
      ah ja.
      actually there are 2 times more modules as of today.
      btw, i wouldnt say that vizzie is a higher level of abstraction. of course things like "player", "recorder" and "mixer" are unavoidable, but the more you try to get away from the hardware unit paradigm, the more inspiring things are.
      dont forget that for composition you are basically just working on numbers. in opposite to working with video, it is easy to invent totally abstracted processes for notes and control data.
    • Sep 09 2013 | 6:05 am
      Roman that looks awesome. Are they for personal use only?
      Maybe I'm not using the term "abstraction" correctly in this case.
      If you have a look at the manual for music wonk you can see (in "Modules") they are mostly just mathematical functions but I guess the difference is they are geared towards a specific purpose - creating a value useful for MIDI output. Max/MSP is so diverse while it might be obvious that it can work in a specific context, finding how to get it working in that context is the real challenge for me.
      I've been working with Max for years but primarily with signal so using the data elements for MIDI is quite new.
    • Sep 09 2013 | 6:39 am
      there are some old downloads in that same archive, but i am not sure if it is the version with 5 pieces missing and 37 major bugs or the version with 19 pieces missing and 13 major bugs.
      also, its build for OS9 and has +5 more major bugs in max 5 and is (at least to my knowlegde) untested in max 6. and of course there is no manual, but you can contact me any time.
      there is no versioning and the building and repairing concept seems incompatible with relaesing a working version. i´ve stopped promising a checked&stable version to the world about 5 years ago.
      it is, secretly, still on my to do list, but no more promises.
      in OS9 it supports multimonitor-fullscreen and background pictures. :)
      oh yeah wonk, sureley a different beast, but in about the same category of applications i´d say.
      after looking at ist modules i see many things which look familiar, but there are also basic math objects just as we have in max/msp.
      for example XOR, greater as, or "testbit" are not really a musical function themselves. you kind of have to "program" with these modules, which is why in max we would call that an object.
      even * is not really interesting for making music. of course, in 110.modular and some other of my systems i am also using *, for example when transposing for one octave, or for calculating overtones. but i dont see the need for a multiplication module in a musical context. :)
      my first idea for the sequencer was to break the "classic" sequencer into three parts:
      where in a doepfer there is a clock, a counter, and switches/knobs, which are all hardwired, in 110.modular you have a clock module, a counter module, and a "sequencer gate" module which lets a number either pass or or not, so that you can combine different clocks, different counters, and different switches/gates/knobs – and insert additional processes between these.
      i call it additive/substractive composition.
      you can start with bach and modify it, you can start from nothing and let modules generate events, or you can use 8 copies of the "notecloud" module to generate millions of notes and then filter them down to something which you like.
    • Sep 09 2013 | 7:05 am
      @Roman, How are the modules connected - ie how did you achieve the modular bit in Max? Also, what passes between them, - are there some that just deal with lists, ie note data, some that just deal with floats 0.-1., signals or what?
    • Sep 09 2013 | 9:31 am
      Nice to see another Wiggler here...
      I'd take a look at Nodal...
      But also Karlheinz Essl's RTCLib...
    • Sep 09 2013 | 10:56 am
      Nice to see another Wiggler here…
      Aren't we everywhere? And hello!
      I’d take a look at Nodal…
      But also Karlheinz Essl’s RTCLib…
      Nodal is currently on my SSD - along with Iannix and Geosonix.
      RTCLib is downloaded to... looks like a monster :D
      dont forget that for composition you are basically just working on numbers. in opposite to working with video, it is easy to invent totally abstracted processes for notes and control data.
      Indeed. I'm wondering if avoiding the Skeuomorphic approach would be more satisfying.
      I'd probably be focussing my attention on Numerology but there is a bug i'm working through with the developer that's making it a no-go at the moment so I'm casting around for alternatives to Live 9. I'm clearly casting around for ideas at the moment and either i'll find something or end up building my own thing in Max with the help of some libraries.
      To summarise what I'm looking for with the "modular" approach to MIDI generation is something that can be synced to a clock (but doesn't have to be) that is easy to modify on the fly and flexible enough to approach a variety of different moods.
      I think the essentials I'm looking for are:
      - It can be "played" in realtime via a traditional keyboard, Launchpad or QWERTY in different ways for different purposes (for example - note entry via the keyboard, launchpad is nice for live control and mixing, qwerty for entering values)
      - You can easily enter the note values for each note or CC without breaking it
      - You don't have to stick to a grid - each sequence or "track" can be in a different time - or even un-synced triggered by events
      - Values can be automated, modulated and transformed in realtime and are represented and manipulated both by controllers and visual abstractions (like bezier envelopes or moving shapes)
      - Triggered notes can be made to fit an appropriate scale
    • Sep 09 2013 | 1:28 pm
      1000+ post wiggler here, with SandyB badge and everything :)
      Gregory, I was under the impression that it was the "musical note data generation" side of things we were talking about. BEAP is the best USP for max6 I've ever seen, no doubt.
    • Sep 09 2013 | 2:31 pm
      the basis data is note numbers - in floating point, so that you can use any scale system you want, while remaining on the linear layer (as opposed to Hz)
      many modules also working with "chords". those are lists of numbers such as "60 63 67", and many modules are taking both, single number and chords, exceptions are made where unavoidable.
      funny thing is, the data of the counters is numbers, too, of course.
      inside the box things are not as simple as they could be, for example the sequencer gates are also taking negative numbers. -3 in a gate of length 16 will be interpreted as "12".
      this turned out to be essential in order to give the user a high level or freedom.
      of course there is also control data from 0.-1. or -1.-1. or 0 and 1.
      because it is max – and everything is connected with patch cords – you can add custom process at any time. if this happens more often, i then turn these hacks into new modules.
      about numerology:
      a cool program, and i like the way you can save and recall parts of a setup. but for my taste it is simply not modular enough. i like the idea of the flexibility a programing enviroment gives you. also, it is midi only, while a max software can control anything, and with higher precision.
      about midi input:
      not quite a strength of my systems. i´ve been doing it with on-the-fly programming, but there are not many proper modules for that. sometimes it is very hard to find out where a module/interface border should be. the implementation of state saving is also in rubbish mode.
    • Sep 09 2013 | 2:53 pm
      Another MuffWiggler here (although more of a lurker these days) I was even out in SandyB's house for a MuffWiggler meet - a great day.
      I was going to say Noodle as well... also the blog is very much worth the read.
    • Sep 09 2013 | 4:37 pm
      and search on the forum will also turn up 3-5 threads full of ideas on the topic
    • Sep 09 2013 | 6:15 pm
      hhhhmmm, maybe this is relevant too ?
    • Sep 09 2013 | 7:27 pm
      i like your pic and your username :D
    • Sep 09 2013 | 8:56 pm
      i find it totally confusing that the user icons are of XL size every other day. wtf.
    • Sep 09 2013 | 9:19 pm
      i like your pic and your username :D
      Um... thanks. It's my old blogger icon from years ago and I'm not sure why it is coming up. I probably should change it - I'm way more hideous looking now.
      I will give Nodal another try. I always find I get frustrated with how slow it is to plot each point, then setup the MIDI for it, then do it again and again...
      I'm thinking Iannix in collaboration with some Max might be good.
    • Sep 10 2013 | 6:29 am
      "It’s my old blogger icon from years ago and I’m not sure why it is coming up."
      it's because is now taken over by wordpress(maybe your old blog was a wordpress account tied to same email registered here?).
      anyways, good to see crazy faces >:D
      110.modular always looked like a mammoth creation. nice, Roman.
      i checked out BEAP just now because of this thread... well-designed but a bit too basic for me(and i was hoping there was some DSP magic that would show how to create more of an analog sound within a digital environ, but that's probably expecting too much).
      still, i read i can use a 'dc-coupled' audio-interface to control my analog gear with it. i'm wondering, as i'm a noob to analog gear and just bought my first a week ago(plumbutter), how does this work?
      does this mean i can connect a 'CV' output in BEAP to the dac~ and from there take the signal from my hardware output and use it to directly control my analog gear?!
      i believe my interface does have dc-coupled outputs:
      i guess i'm wondering how's that work? technically speaking? to go from a digital signal in max between -1 and +1, to a +/-5V CV or 1v/octave? i can look at the BEAP patches for the math, but i'm wondering specifically about the normal voltage rating for audio coming from a digital signal, as compared to CV? anyone have any link that might explain the bridge between the two, within the hardware/cable-to-cable realm? (i want specifics not just to interface with my own digital designs in max and supercollider, but perhaps to experiment with the circuitry itself(maybe put an audio-2-cv input right there on the plumbutter...).. someday when i work up the nerve...)
      apologies if i'm unclear... this is a new area for me where i don't even know the terminology to describe what i'm asking :p
      (if i am unclear, no worries, i think i can keep looking and figure it out myself, i am good at that :D
      but in case anyone has a quick link, thought i'd ask)
      also, looking up my MOTU interface, i came across Volta:
      anyone try that? (probably works with Max... but damn, it needs an iLok which i hate D:)
    • Sep 10 2013 | 6:34 am
      Hey Raja,
      I have an Ultralite and haven't tried sending CV as the Nord Modular takes MIDI (though I should probably try with a Doepfer) however I've heard that the Silent Way is the way to go. It's quite affordable also.
      Could be that you don't need it for BEAP though.
    • Sep 10 2013 | 6:43 am
      Oh and I played around with Nodal, Iannix and Geosonix connected to the NM and Geosonix is hands down the winner.
      Iannix I couldn't get anything out of and Nodal was too fiddly and didn't seem to allow for real-time modification. Geosonix worked really quickly sending MIDI directly out and there are numerous nice tweaks that can be coded and updated in realtime.
    • Sep 10 2013 | 8:12 am
      @raja: yes, all motu will work for CV.
      i am just not sure what beap would have to do with composition.
    • Sep 11 2013 | 12:32 am
      SilentWay looks impressive. thanks!
      "yes, all motu will work..."
      nice, i feel lucky to just happen to have one, thanks.
    • Sep 11 2013 | 3:17 am
      Silent Way seems to be good for converting MIDI to CV but I bet you will find a bunch of other tools - possibly free - in the Cycling74 Toolbox if you search for them.
      I was just reading on Muff's that you can send CV directly out from Reaktor also.
    • Sep 11 2013 | 5:03 am
      So, can you control various aspects of Geosonix with midi or osc?
    • Sep 11 2013 | 5:52 am
      So, can you control various aspects of Geosonix with midi or osc?
      Looks like yes but you would have to script it:
      However, a script may also contain a function called onMessage(protocol, host, port, destination, param) that is called each time Geosonix receives an external message (midi, osc, etc.)
      In the onMessage function, you need to provide JavaScript code that maps message parameters to Geosonix commands.
      See the “External Control” script in the Tools section of the file browser for how to do this. This script defines some of the controls on the Korg padKontrol to control features of Geosonix such as zoom, play, stop, rewind, and scroll up, down, left and right. You can run this script by double clicking on it, which will activate it ready to receive midi messages.
    • Sep 11 2013 | 6:50 am
      Silent Way seems to be good for converting MIDI to CV but I bet you will find a bunch of other tools – possibly free – in the Cycling74 Toolbox if you search for them.
      I was just reading on Muff’s that you can send CV directly out from Reaktor also.
      also, looking up my MOTU interface, i came across Volta:
      anyone try that? (probably works with Max… but damn, it needs an iLok which i hate D:)
      Guys guys guys; BEAP has the quantizers, callibration, all that. You don't need Volta, or Silent Way, or really anything else to interface with outside analog, if you have BEAP running.
      ...sorry for the boldening, but this looked like it was getting out of hand :)
    • Sep 14 2013 | 9:07 am
      Hey no worries, Wetterberg, this is just a discussion of everything available and i was glad to hear of all the things hip to the analog world. That's all(i have no plans to get Volta or SilentWay).
      Furthermore, i just tested, and the analog synth of mine in question is a plumbutter, it uses the old style banana-plug patching which, based on my recent experiments, must have a different style of grounding than what BEAP is designed for(which is why i was originally asking for a more technical answer about how to convert voltages from the digital world).
      I rigged up a quarter-inch to rca adapter-cable, to insert just the tip of the rca end into the banana-plug jacks on the plumbutter, i was able to read the signal and at least understand what the different control, pulse, and audio banana-jacks on the plumbutter would output, but when i tried to go the other way, sending similar signals into the plumbutter banana-jacks, it didn't work(but i notice, when inserting the tip into banana-jacks specific to triggers, it would cause triggers everytime i touched the tip to the banana-jack, which makes me think i obviously need some sort of converter-cable to take care of the different style of grounding between different style of cables...(?) ...and so(with no ohmeter or anything similar to test and my circuitry knowledge being at an all time low), i'm at an impasse and assume this:
      "You don’t need... anything else to interface with outside analog, if you have BEAP running."
      is not actually true for banana-plug style synths...(?)
    • Sep 14 2013 | 9:17 am
      Get a multimeter on that.
      We're going to need to retitle this thread soon but i'm interested - is the CV output by MOTU a unipolar signal as in 0 - 5v or is it bipolar +/- 1 or 5. These are the types of CV i've heard about and i'm assuming the MOTU only outputs unipolar therefore it would not work on bipolar CV stuff.
      Just a theory - wondering how accurate it is.
    • Sep 14 2013 | 10:16 am
      "is the CV output by MOTU a unipolar signal as in 0 – 5v or is it bipolar +/- 1 or 5... i’m assuming the MOTU only outputs unipolar therefore it would not work on bipolar CV stuff"
      ah, i see now, this was the info. i was hoping for. thank you. unfortunately, my multimeter/VOM/thingie is broken and i'll have to acquire a new one, but i'll try to test this at some point and report back.
      [edit: also found some more fodder for research:
    • Sep 14 2013 | 10:37 am
      my MOTU 828 mk3 outputs bipolar +5 to -5 voltage. I ended up building an amplifier to bring the voltages up to +10 / -10.