Max is Max/MSP, where: * MSP is an engine for generating/synthesizing/analyzing realtime audio which the user builds as a diagram in a GUI. The backend automatically sorts the diagram into a graph and generates the audio as the user builds the program. So by the end, the programmer has used their ears to measure whether the program can indeed compute audio for the diagram in realtime. (And the corresponding classes f…
> users typically keep a separate, erroneous mental model of all the Rube Goldberg machines in their short-term memory... the user keeps drawing and connecting more Rube Goldberg machines atop one another until their short-term memory becomes the only private key that can decode them. It really was a cute rant (we've all been there where we've hated using something that much!), but honestly this bit describes every p…
Max/MSP: A visual programming language for music and multimedia
41–50 of 68 posts
Re: Max/MSP: A visual programming language for music and multimedia
#42I have a real problem with visual languages like Max and PureData (and all the other visual languages I've ever seen). They seem like a good idea, and might be fine for computer-phobic people just starting to be introduced to programming, but whenever one tries to make anything even a little complex in them they inevitably become a mess of spaghetti-code. Languages like these also don't have the almost hundred years…
> Languages like these also don't have the almost hundred years of research and effort in to creating an ecosystem around them like text-based languages do. c'mon, the first dataflow languages date from the 60s, that's barely after the first textual PLs - see eg https://www.youtube.com/watch?v=QQhVQ1UG6aM > There's no way to harness the incredible power of text editors like vim or emacs. have fun showing most art stu…
Back in the 80s, I used to teach LaTeX workshops, primarily to math department secretaries. These were usually given in a university's computer lab. At one such lab, the staff had decided that the students should use vi. The problem was that the terminals were such that hitting any of the arrow keys would be interpreted by vi as delete the current paragraph irrevocably. After one morning of frustrated students, I switched everyone to emacs. We didn't use a fraction of emacs's power, but at least the arrow keys worked.
Re: Max/MSP: A visual programming language for music and multimedia
#43Earlier quoted context omitted.
The object connections are described in json but the objects themselves are c++.
Yes, that is technically true. A more objectively correct statement on my part would have been, "Max patches are JSON blobs." But let's be real: it's highly dubious software, exploiting the tired and inefficient trope of the noodly "patch connections" approach made famous by modular synth folks. The sound engine sucks, even with the new updates made recently. The new versions are made using the JUCE framework, and ye…
That's the whole point. pd works the same way and so does vcvrack among more localised tools like Reaktor.
> The new versions are made using the JUCE framework, and yet it has no Linux support. WTF?
I don't have any love for JUCE but you are naive to think that its as easy as setting a new compile target and pressing go. Max is for profit and they need to target the most salient customers. Forget how little the percentage of people is that use Linux - you are aiming this product at a niche of niche people already. Be realistic here if you're own money was at stake.
> Good luck doing anything low-latency, on any platform, using any kind of hardware. Seriously, last time I tried to agonize with Max/MSP, that shit would start crackling at 48k and a block size of 192, that's absurdly poor performance for any sort of "modern" audio software.
I can't say I've had as much problems as you. I have a friend whose work has to be as low latency as possible (so that onset detectors are working really fast) and his system is running somewhere at 16/32 for vector size. The processing after this is non-trivial also.
I'd be curious to know what your professional use of Max is as you seem to have an incredibly aggressive attitude to the software, how its made and the people that use it.
Re: Max/MSP: A visual programming language for music and multimedia
#44Max and Pd are interesting languages. Quoting the original designer, Miller Puckette [0]: "The design of Max breaks many of the rules of computer science orthodoxy, sometimes for reasons of practicality and sometimes of style." Audio and control signals are both represented in the same canvas, but with substantially different semantics. Audio signals are roughly what you might expect if you are familiar with analog a…
> For example: if a single message is sent to two different objects, then those two objects send a message to a third (diamond shape), the third object will be executed twice, despite all of this happening in the same logical time-step. That's not an accurate description of the language's semantics. For example-- is the third object a unary or binary operator? Also-- for a unary object in a proper flow-based language…
Re: Max/MSP: A visual programming language for music and multimedia
#45Earlier quoted context omitted.
These are valid criticisms (although parsing max patches is very easy as they are just json files). However, I think you're missing the point. The point of Max is to be one notch away from something like Ableton - a language and methodology for programming your own routines, patterns and at the lowesr level DSP algorithms (something that gen~ has facilitated nicely). You might even write your own objects in c++ if th…
The lack of tools isn't the problem. The problem is that Max reimplements basic CS concepts badly, eccentrically, and unintuitively, for no real benefit, while adding a huge extra cognitive load. Max for Live highlights why this is bad. If you can find the unofficial docs, it's much easier to access the LOM using Python - or pretty much any standard language - than to do all the string/list/symbol splitting, prependi…
Re: Max/MSP: A visual programming language for music and multimedia
#46Re: Max/MSP: A visual programming language for music and multimedia
#47Also check out GEN which was recently added to Max. https://www.youtube.com/watch?v=eDYs2UZzhI4 It's a low level DSP engine that is already used in Ableton Live and embedded systems for modular synths.
Re: Max/MSP: A visual programming language for music and multimedia
#48Earlier quoted context omitted.
These are valid criticisms (although parsing max patches is very easy as they are just json files). However, I think you're missing the point. The point of Max is to be one notch away from something like Ableton - a language and methodology for programming your own routines, patterns and at the lowesr level DSP algorithms (something that gen~ has facilitated nicely). You might even write your own objects in c++ if th…
This kind of reinforces my point of the languages being only really suitable for simple patches, as the more complex they get the more they'll need things like sophisticated debugging facilities, testing, tracing, etc to figure out what's going on, why things work the way they do or why they break when they don't. As for them being just JSON files, that doesn't really help because these languages aren't designed to b…
Re: Max/MSP: A visual programming language for music and multimedia
#49Opensource alternative Pure Data is also worth mentioning: https://puredata.info/
There was a cool web implementation back in the day... https://github.com/sebpiq/WebPd Looks like the creator is gearing up to pump new life into the project (as of 11 days ago!). In the issue linked at the top of the README, he bemoans the fact that he hasn't really had any other contributors. If anyone is looking for an interesting project...
Re: Max/MSP: A visual programming language for music and multimedia
#50Earlier quoted context omitted.
Yes, that is technically true. A more objectively correct statement on my part would have been, "Max patches are JSON blobs." But let's be real: it's highly dubious software, exploiting the tired and inefficient trope of the noodly "patch connections" approach made famous by modular synth folks. The sound engine sucks, even with the new updates made recently. The new versions are made using the JUCE framework, and ye…
> exploiting the tired and inefficient trope of the noodly "patch connections" That's the whole point. pd works the same way and so does vcvrack among more localised tools like Reaktor. > The new versions are made using the JUCE framework, and yet it has no Linux support. WTF? I don't have any love for JUCE but you are naive to think that its as easy as setting a new compile target and pressing go. Max is for profit…
The problem with this is that...
> professional use of Max
... surely, you jest.
This software is not stable enough, useful enough, nor performant enough to be used in professional settings, outside of perhaps some of the "multimedia performance" buffoonery of people like Carsten Nicolai.
One could not reasonably use Max/MSP for scientific or academic purposes, for anything where precision was required. There is are so many useless GUI/state management operations being performed by the sound engine that it makes it an unreliable tool.
Contrast this with Max's FOSS cousin pD, the highly performant SuperCollider, ChucK, or Csound even! It's a blow-out - Max/MSP is the worst-performing, has the least imaginative and least innovative approaches, and doesn't really do much at all in the way of refactoring for performance or for broad compatibility with other software/hardware. Its community is the least-knowledgeable and contributes the least - by far - to the broader computer music community.
I had this Max/MSP nonsense thrown at me all throughout my collegiate education. I was always able to easily convince people I didn't need that specific, useless, proprietary software, to do my work. But it was a constant uphill battle I had to fight. Because all Max/MSP did was entrench itself in areas of the audio technology world that did not know better.
It's terrible software, designed with a terrible software development ideology, and made popular for all the wrong reasons.