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 and Extensions
13. Sound Analysis

1. Introduction/Overview

1.1 Getting Started.html

1.2 Getting Around in SC3.html

1.3 Obtaining SC3.html

Advice on using Aggregate Devices for Mac OS X (especially MacIntel machines and Leopard)

Week 1 exercise: Explore SuperCollider!



2. Sound Synthesis Part 1

2.1 Subtractive and additive synthesis.html

2.2 Mulandadd.html

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

3.2 Modulation synthesis.html

3.3 Moresynthesisexamples.html

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

4.2 Arrays.html

4.3 SynthDefs.html

4.4 Exercises.html

Week 4 exercises



5. Interaction

5.1 Interaction.html

5.2 Graphical User Interfaces.html (OS X)

5.2b GUIs with SwingOSC.html (SwingOSC)

Week 5 exercise: convert a sound synthesis or sound processing patch for GUI control.




6. Scheduling

6.1 Scheduling.html

6.2 Routines and Tasks.html

6.3 Buses.html

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

7.2 Granular Synthesis.html

7.3 GUI+Loop Example.html

7.4 Plotting.html

Week 7 exercise: Explore processing sound files in SuperCollider; begin to draft your portfolio exercise on granular synthesis.




8. Patterns

8.1 Patterns.html

Week 8 exercise

8.2 Patterns Exercises.html




9. Nodes, Effects

9.1 Nodes.html

9.2 Control Buses.html

9.3 Global Variables and Environments.html

9.4 Effects.html

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

10.2 Messaging Style.html

10.3 Network Music Lab.html

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

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

12.1 Dealing with Large Projects.html

12.2 Writing Classes.html
You need these two class files:
NastySynth.sc
SuperMario.sc


12.3 Programming (advanced).html

12.4 Extending SuperCollider.html

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? 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



13. Sound Analysis

13.1 FFT.html

Week 13 exercise: Try out the FFT based UGens