SuperCollider, super fast: UK-based experimental musician mcldx has produced a 60-second intro to SuperCollider. Naturally, you won’t learn SuperCollider in one minute, but what’s nice about this is it does explain the very first steps you would take to get SuperCollider running – and because SC doesn’t have a single-window, “do everything here” interface, that first step actually confuses a lot of people.

Have a look, and you’ll at the very least understand step one. From there, you can start diving into tutorials and making other sounds. SuperCollider will repay an investment of time: it’s an elegant language, runs a really efficient synthesis engine, works with OpenSoundControl natively (and now even builds its UI in Java’s Swing for cross-platform compatibility), and has some incredibly powerful tools for things like manipulating live sequences.

You’ll find additional help built into the tool. Some quick platform-specific notes:

  • Linux: On Ubuntu, check out the nice integration with gedit, the default GNOME editor. It makes SuperCollider feel a little like Processing.
  • Mac: Apparently Safari 4 beta is causing trouble with the online help editor if opened from the menu.
  • Windows: I couldn’t get any love from the 3.2 build on Vista (sound driver problems), so I tried 3.3 “alpha” – and found the alpha perfectly stable, and an easier install.

http://supercollider.sourceforge.net/

Via fritcrate’s hackday blog.

Now, I think we should apply this to other things, but even faster – like ten-seconds:

  • Ableton Live: Okay, see those rectangles? Put things on them! Trigger them!
  • Sibelius: Just keep clicking “next” on the wizard, then eighth note, then type note names look for the blue arrow click and keep typing!
  • Max/MSP and Pd: Quick, add a – box and connect to other boxes. Toggle bang metro 30 now you have a metronome!
  • ChucK: Ummmm…. “SinOsc s => dac;”?
  • Processing: setup, draw, size 800 by 600, and erm, line(0,0,mouseX,mouseY) and screw around for a while.
  • A Yamaha DX7: Okay… plug this in and… jeez, I don’t remember button sequences. Try to find presets? Play something?
  • A Moog Modular: Jacks. Knobs. Cables. Now go. It’ll sound awful and you’ll run out of cables. But you’ll have a great time.

