learning an audio programming language

  • i want to learn an audio programming language but don't know where to start and which language is the easiest to learn. so i thought, i ask you guys what you recommend…and how you started with learning. And was it fun or very hard? Can anyone learn it or is it only for people who are very good with computers?
    Some advice would be very appreciated!

  • i guess max/msp is the commercial standard. i got started with pure data (pd) because it is free and open source (and, if this matters to you, runs on linux where max does not). both use a graphical interface where audio, computational, logical and user interface objects, etc. are placed on screen and connected to one another to represent audio or other data flow. and both have many tutorials and examples to help you learn how they work.

    if you want to dabble before spending money on this, i believe max/msp has a limited-time, full-featured trial:
    http://cycling74.com/downloads/

    or you could give pd a try - i'm still using it 3 years later. it's freely available for download here:
    http://puredata.info/

    there's some solid documentation and tutorials for pd here:
    http://en.flossmanuals.net/puredata

    developing applications in max/msp is similar to doing so in pd, with an improved interface and a number of additional/improved objects you can work with. jumping from pd to max/msp would not be too hard, imho.

    hope this helps... i encourage you to jump in, give some tutorials a try, and see where that takes you. my guess is you will soon be imagining some cool app's of your own, then figuring out how to make them come to life.

  • @bongo
    thanks a lot! really usefull info and advice.
    i think i'm going to try pd first. my full max trial version is expired already, unfortunately i never tried it out serious in those 30 days..
    i've printed out 'The THeory and Technique of Electronic Music' from Miller Puckette so that can help me learning PD i guess.
    btw: your app Loopy is straightforward! i love mlr for it's intuitiveness en molar for it's many opportunitiess, with on the fly sample loading as an really important thing (for me). Loopy combines the two worlds in some way!! thank you very much!

  • Just a word of caution with going through Miller's book first, there's a lot of theory and it's not so much of a Pd tutorial. I definitely recommend understanding the theory, but it's not completely necessary for understanding the syntax.
    There are also a lot of Pd examples if you go to Help, then Browser.

  • @BoxieBrown
    ok, thanks for the warning.. i want to learn the theory and programming both, is it necesarry to learn the theory first or can i learn both at the same time?

  • I agree with BoxieBrown. You could start PD or MAX and focus on MIDI applications: funny sequencers / controllers. Doing midi will be much easier enabling you to focus on learning the language first, and not learning audio synthesis and a programming language at the same time.

  • I would say, follow jul's suggestion. Overall, having an understanding of audio synthesis will make any audio programming much easier to understand.

  • I don’t think learning both synth theory and programming at the same time should pose too much of a problem. So long as you can use a synth you should be able to follow along with most introductory texts.

    I must admit I found the math in Miller’s book a little impenetrable – will come back to it one day. I’d start with the FLOSS manual for Pd rather than that.

    Just to muddy the waters a bit I’ll mention SuperCollider, it’s open source too, text based not visual (I’m finding I’m not really a boxes and wires type chap when it comes to coding) and is currently my noise making/programming tool of choice.

    If you contact the author of this book he’ll send you a pre-release of it: http://supercollider.sourceforge.net/wiki/index.php/The_SuperCollider_Book

    It’s an introduction to SC, synthesis and programming all in one book. – it’s one of the most fun and enlightening things I’ve ever read.

  • www.pd-tutorial.com is a great set of tutorials. To get the most out of it, do each and every one of the exercises at the end of the chapters. It really gets you thinking like a programmer to solve problems.

  • i could not find a link to contact the author.
    do you have a version o it?

  • thanks a lot.
    i will look into SuperCollider too. i will have too find out if i am 'a boxes and wires'-type or more an text based one..
    and what about Chuck? i love Life, Grain and Sleep so maybe i will look into chuck too.

  • Perhaps try emailing Cycling '74 if you want to give MaxMSP a "proper" go. They're fairly relaxed and while I promise nothing they may give you another 30 days to try things out. It is always worth asking!

  • musimathics also has a programming environment to learn in

  • There's a new book called Form+Code though it mostly goes over processing (so far I just got it yesterday) it really introduces an artist to code in an accessible way. So there's no max, pd, or SC but it goes over approaches which are quite helpful for someone entirely new to code. Planning on experimenting with Processing and openframeworks despite max. Check it out when you can I got it from amazon.

    http://formandcode.com/

  • +1 on musimathics

    I can't say enough about the Max/msp build included tutorials... do a bunch then just try and make something

  • i found that learning a visual language such as pd is best done visually. i learned the basics of pd using the youtube tutorials of dr hernandez (there are 30-something!) & also by attending some workshops.

    http://www.youtube.com/watch?v=rtgGol-I4gA

  • Dose anyone have any experience with Processing or Openframeworks?

  • thank you all so much for your comments, really helpful.
    now i only have to decide with which i'm gonna start to experiment.
    i hope Cycling '74 will let my try it out another 30 days..

  • @unsymbol - those pd tutorials are the business. thanks!

  • For MaxMSP video tutorials you might want to check out http://www.youtube.com/user/BazTutorials which are really well done.

  • +1 sc for all of raja's reasons.

  • @vinceent, you'll find david here: http://www.music.utah.edu/faculty/faculty_a-z/david_michael_cottle.

    @jsph, processing's a wonderful environment for learning to code. the resources available online are fantastic and there's some books aimed squarely at noob programmers - Learning Processing is a lot of fun which I've been slowly working through with my girlfriend. Unfortunately most of the tutorials don't do much with sound. Some extension libraries are well documented though. eg. http://code.compartmental.net/tools/minim/quickstart/

    I'm not sure of how much documentation there is around aimed at beginner's re: openFrameworks. I haven't looked in a while but there wasn't much about a few months ago.

    @JTimo, couple of bits of more general advice:
    - build something of your own design in everything you bother to learn. Doesn't matter how simple it is - I spent years tearing through programming tutorials in all sorts of languages the only ones I even vaguely know today are those I've written something in.
    - do find a tool your comfortable in but don't worry too much about the language you settle on, everything mentioned above is extremely capable. The grass is always greener and all that - you'll get much further knowing one in depth than a smattering of loads of languages (although a smattering of each can be very handy).

  • So I guess it might finally be time for me to take the dive in to supercollider

  • @triss
    i will do that, learning by making simple things. thanks!
    i've just send an email to d.cottle and started with Scott Wilson’s SC tutorial!

  • Can anyone get me a copy of the supercollider book?

    I have a link to get it from a year ago that doesn't work anymore :S

  • @the alphanerd
    i've received a link to the fall 07 edition of the text, but in d.cottle's terms of use: " Feel free to share it with students or colleagues but each individual should contact me directly at d dot cottle at utah dot edu for a link to the latest edition."
    so just email him, and you'll get the link..
    btw, i am reading now in "musimathics'', that you advised to others in an other thread.. (http://post.monome.org/comments.php?DiscussionID=8407&page=1#Item_21) it's amazing!! thank you very much for pointing to this book!!

  • freelance writer

  • (wow just realized I replied to a 1 year old topic... somehow pop up on my rss anyhow information still useful)

    I am just readin the supercollider book and loves it (http://www.amazon.com/SuperCollider-Book-Scott-Wilson/dp/0262232693/ )
    - although I am more familiar with processing I can see how supercollider is far more complex and complete.

    If you want to play around Processing - you should look into beads : http://www.beadsproject.net/

    And I wrote about my first few stumbling step with beads and processing :

    http://www.ponnuki.net/tag/beads/

    And I am just about to publish a blog post on processin, beads, arduino and midi controller which will give the reader a very basic example of audio coding with external controllers ( made from arduino or using your own midi controller)

    I should post it next weekend - and for me it was a great way to experiment with audio and programming, since I lacked knowledge about both - I needed quite a simple introduction.

    That bring to mind - is there some processing/monome code out there ? I am ust finishing my first monome project and plan to try the osc communication with processing to build my own project (not to mention android/monome project trough processing)

  • http://www.vimeo.com/24711593