back
24 comments
Had the chance to meet Miller as he was part of my phd jury, as most of the time for persons of this caliber and with such a large impact, he was super nice and humble.

Regarding

> There’s a problem in Max and in Pure Data, which is that you’re writing these things in terms of how they act. You’re making an instrument. But someone wants to store a score in the thing, and then do things that refer to objects in the score. So far, there’s no good design — or at least I haven’t seen a good design — that actually marries these two ideas in a single environment that works.

I'm working towards it in https://ossia.io - the gist of the idea is to have a timeline with dataflow elements embedded directly into it so that parts of the score can connect to other parts which happen earlier / after. This allows to easily make instruments that evolve in time... though most of its users use it to make scores instead of instruments.

(this leads to trying to answer the question "what happens when two connected nodes of a dataflow graph execute for t=[0; 5seconds] for the source node, and t=[3; 7seconds] for the sink node").

> the gist of the idea is to have a timeline with dataflow elements embedded directly into it so that parts of the score can connect to other parts which happen earlier / after.

Why not allow nesting both ways? Why not allow timelines to be embedded within dataflow graphs, and then triggered by events that occur at arbitrary times? The outermost container can be a canvas embedding a single timeline if that's your thing.

The constant-clockspeed model underlying all track-based sequencers and DAWs is a straitjacket. Arbitrary pauses, jam breaks, and rubato sections make more sense as time-free elements which exist between discrete timelines rather than as modifications to timelines.

> Why not allow nesting both ways? Why not allow timelines to be embedded within dataflow graphs, and then triggered by events that occur at arbitrary times? The outermost container can be a canvas embedding a single timeline if that's your thing.

That is the case in ossia, timelines can embed flow graphs, and flow graphs can embed timelines (and timelines can embed timelines and flowgraphs can embded flowgraphs... most things are composable). But, unlike Max / PD, cables can be connected across hierarchy levels so 99% of the time you don't need to resort to a specific "subpatch", you just connect things in the timeline itself.

> and then triggered by events that occur at arbitrary times?

However, the timeline has a built-in mechanism for that - see "open the floodgates" here : https://ossia.github.io/score/first_steps/time_approach/inde...

the doc is pretty outdated but this should give an idea :)

I really love the idea of ossia but it had some rough edges when I gave it a try. I'll give it a revisit sometime soon :)
definitely, I've been working on a new v. for almost a year but hard to find the time to fix things :p
This is a beautiful interview. I've been a Max/MSP and Pd user for years and I've spent many hours swearing at the creator of both. Now that I feel that I know both the creator, and the mindset behind the programs a little better, I think I'll spend less time swearing and more time discovering.

As an aside, Max4Live needs some serious love. It needs better interaction with the Live world than is currently provided by the LOM. Things like "get the file path of the current Live set" should be native, and there are a bunch of similar things that should be simple, but are impossible without horrible hacks. Now that Ableton own Cycling74 I hope this situation improves!

I'm a huge fan of Mr Puckette. I don't particularly like PD or Max (or the limitations of the LOM) either, but I love the fact that he's aware of the criticisms and even agrees with them, and has spent a lot of time thinking about how to solve these problems.

Music turns out to be an incredibly hard problem. It's easy to make superficial but limited tools that do maybe 50% of the job to make boring 50% music. But the kind of general score management he talks about is still an unsolved problem - far more challenging in its way than DSP audio synthesis.

There's a question of goals there.

Is the goal to create tools that make not-boring music? Or is the goal to make tools that enable you (or some other person) make not-boring music? Automating the creation of music seems to have very little upside. Enabling people to more fully expore their own creative has a lot, but that leaves people faced with lots of "incredibly hard" stuff to do by themselves.

Yea, I would've thought that was one of the first things to be done after Ableton bought Cycling74 a couple years ago. I suspect more seamless integration will eventually do be though.
Well, certainly not the best interview I've ever heard. Sure there were more interesting things to ask.
Suggestions welcome! This was only my 3rd interview since taking over the show, and I have a lot to learn.
Host of said interview here!

I had a blast interviewing Miller, even though I now have nightmarish visions of imperative constructs rummaging around in my patches, and nasty text fields sneaking up behind my objects, haha.

For future interviews, I'm eager to find more women, NB, trans, etc. folks to bring on the show. If you know of anyone working on the frontiers of programming tools, HCI, PLT, program visualization, etc etc, I would love recommendations.

Cheers!

I think Paul Batchelor would be a great interview subject. He's the author of many novel libraries, tools & languages for computer music & graphics: https://paulbatchelor.github.io/proj/ (Soundpipe & Sporth are also embedded in the AudioKit platform for iOS among other places.)
Honest question : are you really "eager to find more women, NB, trans.." people ? or is it just something people say nowadays ?

I have never ever looked at any tech show or podcast and thought "hey, that subject was really interesting, but i wish the person was a trans.." From my european point of view, this would seems borderline discriminatory. I'm more of a "i don't care who you are" person.

What is NB? Google suggests nota bene or New Brunswick, but neither fit in this context.
Non-binary. Many people also spell it "enby".

https://en.wikipedia.org/wiki/Non-binary_gender

Funny to see this on the front page as I've just started implementing a Rust framework for writing Max/MSP externals :)
I'm very interested in projects that use Rust to implement audio technology. If there's anything out there yet, let us know!
Who's us? :) as in, HN?

I will sure post something once it works (I have a test extension done manually in Rust already working, now need to get serious with it, there's all kinds of thread safety issues etc, challenging but fun)

Max/MSP,PD, and to a lesser-extent Quartz composer were such inspirations for me in college. About 10 years ago i ended up putting together an app builder that leveraged similar concepts to PD's 'control' signals to drive UX interactions... https://www.youtube.com/watch?v=hIH5V2BMG_k
I'm surprised https://processing.org is missing. Awesome list though.
As I see it, processing isn't visual programming, it's a text language for making visuals. Certainly though, it's a superb project.
Max/MSP opened so many cool doors for me back in the day when I was studying interaction design. The audio design students used it to rig up cool instruments and audio performances. I connected tons of sensors and controlled outputs over midi, to hardware or other software. It was so cool to put everything together in a visual interface.