Other suggestions welcome.

  • http://www.thumbuki.com/ Jacob Joaquin

    Csound: Render a file using the command line.

  • http://Abrightfearlesssunrise.blogspot.com Birds Use Stars

    And it's just that simple!

    But for real, this kind of tutorial is the audio software equivilant to a "hello world". It shows you how the damn thing works so you don't give up on it after not getting sound until you've spent 20 minutes playing with a program who's whole point is to make sounds.

    More stuff needs this stuff!

  • http://www.createdigitalmusic.com Peter Kirn

    @Birds Use Stars: Exactly!

    It's all well and good to do the fancier tutorials, but you need more stuff that gets you to Hello, World.

    @Jacob: Brilliant.

  • apalomba

    Csound: Render a file using the command line?

    You need to look into using csound in realtime!

  • Miller Peterson

    Is the problem with people learning SuperCollider really that they can't even get the thing to make a sine tone? Wouldn't that sort of thing be in the SuperCollider documentation?

    Seems to me the problem is more finding the time to learn an entire programming language, especially if you aren't already into that sort of thing. IMHO, if you couldn't do this on your own, you probably are not going to learn SuperCollider.

  • http://www.createdigitalmusic.com Peter Kirn

    @Miller: No, look, a LOT of tools suffer from the first 60 seconds, especially a free tool. Just being able to say, ah, okay, that's how I get this rolling is meaningful, whether it's a programming language or a simple app. "Hello, world" is always a smart concept.

    Also, you really don't need to learn "an entire programming language" to use SuperCollider. If you know what you're doing with synthesis and signal processing, you'll find it approachable. If not, it's actually not a bad environment in which to learn, and those skills work in any digital music tool.

  • Jaime Munarriz

    I totally agree. That's why Processing is wonderful: a clean un-intimidating environment, wher you just can type some code and test it!

    Just try the same on any Java IDE. You can spend like 6 months just learning how to call the API in order to open a blank window.

    I tried Psycollider on windows after talking with the huys at IXIsoftware (they do amzing thing with it) and I couldn't make it produce a sound… I thought it was the windows version, but maybe not…

  • http://www.createdigitalmusic.com Peter Kirn

    @Jaime: Well, wait a minute… the Java IDEs aren't *that* bad. I love Processing's editor philosophically, but you can get Java code up and running in Eclipse or NetBeans in about a minute. (Unless you're talking Swing, but that's a different topic.) And there's this whole code completion thing.

    It sounds like you had the problem I had. If the executable was called PsyCollider, it was almost certainly 3.2 or earlier. I couldn't make it make sound. (Felt like a n00b — "uh, teacher, I can't make any sounds.")

    I uninstalled and tried 3.3 – no problem whatsoever. The installer is also greatly improved.

    That said, I think the next step for SuperCollider would be a friendlier environment that "just works." And honestly, I do like code completion and the like, so I'd love to be using Eclipse. As it happens, I think Processing is now at the point where — maybe not in 60 seconds, but say 10 minutes — you can have a full-blown IDE working and saving you a lot of time.

  • http://www.combatdave.com combatdave

    @Peter: While Java IDEs, Visual Studio, etc aren't *bad*, they are pretty intimidating for somebody new to programming. There's buttons all over the place, about a thousand different sub-windows, etc. Processing is great because it's the exact opposite – just a few buttons and a place to write your code!

  • http://www.createdigitalmusic.com Peter Kirn

    You're preaching to the converted. I teach Processing on the standard editor for that reason; it's great. But I think people can graduate to the IDE fairly quickly and be happy. And I still keep the Processing sketchbook for some work, too, myself.

  • http://www.isle-of-avalon.co.uk gwenhwyfaer

    apalomba: pointers welcome!

  • http://www.thumbuki.com/ Jacob Joaquin

    Generate an aiff with csound:

    csound -A -oexample.aif example.csd

    Generate audio in realtime with csound:

    csound -odac example.csd

    It’s all good.

  • http://wonderewereldvanbenny.blogspot.com/ Benny

    I want to use a live coding environment to do live algorithmic composing. Are there any good SC tutorials that can show me the way (I do not need the sound systhesis engine, only midi out)?

    I tried Chuck, but didn't like the way the => operator works. I have some Java knowlegde, so learning a new coding language shouldn't be that hard.

  • http://jkant.altervista.org jkant

    100 seconds intro to Pure Data:
    http://www.youtube.com/watch?v=HSo9b5TNnzA

    :)

  • anonymous_coward

    @peter: java supercollider for eclipse

    haven't tried it tho' since the linux version is currently being tested.

  • http://www.createdigitalmusic.com Peter Kirn

    @anonymous_coward:

    The Java SuperCollider is cool looking but it actually does MORE than I'd want — that is, it replaces sclang with Java. Problem there: I love Java, but sclang can be (cough) nicer.

    I just want to use Eclipse as my SuperCollider editor. ;) If you can do it with gedit, you ought to be able to do it with Eclipse — I hope! I'm looking into it.

  • http://wonderewereldvanbenny.blogspot.com/ Benny

    Something i forgot to ask: is it possible to sync SC with a VST host like Cubase?

  • anonymous_coward

    @peter: it uses jsclang:

    "JSCLang for SuperCollider is as a wrapper for a DLL file that enables the usage of the programming language SuperCollider in Java."; this is different from jcollider which reflects scsynth-objects as java-objects (I thought you are refering to this). maybe I am wrong but from what I gather you can use plain sclang and jsclang takes care of the interpreting/compiling.

  • Jack

    This is absolutely perfect.

    More tutorials need to be like this.

  • Jack

    @miller

    I'm a really self directed learner, but I hate having to get started, especially in a foreign environment like supercollider. For the last six months i've been saying 'man i should really sit down and play with it' and now I can INSTANTLY make it make noise.

    Whether I actually 'learn the whole language' (by which I assume you mean 'have enough competency to accomplish my desired result'), only time will tell. The way I look at it is that someone just handed me something that works, now. Sixty seconds ago I didn't have that.

  • Gianpaolo D'Ami

    Hy guys, if you wanna something more about supercollider I made an interview with the itaian teacher and musician Andrea Valle here: http://www.soundesign.info/?p=1639&lang=en

  • Pingback: Prototype Log » Blog Archive » Intro to Free Synthesis Tool SuperCollider

  • http://tmckes.com Toby

    There's a nice little help file in SuperCollider that will take you to the next step beyond this very simple "Hello World" demo, it's called "Tour of UGens", shows you pretty much all the synthesis, control and filtering UnitGenerators included in the system. Peter, I'm so glad you include SC in your articles every now and then, as I just graduated with a BFA in Digital Arts, with SC Audio Composition as my focus. Makes me feel validated :-)

  • Pingback: Learned in 60 Seconds: Intro to Free Synthesis Tool SuperCollider « Luis Gustavo Martins’s Blog