Learning
For beginners: If you’re wondering which things to start with, here’s our recommendation:
- Read at least one of the “recommended introductory tutorials” listed just below
- Make sure you read about how to use the help system (because it contains hundreds of useful code examples)
- Join the sc-users mailing list
Tutorials
Recommended introductory tutorials:
- Scott Wilson’s SC tutorial - comes bundled with the SC download, as do some more tutorials
- Downloadable course: sccourse.zip (by Nick Collins, with some input from previous SuperCollider summer school tutors Julian Rohrhuber, Fredrik Olofsson and Scott Wilson) - the download contains a 14 week course of tutorial files, and is also available as browseable HTML
- David Cottle’s SC tutorial
Other introductory tutorials:
- Spanish-language tutorial translations by Federico Reuben
- German-language tutorials
- Spanish-language “screencast” video tutorials
- Italian-language tutorial by Andrea Valle
- Portuguese (Brazil) language tutorial by Universidade Estadual de Maringá
- Japanese-language study group at IAMAS with jp/en tutorials (also forum, faq, wiki)
- Les Hutchins’ SC tutorials
- ixi’s basic audio programming tutorial in SC (download)
Tutorials covering more advanced techniques and/or third-party libraries:
- dewdrop_world’s SC tutorials - making good use of the dewdrop extensions.
- Compiling SC and SC plugins - a tutorial on getting your hands dirty with the source code
Help
The Help system that comes bundled with SuperCollider includes hundreds of documents, covering all the classes plus some useful overviews and tutorial material.
You can browse the Help documentation online or download it as a single PDF.
From within SC itself, highlight a word of code and press [Cmd+?] (on Mac) to jump to the help doc for that entity.
Some core topics
Some suggestions of key things you should become familiar with if you’re getting started with SuperCollider:
- Client vs server: SuperCollider is two separate components: the audio synthesis server (scsynth) and the language client (sclang). This separation has important consequences, so make sure you understand it.
- Object-Oriented Programming: If you’re familiar with OO programming (e.g. in Java or C++) you’ll have no problems - otherwise, search the web for tutorials on object-oriented programming.
- Synths and SynthDefs: SynthDefs are the primary way to define the sound synthesis that the server will perform.
- Order of execution: A server can have many synths running at the same time, and if their outputs/inputs interact then you need to know how to keep them all in the correct order.
- Scheduling: Using Tasks and Routines, Events and Patterns to control the creation/manipulation of synths etc.
- Understanding errors: You’re bound to make the occasional mistake now and again; so you should know how to understand error messages when they appear.
Some further topics
This list is not complete or authoritative, but some topics you might like to learn about once you’re familiar with the core aspects of using SC.
These links jump directly to articles from the SC built-in help:
- How to write classes
- Non-Realtime Synthesis
- Creating graphical interfaces - see the SCWindow class for starters
- Live coding and JITlib
- Creating standalone applications (Mac only)








