It’s possible to regard Max in a similar way to using a hardware modular. Most of my patches consist mainly of a handful of BEAP modules geared towards a rather immediate result. Generally what I’m doing with Max, when I reflect on it, is sequencing MIDI. When I don’t feel like diving down the soft synth rabbit hole, or adding modular complexity (just want to get some music out of this sequence I’ve quickly patched up), I’ll send the MIDI to my Nord Rack 3. I regard these types of patches as ephemeral. They don’t get saved. The wires between my patchers no different from 3.5mm cables in this case.
0 to music in a handful of minutes. Patching as a quick sketch using only high-level abstractions.
Now, patches like the BEAP patches are really pretty complex high-level abstractions. Stretta put quite a bit of time into each one, I’m sure. But they’re reusable. The promise of Max to me is the ability to create new modules at zero material cost. That’s really a pretty remarkable promise! Once you’ve got your new bpatchers, you can re-use them endlessly in the ephemeral way described above.
I’ve just separated the experience of playing with bpatchers, and creating them. One is music-making, the other amounts to programming. Different tasks, different mindsets, different set and setting, different points in time.
Olivier of Mutable Streams mentioned in his Reddit AMA that he doesn’t put any Mutable modules in his rack at home because it would mean that musical sessions would descend into edge case debugging sessions.
So you’ve gotta compartmentalize.
And when you are programming, well, you start to ask a different set of questions. Am I using my time as efficiently as possible while programming? This is how threads like
get started.
Some of that thread appears to be pushing towards programming languages based in text, that drop to a lower-level of abstraction. Ugh. That sounds even further away from music-making! And it is. But the idea is not to stay at that low level of abstraction. The idea is to get good at working at that low level in a structured manner, so that you can create high-level abstractions that are more thoroughly your own. Where the jacks and the wires are all in the right places, carrying the voltages and signals that you really need, out of abstractions that are deeply understood by you, in a form that is maintainable and reliable over long periods of time, with less vulnerability to the whims of the platform changing under your feet. In other words, much less ephemeral programming.
So that when you are making your ephemeral music (striking while the iron of inspiration is hot!) you don’t get pulled into a session of debugging your less ephemeral high level abstractions.
Or there are some that say what you need is to work with higher-level abstractions. Rather than opening up your IDE and writing C or JavaScript code, open up Reaktor and work with decidedly musical abstractions. “Climbing the ladder of abstraction” is a task that every programmer seems to approach in a slightly different way.
http://worrydream.com/LadderOfAbstraction/
This process of taking off a musician hat and putting on a programmer hat works in other ways. I find when I am working with synths I get really focused on certain musical qualities. Lots of attention gets placed on timbre. Some on rhythm. But my music theory thinking can get a bit flabby or even non-existant at times, especially on the eurorack modular. But put a guitar in my hands, and I start thinking about modes and progressions… Put a drum in my hands and I notice how much more prominent in my mind issues of metre and rhythm become… 88 polyphonic keys and the bleeps and bloops start to sound a bit more jazzy… so there are a lot of hats one could wear. You look pretty silly trying to wear more than one at a time.
But just as in school, one can only sign up for so many electives before you start to get spread thin. The hardest thing for me to accept is the fact that I’m really not likely to live for 200 years.