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. Introduction/Overview

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. Sound Synthesis Part 1

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. Sound Synthesis Part 2

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. SC Programming 1

4.1 Programming.rtf

4.2 Arrays.rtf

4.3 SynthDefs.rtf

Week 4 exercises
4.4 Exercises.rtf




5. Interaction

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. Scheduling

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. Sound Synthesis Part 3

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. Patterns

8.1 Patterns.rtf

Week 8 exercise

8.2 Patterns Exercises.rtf




9. Nodes, Effects

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.Open Sound Control, Server Messaging, Network Music

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. Sound Synthesis 4 - Physical Modelling

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. SC Programming 2

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. SC Extensions (Optional Extra- bbcut)

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. Revision and Review (Optional Extra- Live Coding/JITLib)

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?