< Back

Computational Approaches to Sound: Programming and Composing with CSOUND

Computational Approaches to Sound: Programming and Composing with CSOUND

2 Week workshop at ArtScienceBLR
26 August 2019 - 06 September 2019
This 2 week workshop will introduce participants to elements of composing and programming with CSOUND. CSOUND is a powerful and versatile software synthesis program. Drawing from a toolkit of over 450 signal processing modules, one can use CSound to model virtually any commercial synthesizer or multi-effect processor. CSound transforms a personal computer into a high end digital audio workstation- an environment in which the world of composition, acoustic research and sound-design all join together in the ultimate expressive instrument. The 2 week workshop will cover various compositional techniques with CSound. No previous knowledge of programming or music composition is necessary.

DAY 1
Introduction to Computational Approaches to Music
Afternoon Session
Installing CSOUND
Assignment #1
Oscillations http://www.csounds.com/manual/html/SiggenBasic.html
Oscillations with 6 opcodes
OSCIL, FOSCIL, BUZZ, PLUCK, GRAIN, LOSCIL
OSCIL, FOSCIL, BUZZ, PLUCK, GRAIN, LOSCIL

instr 101 ; SIMPLE OSCIL
a1 oscil 10000, 440, 1
out a1
endin
Deconstructing the code

Day 2
Deconstructing a CSOUND file
The Header
Introduction to Score Files and Instrument Files
Introduction to GEN routines
The SCORE syntax
The NOTE list
Assignment #2
Re-write scores
GEN Routines http://www.csounds.com/manual/html/ScoreGenRef.html
Variables
i - rate - note rate k - rate - control rate a - rate - audio rate
P-Fields
;i P1 - Instrument P2 - Start Time P3 - Duration

Assignment #3
Rewrite assignment #1 with P-Fields

Assignment #4
Use any one synthesis method of your choice for both the sounds.
1. One Long Sound – Low amplitude
2. One Long Sound – Higher amplitude
No breaks in between the sounds
Total(40 Seconds)

Assignment #5
Use any one synthesis method of your choice for both the sounds.
1. One Long Sound– Low amplitude
2. Short Sounds(broken into equal bits) - Higher Amplitude
No breaks in between the first 2 parts
Total(40 Seconds)

Day 3
Sample Rates
Amplitude Clipping
Envelopes
irate, krate, arate
Watching Max Mathews and John Chowning Talk

Day 4
Spectral Fusion

Assignment #6
Rewrite instruments using spectral fusion. Compose a piece using spectral fusion.

Day 5
Value conversions
ampdb, cpspch
Filters
low-pass, high-pass, band-pass, band-reject

Assignment #7
Compose Three pieces - each with varying amplitudes. Use Loscil as the primary oscillator. Record sounds with a field recorder and use it as the base sound for LOSCIL

Day 6

Assignment #8
Add Filters to any one of the Three pieces that you composed.

Assignment #9
Add a tone to Assignment #8
Introducing MIDI
Assigning MIDI to CSOUND

Day 7
Techniques of Composition - Lecture
Introducing REVERB and ECHO


Links
https://csound.com/
https://csound.com/get-started.html
Csound FLOSS Manual Files: http://files.csound-tutorial.net/floss_manual/
Csound: http://csound.com/download.html
Csound Reference Manual: http://www.csounds.com/manual/html/
Csound source code: http://github.com/csound/csound
Csound's User Defined Opcodes: http://www.csounds.com/udo/ and http://github.com/csudo/csudo
CsoundQt: http://github.com/CsoundQt/CsoundQt/releases
WinXound: http://mnt.conts.it/winxound/
Blue: http://blue.kunstmusik.com/
Cabbage: http://cabbageaudio.com/
Most recent (unstable/develop) Csound installer: https://ci.appveyor.com/project/csound/csound/build/artifacts
Most recent (unstable/develop) CsoundQt version: https://github.com/CsoundQt/CsoundQt/releases
Eastman School of Music CSOUND Tutorials :http://www.ecmc.rochester.edu/ecmc/docs/csound/allan/index.html#TOC


Readings
Edgard Varèse: in wait for the future https://www.theguardian.com/music/2010/apr/08/edgard-varese-national-youth-orchestra
Stockhausen: How Time Passes By http://www.artesonoro.net/artesonoroglobal/HOW%20TIME%20PASSES%20BY.PDF
Interview with Max Mathews and John Chowning https://www.youtube.com/watch?v=Hloic1oBfug
code
FunctionTables
AASHNA
VIPRA
ADITYA
MEHAK
TAVISHI

Csound, Computational Sound