I want to share some news about the next major Max upgrade, version 6, arriving this fall.
For us, Max 6 is about four things: accessibility, performance, quality, and workflow.
Accessibility
For some of you reading this, getting into Max was no big deal. Maybe you learned it while in school. Maybe it just clicked for you right away. Maybe the purchase was a no-brainer. However, for a lot of people who would love Max, obtaining and learning the software is too much of a challenge, and we're committed to changing that. Max 6 is the next step in our ongoing effort to increase the accessibility of our software. Let me review a few of the things we've already done in this area:
We have an entire team focused entirely on user education and support. I hope you've seen some of their recent efforts including tutorials, how-to videos, and the Vizzie modular video toolkit. You'll see an expansion of user education efforts for Max 6 and beyond.
Max for Live, our joint venture with Ableton, has introduced the power of Max to a new audience.
Last but not least, our Expo '74 conference, taking place this October in Brooklyn, will be a great way to expand your Max knowledge and be inspired by the work of artists from all over the world. And now you know Max 6 will be a major focus!
But we're not stopping there.
Effective immediately, we're lowering the retail price of Max/MSP/Jitter to $399. We're also lowering the price of some of our upgrade and academic options. And starting today, if you purchase Max 5, you'll get an upgrade to Max 6 for free.
We're introducing a subscription plan for universities that will make it possible for our academic customers to serve to more students at a lower cost. For more details, click here.
With Max 6, we'll be supporting a user-driven, machine-assisted cross-platform translation project for both the software and the documentation, so we can better serve the majority of the world's population that doesn't speak English fluently.
Now, I suspect you're curious as to what will be new in the software. Accessibility is a major theme here too. In Max 6, we've focused on improving the experience for both new and accomplished users. When we add a new feature, we think carefully about how you'll learn about it, even if no one tells you it's there. You might have seen our series of Did you Know videos. Even though I think these are great, I would love to get to the point where no one needs to make another one, because Max holds no secrets.
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.
Quality
Another focus of Max 6 has been quality. We think of quality in two ways: first, the quality of the output and second, the quality of the experience you have while using the software. In the former category, we put a major focus on audio quality in Max 6. The cycle~ object now uses a 16K wavetable for far better signal-to-noise performance. You'll be able to use any sampling rate you wish, thanks to high-quality resampling filters. And, to eliminate errors with large numbers, long envelopes, and recursive algorithms, MSP processes all audio with 64-bit precision. Older 32-bit third-party objects are still compatible however.
And those resampling filters I mentioned? We used MSP to develop them, using a suite of new filter design and audio analysis tools.
Beyond looking at audio quality, we wanted to help make your time with Max more enjoyable. To do this means paying attention to every detail. I think you'll generally see more clarity and refinement in the interface. For example, we've introduced curved patch cords, which make an unexpectedly dramatic improvement in understanding how a patch works.
One feature I'm particularly fond of improves the experience of editing an audio patch with the audio turned on. Whenever you make a change to your patch, we intelligently crossfade between the old and new versions, so you never hear a gap in the output. And if you have other top-level patchers playing audio, they're completely unaffected by your edits. This is just one of the benefits of our new audio mixing engine. Another is that every audio patcher has controls in the toolbar for muting or adjusting gain without the need to add any objects.
In the Jitter domain, quality means the ability to achieve visual complexity more easily. One way you can do that is with the new materials system -- an advanced toolset for high quality rendering of 3-D objects. Other ways we hope to enrich your Jitter work is though better support for 3-D model and animation files, better support for cameras and lighting, a new physics engine, and hierarchical animation and rendering tools.
Workflow
As part of the Max 6 development process, we've observed and interviewed users, from those who've never seen the software before to those who've been using it for decades. On the basis of these studies, we identified areas for improving patching workflow and usability, and you'll see the results vividly in Max 6. Just to focus on one area: The act of making a new object has been dramatically enhanced, with access to documentation at every step of the process. It begins with the object box, which now offers you a way to make objects even if you can't remember their names. Then there's the message box, which tells you about the messages understood by nearby objects as you begin typing. Arguments and attributes of objects and messages are also displayed as you type.
A new object called attrui integrates attribute monitoring and editing, eliminating the need for a lot of patching. Attrui knows the best way to edit any object attribute. For example, if you want to change a color, attrui lets you edit it as a color, not four numbers.
We've also reorganized Max 6 to show the most common information first. Every help file now has a simplified initial presentation of the five or so most basic things you need to know. Advanced features are shown in a tabbed interface grouped by functional area. We've done the same with our redesigned inspector and object palette.
A common request from educators and more experienced users was the ability to manage patches that encompassed many files. Max 6 has a new Project feature, where you can see all the patchers, code, and media files you're using. Projects enable you to maintain multiple versions of files as well as archive and share your work more easily.
The Path to Max 6
Over the next few weeks, we'll be telling you more about Max 6. I promise, I've only scratched the surface of what we're up to. If you'd like to be notified when we release new information about the software, keep your eye on our website, Facebook, and Twitter.
One of the things that really inspires me is when I get a new piece of software that is both cheaper than what I've been using and better in every conceivable way. My co-workers and I are driven to do that with Max. You'll ultimately be the judge of whether we've succeeded with this new version, but now you know what we're trying to achieve. Our friends in the Max community creating extraordinary work deserve nothing less.
Spectacular. I am a Max for Live user and the event of Max 6 seems to be the moment of taking the leap to a full Max experience. The lower price, of course, is a plus for us. Cheers!
Max 6 is essentially backward compatible with Max 5. There have been some small changes which might cause issues in extreme edge cases. For example, on Macintosh, we've changed from using Carbon Event Model to a Cocoa Event Model, so if an object uses its own internal Carbon or Cocoa Event Loop, they may need to make some changes since the application has changed the primary event model of the application. There may be some minor visual differences. However, the vast majority of third party objects which work in Max 5 will work in Max 6 without alteration. If third party MSP externals wish to make use of 64bit resolution audio signals, they will need to be updated, but they will still work at 32bit resolution if they remain unchanged.
Don't worry. While there are many great changes to the application, we're not going FCP X here ;)
Sounds like the thing that will bring me back to MAX !!! Since version 4 I have been more interrested in SuperCollider - but this sounds soooo great !!!! Cannot wait !!
Can't wait. These new features sounds fantastic. Curved patch cords? Patches can truly become art, not to mention more readable!
Also glad to hear about the subscription model. This could entice colleges and universities to try a pilot year of new Max courses for much less than the full purchase. More teaching jobs for Max!
I'm excited as well. The new features sound great. Alas, like @Cody above, I'm a bit sad that I'd finally upgraded to Max 5 just two weeks before this announcement... Ouch.
I suspected something was on the horizon, with the regular updates slowing down ;-)
It would be interesting to know how this fits in with max for live, if its an incremental update or max for live v2. As a Max/MSP/Jitter/M4L user i'm sure it will be a single upgrade cost.
And it would be interesting to see if freeframe 1.5 is supported, to get GPU acceleration.
Exciting news! The gen~ object sounds enticing as do workflow improvements. The Max 5 workflow improvements made a significant difference to my patching work, so I'm looking forward to the next step. Good stuff.
Exciting. Foresee lots of live coding w Max 6: "editing an audio patch with the audio turned on. Whenever you make a change to your patch, we intelligently crossfade between the old and new versions, so you never hear a gap in the output."
Just curious, perhaps someone can illuminate me: is this crossfading the same technique as "live-code-friendly" apps such as Impromptu or SC3 employ?
Wow, very much excited about this and I was a MasMSP hater only about 2 years ago. Furthermore, what Joshua Kit Clayton says: about not going FCP X here just makes me smile and also makes me think, 'wow a company that actually thinks about it's users, their wants and not forgetting the past'.
if i buy max before friday, and then buy a crossgrade to max for live -- it sounds like i will get max 6 for free. but will i also get max for live 6 for free?
ok ... but what about max6_forlive ? max and ableton will continue their partnership in the future ? all the new features of max6 will be available for the m4l users? and the gen~ object will be like having chuck into max ? thanks
This gets me really exited. Sounds like the biggest update yet. Where 5 was a bit of a let-down performance wise, it looks like 6 is going make up for that triple! I'm really looking forward to this.
Wow, sounds very interesting! I owned and loved Pluggo, but when it was discontinued - with no offered Max crossgrade offer - the SoundToys plugins took over that part of sound design work for me. Maybe Max 6 will make it worth again? Looking forward to hear more about M4L compatibility as well.
Lots of impressive things here. Let me go out on a limb by saying the thing that struck me most was the promise of support for multiple languages!
Is there any chance this will extend to support for building multi-language patches? Just as Max/MSP is recognizing that about 90% of the world doesn't speak English, 3rd party external and standalone developers need to take this into account as well.
Is it true that there will be no gaps in audio if you are coding live? Also, I didn't see anything about patching shortcuts, such as connecting multiple outlets to a single inlet with a keyboard shortcut? I'm really excited to see where this goes.
I actually feel kind of wronged by this. I just bought Max5 a couple of months ago, paying full price, and now I will also have to pay again for the update... a total $900, instead of $400 if I had waited 60 days and bought it today.
A free update option for recent buyers would be nice. No matter how I see this, I just can't avoid feeling ripped off by this...
i guess the question on every other max users lips, is how much an upgrade [from max 5] is going to cost? i did have a plan to buy some hardware, but this seems to have won over. now to get saving and be at the front of the line waiting for my copy.
yep, and version just before it was on darker (blacknavybue?) disks: I have a few of both, just for kitsch's sake. Oh, and do you have the old original HUGE black binder of documentation ? I still hoard my old copy...please don't ask why, "oh, don't ask why...for if we don't find the next music app, i tell you we must die..." sigh.....Weill is better auf deutscher Sprache.
Thanks for the answer back there, Joshua! :D Happy to see that that is the case and looking SO MUCH forward to all the good improvements and developments!!! All the best!
Thank you for all your enthusiasm about code generation. We realize it's an exciting, yet vague, area of possibilities, and naturally there has been a lot of speculation as to what it might be. We'll be coming out with more information in the coming months, but in the meantime, I'd like to clarify a few things so that we won't disappoint your expectations.
The first thing to make clear is that the code generation tools don't compile existing max patches. They use new types of patchers with new kinds of operators. Many of the ideas, and many of the patching skills you are familiar with will translate, but these new patcher domains work with data and the expressions of the patch itself in a different way than existing Max patches and objects. These new kinds of patchers and operators simplify the problem area so that we are able to make reasonable assumptions for turning a patcher into raw code, compile, and optimize. So you won't take your existing Max 5 patches and "compile" them to produce faster code. There will be some amount of rethinking your problem and reprogramming in the code generation patchers.
The next thing to highlight is that this about more than performance. It makes it possible to do things which were previously too expensive or not possible to do with patching Max objects as they are. With gen~ for example, the graph operates one sample at a time rather than with a large vector. This alone opens the door to many DSP tasks which previously required using C code. The vector sample delay for any feedback stage got in the way of making recursive filters, FM feedback, and physical modeling algorithms just to name a few.
Finally, the Max 6 release will represent only the start of what we're doing with code generation. You've all brought up great ideas about possible applications, and many of these are things we've been actively thinking about. However, not all of them will be in the initial release. The first release will remain focused on getting the foundation in place and making it solid for use *within* Max. We think that this is a good place to start, and will be listening to you about how we can make it better.
We realize that this might open the doors to more questions than it answers, but for the time being we appreciate your patience while we work hard at finishing Max 6 so that we can get it in your hands.
I hope that this release brings with it a Max for Live runtime, so that any Live user can run our creations, thus creating a nice marketplace for M4L Live addons...
Fauve72... I'm in the same boat as you. I bought MAX days before this was announced and, even after me asking customer services if there were any future products coming out and if MAX 5 was the right product (they didn't mention MAX 6), I am not entitled to a free upgrade. Apparently the 'cut off' date is July 12th. Even if you bought it on the 11th you still have to pay. Disappointed would be an understatement. Thanks Cycling 74 for all your help in fleecing me for more money. I can understand you have to set a date and stick to it for fairness, but deliberately withholding information when asked. Pathetic.
in relation to code generation technology, will it be possible for me to use, for an instance, a patch made with standard msp objects, and then adding the gen~ object to them, and compile everything, or is it stricly low level implementation, and you have to do everything from the ground? the same for gpu stuff.
in relation to javscprit, will it be easier to use mozzilla for an instance, to get flv content from an url, than it actually is with standard http maxmsp objects? in relation to 2d graphics api vs html5 canvas code.. will it be easier to do the inverse, in other means, porting maxmsp content to a website.. or even to a flash application, a video game, whatever?
in relation to quality.. have you used dsp stuff from ableton or colab stuff with them.. what can we expect, however
in relation to interface I can expect it to be much easier to use
in relation to experience, will it be something inspired in the standerd approach from ableton in live in terms of composing stuff?
in jitter, you could add the ability of jitter to talk directly to the quartz extreme apple engine, so that jitter could be more enhanced to works parallel with quartz composer.
would't it be interesting to have an high level abstraction system for gen~.. also if I compile c++ gen stuff, will it be possible to time-strech the plugins.. I have the idea of having heard that somewhere am I and someone else dreaming, or is it tru?
and in terms of prototype.. it will be easier right?
also will it be possible to compile about 200 (just for throwing up a random high number) patchers, of existing stuff, in terms of max, msp and jitter existing stuff, and make vizzie abstractions.. I wouldn't mind about giving away some of my code for that)
What will all this gen~ stuff do with existing max4live tools - and will it be of any advantage when creating new ones? Stupid questions maybe, but since I was tricked by ableton to believe I could use Max 5 as an upgrade to my existing 4.x when purchasing max4live from them, I now do think of rather working with the real Max again, but don't want to loose compatibility - and I sure want to benefit from Max 6 advantages when using max4live (getting a better sound quality for instance).
Great news on the price. That is more like it! That is a fair price and I am converting from demo to paying user tonight.
Please be nice to those who bought just before the watershed- find some compromise...... I know that Cycling is not a huge company and I hope you guys can strike a balance between business need, a (good) change in pricing strategy and a happy user base. I bet this wasn't an easy discussion and I hope this works out for you.
I am excited about the ability to work around the DSP module with some efficient coding method - I have been desperately seeking a CODEC to encode and decode the audio into a stream that has a reasonable bandwidth (not a 240 kbps jitter audio bandwidth hog). The video and other stuff is easy to compress thanks to the jit.qt objects. What I want in MAX 6 is a way to stream compressed audio using some CODEC or give me a way to set that up myself (jit.broadcast is great but too much of a lagfest).
BTW MAX is totally addictive!! Can't wait until VER 6!! Hope it does great things!
Sorry for any frustration regarding the timing of this upgrade. We honestly do our best to make everyone happy, but with the hectic and most often very unpredictable release schedule, there will always be a few people feeling left behind. You can always email me directly at erin@cycling74.com to discuss your situation.
Is the student price still the same? I'm hoping to buy Max soon, but as I recall, it was $250 before. Is this not one of the academic options that is getting a new, lower price?
I don't understand something, so far I have seen some new features, but why this means that we have to go from a version 5.1.x to a 6.x version? The new features are cool, but they don't look so big regarding the perspective of the basic architecture of the program. I mean, i haven't seen any news regarding multithreading for example, this is something that would be nice to have news, and is something that changes a lot the basic architecture of the program, something that makes worth to leap from a version 5.1.x to 6.x.
Sorry, a bit disappointed here Where is the max (alone) price ... please do not say that we have now to buy the full package so the price "decrease" will in fact be +$150 !? (I am just a midi users that was waiting to have some time for a project to buy it ... Now I have, i connect & I discover that) BTW: did the users you've interviewed for new features tell you about a way to protect the code or project they are working on for weeks or even months ? No protection is bullet proof but at least some compression with inbuild code or whatever to make it not so obvious to just edit the file .... this has been a long debate in the forum, but you have to understand that as you are willing to have your users paying for your work, we are entitle for that also for our own work. (and the community sharing will not be lower for codes or objects or examples)
@diogo maybe you missed this: "We now run the audio of every top-level patcher in its own thread for effortless multicore processing." The 64bit audio infrastructure is also a big change which opens the door to some things we couldn't easily do before. These are just two of several major architectural changes.
However, I'd sit tight and not worry too much until it's here. We'll be sharing some more information as the process unfolds, but we still have lots of work to do to get this in your hands.
Sorry to disappoint some of you who have very specific expectations and were hoping that Max 6 would solve your particular problem, or are unhappy with our choice to bundle Max, MSP, and Jitter. We are a small company and try to balance many competing directions for how to improve Max.
Will the accuracy of the non-audio math be improved also? I use a lot of cents and equations in my work, and it's always a little frustrating that the best I can get is a 32-bit approximation of the number I want, even if the difference isn't all that audible. For example, simply reading numbers into a coll object from a text file starts me off with an approximation before I even get to any math. And if not, will this be something you will improve in the near future? Thanks!
I think having an "add-on" feature like fire-fox to manage third-party externals along with a dedicated server to somewhat replace the functionality of the max object databse would be great. I can't tell you how long it took me to find and test out externals or code. If I could just read a brief description and have max 6 download and install it directly (and or uninstall it) that would open up a whole world to people who have less time on their hands. Also, there have been many times where I create a patch just to demonstrate functions of an object that are not well documented. I think I am not alone here. So maybe in the same style as the "add-on" approach, have the ability to "update" your help files from the net through max (also the ability to submit new examples or help files to be incorporated into the tabbed system[and of course you will have to have somebody do quality control and sorting and management but if you want people in a community known for sharing to do a better job of it, i guess you have to make it easier and integrated])
A multi-resolution FFT and wavelet toolkit would be nice. It took me a long time to create some fairly intricate cheby, hilberted and downsampled fft poly's and then sew the different time frames back together through interpolation. Or you could just provide cross-platform support of CNMAT's matlab bridge.
an easy to use SDIF writing object that takes advantage of the new audio engine would be nice. Right now (due to the vectorization) my sdif files don't have the time-resolution I want and I am not sure Ircam will update their object anytime soon.
Max Toolbox should be implemented and enhanced (there are a few situations that are not covered)
One other thing is floating windows (max window, inspector, debugger, watchpoints, and file browser )that always stay on top of the patcher and can be hidden easily with a keystroke. I wrote a patch using mxj autobot and wmangle that runs in the background and lets me change my entire window setup at the flick of a few buttons. It has greatly enhanced my enjoyment of using the Inspector window as well as letting me use all my screen real-estate. If you are interested you can have it.
MULTI-TOUCH support with native tuio integration (I know this is probably far off)
I appreciate all the work you guys are doing. And you certainly are doing alot. Frank
I bought Max For Live at full price, then bought Max/MSP upgrade, then Jitter upgrade... and should pay 199 € to upgrade to v6 ? That's a high price for those of us who have already paid a lot, and a high price for an upgrade considering the software's licence price. Not fair at all.
The 64-bit signal, the Gen~ object sounds really exciting as well as the upgrade to cycle~. I always laughed at cycle for it's 500-something sample wavetable. The biggest problem with digital synthesis is when something along the signal chain (most of the time right at the beginning with the midi protocol) has too small a range of values. I try to build the richest and nicest sounding synthesizers I can and I do it in max. These upgrades will mean a lot in terms of the basic sound quality I'm working with. You guys hit the nail on the head with this upgrade. Seeing what you guys are doing with the program inspires a lot of confidence in the time I've been investing in max. Awesome. Can't wait.
many pluggo/m4l runtime related questions :) I guess we shouldn't expect anything from that. I tested Usine 5.7 which OFFERS VST export for windows. Impressive.
@stefan and @nathaniel, you had questions about making connections more easily: check out the Max Toolbox by Nathaniel LeCaude. Both of your specific situations can be done with one keyboard shortcut if you're using the Toolbox: just select the objects you want to connect and hit the right key. It does take a bit to get used to it, but for certain things (like a matrix 64 64 to dac~) it can be done in one second, literally.
It has a few other nice features too, like distribute objects vertically or horizontally, or send any selected object a message...even if you've selected 100 of them.
I still wonder whether some of these elements will get included in Max itself, maybe they would be too problematic. Nathaniel's workaround uses some very clever javascript.
"an advanced toolset for high quality rendering of 3-D objects" does this refer to jit.gl.mesh, gridshape etc or to .obj imports?
I love JITter, but I am really crossing my fingers and hoping for a rendering quality improvement - right now processing, o.f, cinder, quartz composer, surpass the image quality of jitter, and its image quality exporting capabilities. This would be my #1 wish, for Max 6
Yeah I bought Max5 a little over a year ago and already another version I have to pay for? Count me out. I think I'm moving to PureData if I need to pay yet again.
Hi Sebas, In addition to the OpenGL toolset you've come to know, Max 6 will include some great new Jitter features to do things like hierarchical rendering, high-quality material generation and lighting, camera control, and improved support for model import (skeletons, animation, etc.). We'll have more info about all of this soon, so stay tuned.
I just bought max 2 months ago, it was in impulse buy, 800$ !!!! I pleaded to return it once I realized I have no where near the time needed to learn it... and no dice... now I have to pay to upgrade, to a version that might be easier to learn!!! ... this is rediculous! Im Learning Touch Designer.
what about adding an attribute to (sub)patchers that will make its contents visible a la bpatcher (but without needing to save it as a separate file..)
"I think I’m moving to PureData if I need to pay yet again."
Seriously? Pd is free, I suppose, but it's buggy and poorly supported. Why not just stay with Max 5 if you don't want to pay a reasonable upgrade fee? Pd would be a downgrade IMHO.