Supercollider Class: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(reference and formatting)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
https://github.com/lazzarello/supercollider-tutorial
Supercollider class at Noisebridge.
 
Learn how to write code that makes music. Supercollider is a software platform with a language, development environment and a DSP engine that generates sound from your computer. It models many modular synthesizer designs in code which run in real-time on any Mac, PC or Linux computer.
 
Build patches, run synths, control their sound in real-time with other synths, MIDI, your mouse, and any OSC device. Live code changes to your patches as they run. Learn how to build complex synthesizers that would cost thousands of dollars to build with hardware.
 
Supercollider was created in 1996 by James McCarthy. The language is an esoteric mix of Smalltalk and C. Code is interpreted in an IDE as you write.
 
Supercollider class is a [https://composerprogrammer.com/teaching/supercollider/sctutorial/tutorial.html 12 week class] written by [https://composerprogrammer.com/ Nick Collins]. Each week we will learn a different aspect of the platform. Each week has exercises where you compose unique sounds and realtime controllers.
 
The first SuperCollider class will begin on Wednesday, 2018-02-07 at 7PM in the Turing classroom. Attendees will be expected to have their own computer (Mac or PC or Linux), a sound card with outputs and inputs, speakers. Optionally, headphones would be helpful.


Based on [https://composerprogrammer.com/teaching/supercollider/sctutorial/tutorial.html Nick Collins's course work].


== Week 1 ==
== Week 1 ==
Line 48: Line 57:


== Week 4 ==
== Week 4 ==
'''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


== Week 5 ==
== Week 5 ==
'''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.


== Week 6 ==
== Week 6 ==
'''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.


== Week 7 ==
== Week 7 ==
'''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


== Week 8 ==
== Week 8 ==

Latest revision as of 15:44, 4 February 2018

Supercollider class at Noisebridge.

Learn how to write code that makes music. Supercollider is a software platform with a language, development environment and a DSP engine that generates sound from your computer. It models many modular synthesizer designs in code which run in real-time on any Mac, PC or Linux computer.

Build patches, run synths, control their sound in real-time with other synths, MIDI, your mouse, and any OSC device. Live code changes to your patches as they run. Learn how to build complex synthesizers that would cost thousands of dollars to build with hardware.

Supercollider was created in 1996 by James McCarthy. The language is an esoteric mix of Smalltalk and C. Code is interpreted in an IDE as you write.

Supercollider class is a 12 week class written by Nick Collins. Each week we will learn a different aspect of the platform. Each week has exercises where you compose unique sounds and realtime controllers.

The first SuperCollider class will begin on Wednesday, 2018-02-07 at 7PM in the Turing classroom. Attendees will be expected to have their own computer (Mac or PC or Linux), a sound card with outputs and inputs, speakers. Optionally, headphones would be helpful.


Week 1[edit]

1. Introduction and Overview

1.1 Obtaining SC3.html

1.2 Getting Started.html

1.3 Getting Around in SC3.html

Week 1 exercise: Explore SuperCollider!

Week 2[edit]

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

Week 3[edit]

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

Week 4[edit]

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

Week 5[edit]

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.

Week 6[edit]

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.

Week 7[edit]

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

Week 8[edit]

Week 9[edit]

Week 10[edit]

Week 11[edit]

Week 12[edit]

Extended Resources[edit]

Learning links of various quality and availability.