Max/MSP 6
|
View this Thread in Original format
psymon.d |
http://cycling74.com/2011/07/12/announcing-max-6/
quote: | Performance
The area of performance is where Max 6 will be truly exciting for a lot of you. The big news is a completely new patching domain, which we refer to as code generation. Code generation technology will be available as an inexpensive add-on to Max 6. It focuses on areas where traditional patching has not been able to deliver the combination of performance and programmability that we wanted, namely DSP and GPU programming. What do we mean by “code generation”? Essentially, we translate the patch you make into text-based source code, and compile it on the spot. With code generation, we can optimize the entire patch, something that’s impossible with existing Max-like approaches.
In the DSP realm, our new gen~ object is a new domain of low-level signal processing operators that let you build recursive filters, delays, spectral processors, and sound generators, all using 64-bit floating-point internal precision. Not only do these things sound great, but the performance gains over equivalent Max patches are simply stunning. Where you could actually implement the same algorithm with MSP objects, a gen~ version will be up to 15 times faster. And in many cases, there is simply no way to implement the same kinds of DSP algorithms with MSP objects, you’d have to write C code. Not only is gen~ cross-platform, unlike C code, but in our tests, gen~ operators are nearly as fast as equivalent MSP objects written in C.
The code generation approach is equally suited to GPU programming for Jitter. For several years, we’ve offered the ability to write your own shader programs in Jitter for high-performance pixel processing, but text-based shader languages are not easy to learn and never felt completely integrated within the Max environment. Now you’ll be able to create high-performance image processing algorithms graphically, and our code generation technology will write the shader program for you. But the power of code generation extends beyond processing images — you can also use it to generate materials for shading interactive 3-D objects. In this application, the code generation technology is automatic — you just specify the parameters of the materials and we generate the shader program.
There’s much more to say about code generation, but at this point all I want to say is this: stay tuned — we’ll be showing you much more in the coming weeks.
Code generation hasn’t been our only performance focus. Another major area has been Javascript, where we’ve integrated the latest Mozilla runtime engine for significant performance gains. We’ve also exposed an efficient new 2D graphics API in Javascript that can be used to port existing HTML5 Canvas code to Max. We now run the audio of every top-level patcher in its own thread for effortless multicore processing. Performance improvements have taken place in many other areas as well. |
want |
|
|
kitphillips |
Yeah looks good. The language needs to be more consistent though IMO, found it hard to learn because its such a patchwork. |
|
|
psymon.d |
quote: | Originally posted by kitphillips
Yeah looks good. The language needs to be more consistent though IMO, found it hard to learn because its such a patchwork. |
unintentional clever pun re: max patches? :p
I agree that the language has a steep learning curve..there's no two ways about it. since it's a graphical programming interface, as well, its principals aren't 'standard' in any conventional way (compared to something like supercollider which runs off a more familiar semantic/code based object-oriented programming archetype). being able to see the linear code in Max6 may help people along with that...
I took a class on Max at my uni...luckily my tutor was very solid, and created very transparent tutorial patches with which we could understand the basics. definitely worth powering through if you're interested in this sort of thing. reckon 6 will trounce the competitors! |
|
|
cl0ckw3rk |
I also took a class using Max/MSP 5...even programmed my own sampler/mini sequencer with it. Granted, it was a b*tch and a half but the result was cool.
As an assembly programmer I'd prefer something text based though. I'll just roll my own like Lennard does for Sylenth. |
|
|
|
|