Nick Collins' Website
SuperCollider tutorial
Also available as a downloadable zip of RTF, HTML and text files:
sctutorial.zip
Shortcuts:
1. Introduction and Overview
2. Sound Synthesis 1: Additive, Subtractive, Modulation
3. Sequencing
4. Interaction 1
5. Sound Synthesis 2: Sample-based, Granular
6. Effects
7. Interaction 2
8. Timing and Psychology of Rhythm
9. Algorithmic Composition
10. Open Sound Control, Server Messaging, Network Music
11. Sound Synthesis 3 - Physical Modelling
12. Sound Analysis
Extra exercises and SC technicalities: from arrays to classes
1. Introduction and Overview
1.1 Getting Started.html
1.2 Getting Around in SC3.html
1.3 Obtaining SC3.html
Week 1 exercise: Explore SuperCollider!
2. Sound Synthesis 1: Additive, Subtractive, Modulation
2.1 Subtractive and Additive Synthesis.html
2.2 Mul and add.html
2.3 Controlling Synths.html
2.4 Modulation Synthesis.html
2.5 More Synthesis Examples.html
Week 2 exercise: explore the materials thoroughly, looking up
anything you don't understand; create additive, subtractive and
modulation synthesis patches of your own
3. Sequencing
3.1 Envelopes.html
3.2 SynthDefs.html
3.3 Sequencing.html
3.4 Server-side Sequencing and Triggers.html
3.5 Nested Scheduling.html
Week 3 exercise: Practice creating some SynthDefs (which should have
a doneAction:2 in them), and make simple sequences where you
schedule Synths over time in an entertaining way
4. Interaction 1
4.1 Interaction 1.html
4.2 Graphical User Interfaces.html
4.3 Further GUI Example.html
Week 4 exercise: Mock up a simple prototype GUI that controls some
simple sound synthesis. If you're stuck for ideas, make a
subtractive synthesizer with GUI controls for the filter. Or convert
any of your existing sound synthesis patches for GUI control
5. Sound Synthesis 2: Sample-based, Granular
5.1 Buffers and Sound Files.html
5.2 Granular Synthesis.html
5.3 GUI+Loop Example.html
5.4 Granular Bonus Examples.html
Week 5 exercise: Explore processing sound files in SuperCollider;
create a simple granular synthesizer with some GUI controls.
6. Effects
6.1 Buses.html
6.2 Control Buses.html
6.3 Nodes.html
6.4 Effects 1.html
6.5 Effects 2.html
Week 6 exercise: Build an example patch with a global effects unit
(such as a reverb or distortion). You should construct the effects
unit using a separate Synth; this effect should be applied to any
other Synths (which might use any of the SynthDefs you've built so
far on the course). Execution order is critical here and you will
need to understand 6.3 to achieve this.
7. Interaction 2
7.1 Interaction 2.html
Week 7 exercise: Try out MIDI control of sound using MIDI keyboards,
or audio input feature control. You might trigger new short-lived
Synths based on input, or modulate parameters of an existing
sustained Synth
8. Timing and Psychology of Rhythm
8.1 Precise Timing in SC.html
8.2 Some Time and Rhythm Demoes.html
Week 8 exercise: explore, and vary, the examples of psychology of
rhythm. Can you also implement any more advanced compositional
rhythmic structures (such as multiple simultanous tempi, or metric
modulation)?
9. Algorithmic Composition
9.1 Algorithmic Strategies.html
9.2 Patterns.html
9.3 Probability Distributions (optional).html
Plan an algorithmic composition, deciding upon style, and
algorithmic structuring. You might like to consider: what aspects of
the work could change with each run of the program?
10. Network Music
10.1 Open Sound Control.html
10.2 Messaging Style.html
10.3 Network Music Lab.html
10.4 Mouse To Lang.html
Week 10 exercise: Try passing musical information between two
computers, or two programs on one computer. You can always send
information via the loopback node to the same instance of
SuperCollider if you're stuck.
11. Sound Synthesis 3: Physical Modelling
11.1 Physical Modelling.html
11.2 Analogue Modelling.html
Week 11 exercise: Explore physical modelling synthesis, creating
patches of your own especially using the source (excitation signal)
+ filter (body resonator) model
12. Sound Analysis
12.1 FFT.html
12.2 Singing Voice Synthesis.html
Week 12 exercise: Try out the FFT based UGens to do spectral
processing
Extra exercises and SC technicalities: from arrays to classes
SC Programming Exercises.html
Patterns Exercises.html
01 Programming.html
02 Arrays.html
03 Plotting.html
04 Global Variables and Environments.html
05 Clocks and Scheduling.html
06 Routines and Tasks.html
07 Dealing with Large Projects.html
08 Writing Classes.html
You will need these two class files:
NastySynth.sc
SuperMario.sc
09 Programming (advanced).html
10 Extending SuperCollider.html
Classes exercise: Convert one of your existing programs into a class
and client code; how does this neaten and clarify your work?
Consider how to use classes to tidy up your portofolio- is there any
reusable code you can factor into classes? After you've done this,
explore third party libraries galore!
Some links to extensions:
SourceForge sc3-plugins project (including many third party library
projects)
The Swiki open resource site has links to many SC extensions