Workshop materials- Computational Music 1 (G6002)
Shortcuts:
1. Introduction and Overview
2. Sound Synthesis Part 1 - Subtractive and Additive Synthesis
3. Sound Synthesis Part 2 - Modulation Synthesis
4. SC Programming 1
5. Interaction
6. Scheduling
7. Sound Synthesis Part 3 - Granular Synthesis, Sound File Manipulation
8. Patterns, Generative Music
9. Nodes, Effects
10. Open Sound Control, Server Messaging, Network Music
11. Sound Synthesis 4 - Physical Modelling
12. SC Programming 2
13. SC Extensions (Optional Extra- bbcut)
14. Revision and Review (Optional Extra- Live Coding/JITLib)
1.1 Getting Started.rtf
1.2 Getting Around in SC3.rtf
Core SuperCollider sites:
SuperCollider community homepage
James McCartney homepage
Swiki open resource site
join the sc-users mailing list (it's relatively friendly to newcomers, just be careful you always try to solve a problem to the best of your ability, by looking through help files and searching list archives (you can just Google a topic including 'sc-users' in the search string) before you post to a mailing list
Downloading SuperCollider:
(also see the SC community page on sourceforge mentioned at the top)
OS X, PPC and Intel, Tiger and Panther
Windows
Linux
SourceForge SuperCollider homepage
1.3 Obtaining SC3.rtf
Other tutorials on SuperCollider:
Three come with SuperCollider: just navigate to them from the main help page
A course by Julio d'Escrivan on sound synthesis using SuperCollider.
There is also a course by David Cottle with an associated book and SuperCollider examples - in order to obtain it you must email him yourself, explaining why you want it (at which point he will give you a download link). He has specifically requested that all potential users are monitored in this way, so I will not paste a direct link here - however, you may also see me in person if you'd like a copy.
Contacting David Cottle
Week 1 exercise: Explore SuperCollider!
2.1 Subtractive and additive synthesis.rtf
2.2 Mulandadd.rtf
Week 2 exercise: explore the materials thoroughly, looking up anything you don't understand; create additive and subtractive synthesis patches of your own
3.1 Envelopes.rtf
3.2 Modulation synthesis.rtf
3.3 Moresynthesisexamples.rtf
Week 3 exercise: explore the materials thoroughly, looking up anything you don't understand; create modulation synthesis patches of your own
4.1 Programming.rtf
4.2 Arrays.rtf
4.3 SynthDefs.rtf
Week 4 exercises
4.4 Exercises.rtf
5.1 Interaction.rtf
5.2 Graphical User Interfaces.rtf (OS X)
5.2b GUIs with SwingOSC.rtf (SwingOSC)
Week 5 exercise: convert a sound synthesis or sound processing patch for GUI control.
6.1 Scheduling.rtf
6.2 Routines and Tasks.rtf
6.3 Buses.rtf
Week 6 exercise: Using one of the SynthDefs you've already created (which should have a doneAction:2 in it!), make a simple algorithmic composition where you schedule your Synths over time in an entertaining way.
7.1 Buffers and Sound Files.rtf
7.2 Granular Synthesis.rtf
7.3 GUI+Loop Example.rtf
Week 7 exercise: Explore processing sound files in SuperCollider; begin to draft your portfolio exercise on granular synthesis.
8.1 Patterns.rtf
Week 8 exercise
8.2 Patterns Exercises.rtf
9.1 Nodes.rtf
9.2 Control Buses.rtf
9.2 Global Variables and Environments.rtf
Week 9 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 all other Synths (which might use any of the SynthDefs you've built so far on the course) scheduled from a Task. Execution order is critical here and you will need to understand 9.1 to acheive this.
10.1 Open Sound Control.rtf
10.2 Messaging Style.rtf
10.3 Network Music Lab.rtf
Week 10 exercise: You should review and consolidate all the work we've covered so far; this is a good point at which to get some good work done for your portfolio.
11.1 Physical Modelling.rtf
Week 11 exercise: Explore physical modelling synthesis, creating patches of your own especially using the source (excitation signal) + filter (body resonator) model
12.1 Dealing with Large Projects.rtf
12.2 Writing Classes.rtf
You need these two class files:
NastySynth.sc
SuperMario.sc
12.3 Programming (advanced).rtf
Week 12 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?
13.1 Extending SuperCollider.rtf
13.2 BBCut Intro.rtf
13.3 bbcut2 Intro.rtf
Week 13 exercise: 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
BBCut1.3 (older, provided for completeness)
bbcut2 (recommended version)
14.1 Live Coding in SC3.rtf
By Fredrik Olofsson:
14.2 JITLib Intro.rtf
By Julian Rohrhuber:
14.3 Julian_JITLib_intro01.rtf
Week 14 exercise: Try out JITLib; how does it change the way in which you work with SuperCollider?