cSound or Supercollider along with MSP?
What would you guys recommend me trying to learn along with Max/MSP? I am still in the process of learning MSP and mastering that at the moment along with c++ would you say put all focus on max at the moment and master that and maybe branch off into either cSound or Supercollider (which would you say would integrate better with msp/max, even though you do have the java externals?).
I guess its best trying to be a master of one thing than a jack of all trades for the time being.
Supercollider. only because you said something about c++ and you can take that c++ knowledge to creating UGens for Supercollider.
but other than that, neither is better than the other in any absolute way(subjectively speaking, i like learning C++ in the context of SC and using sc’s small-talk based code is a nice thing whereas the code of csound based on C is not as smooth an experience for me, but is still pretty positive overall, especially if you learn C to program max externals…). they both apply well to max/msp using the dedicated externals:
"would you say put all focus on max at the moment"
no, you can learn both, for example, if you learn english, you can learn french at the same time and it will amplify your appreciation of romanticism and poetry which might not be as inherent to english but is still present there to some extent.
*Never fear, Noob4Life was never here!
If you go for SuperCollider here are my 2 cents:
- Writing Ugens (externals) for SC is more akin to writing C not (modern) C++. There are no references (etc int& ) anywhere in the struct you subclass, nor use of STL (std::vector and friends).
- As said above, there is an sc3~ object. csound~ exists too. So, tight integration is there for both.
- On the other hand, Supercollider has OSC built in. This is great, interfacing with Max is easy (you will need the OpenSoundControl external). A good reason for doing that instead of using sc~ is to avoid your whole patch crashing because something went wrong in max or sc~. Of course tight coupling is lost.
- While csound has *every* ugen possible, Supercollider (SCLang) has a clearer, less laborious syntax. You might be able to leverage some of your c++ study in it.(especially concepts like OOP, inheritance etc..)
thank you both for you reply. I think I am sold on supercollider, will get learning right away would you say it is has a great documentation? Thats thing about Cycling 74 they have provided such great tutorials for MAX and MSP.
The documentation is OK, but a lot of methods are not documented OR are documented in obscure places. A confusing thing might be that there are usually different ways of doing the same thing. Be aware of that fact when reading examples from a help file, or other people’s code.
Start with the tutorials, and proceed from there.
+1 for SC.
the forum/mailing list is here:
very active and friendly community
My vote is for csound! I have been using it for many years now.
I think the csounds library of unit generators is superior. Csound
can be integrated in Max with Csound~, and it supports OSC as well.
I have been tempted many times to pick up SC, but no one has
ever given me a good argument as to what SC would allow me to
do that I could not do with csound.
The only real difference is the syntax. Being a programmer myself,
I prefer the csound scripting language for doing low level audio
manipulation. Csound also has a python interface, so you can do object
oriented tasks as you would in SC.
Both are great, I guess it is a matter of what you are most comfortable
if you don’t have to choose beteen those two,
i’d give a vote for RTCmix.
i think it’s slightly easier and simpler than both cSound and SC.
as a stand alone it may lack versatility and depth of cSound or SC may have,
but it is perfectly well-integrated into max,
and it has a very rich collection of instruments including physical modeling synths that are hard to realize by just using MSP.
and you don’t have to go through a lot of documents to learn.
the help file and online reference are all you need.
thanks everyone for the feedback, seems like that are a lot of different ways of integrating other programming languages into max/msp.