[ back ]
The Csound Book
Perspectives in Software Synthesis, Sound Design,
Signal Processing and Programming

Edited by Richard Boulanger
Foreword by Barry Vercoe
Preface by Max Mathews

32 Chapters from the top Sound Designers and Programmers of the world. 45 CD-ROM Chapters. 2 CD-ROMS.
$55.00

Purchase
Barnes & Noble
MIT Press
Amazon.com

Comments about the book
Read here


MitPress

bn.com

1 Introduction to Sound Design in Csound

instr 101 ; SIMPLE OSCIL
instr 102 ; SIMPLE FM
instr 103 ; SIMPLE BUZZ
instr 104 ; SIMPLE WAVEGUIDE
instr 105 ; SIMPLE GRANULAR
instr 106 ; SIMPLE WAVETABLE
instr 107 ; P-FIELD OSCIL
instr 108 ; P-FIELD FM
instr 113 ; SIMPLE OSCIL WITH ENVELOPE
instr 115 ; SWEEPING BUZZ WITH ENVELOPE
instr 117 ; GRAINS THROUGH AN ENVELOPE
instr 118 ; LOSCIL WITH OSCIL ENVELOPE
instr 119 ; RETRIGGERING FOSCIL WITH OSCIL ENVELOPE
instr 120 ; SIMPLE CHORUSING
instr 122 ; SIMPLE SPECTRAL FUSION
instr 124 ; SWEEPING AMPLITUDE MODULATION
instr 126 ; SIMPLE DELAYED VIBRATO
instr 128 ; BANDPASS-FILTERED NOISE
instr 129 ; ONE-POLE LOWPASS
instr 130 ; TWO-POLE LOWPASS
instr 131 ; THREE-POLE LOWPASS
instr 132 ; FOUR-POLE LOWPASS
instr 133 ; LOWPASS WITH RESONANCE
instr 135 ; DISKIN ECHO-RESONATOR
instr 136 ; VDELAY FLANGER
instr 137 ; GLOBAL ECHO/REVERB LOSCIL
instr 138 ; SWEEPING FM WITH VIBRATO & DISCRETE PAN
instr 141 ; AMPLITUDE MODULATION LFO PANNER

 

2 Understanding Csound’s Function Table GEN Routines

instr
201
; READING A SOUNDFILE USING TABLEI & GEN1
instr 202 ; TABLE-LOOKUP OSCILLATOR - PHASOR/TABLEI
instr 203 ; TABLE-LOOKUP OSCILLATOR - OSCILI
instr
204
; CPSPCH PITCH CONVERTER
instr
205
; SIMPLE WAVESHAPING
instr
206
; WAVESHAPING WITH NORMALIZATION
instr
207
; PHASE-QUADRATURE WAVESHAPING
instr 208 ; AM/FM
instr
209
; 12-TONE ROW PLAYER
instr
210
; 3D WAVE-TERRAIN

 

3 What Happens When You Run a Csound Program

instr 301 ; REVERB SEND WITH EXPON AMPLITUDE ENVELOPE
instr 302 ; REVERB SEND WITH GAUSS PITCH ENVELOPE
instr 399 ; SIMPLE REVERB

 

4 Optimizing Your Csound Instruments

instr 401 ; SIMPLE (& SLOW) MIDI
instr 402 ; SIMPLE (& SLOW) MIDI
instr 403 ; SIMPLE OPTIMIZED MIDI
instr 404 ; A-RATE VIBRATO
instr 405 ; K-RATE VIBRATO
instr 406 ; INEFFICIENT AMPLITUDE SCALING
instr 407 ; EFFICIENT AMPLITUDE SCALING
instr 408 ; REDUNDANT FM
instr 409 ; OPTIMIZED STATIC FM
instr 410 ; USING FUNCTION CALLS
instr 411 ; USING TABLE-LOOKUP
instr 412 ; USING DIVISION
instr 413 ; USING MULTIPLICATION
instr 414 ; USING UNIQUE A-RATE OUTPUT ARGUMENTS
instr 415 ; REUSES A-RATE OUTPUT ARGUMENTS
instr 416 ; NEEDING USER OPTIMIZATION

 

5 Using Csound’s Macro Language Extensions

instr 513 ; MACRO EXAMPLE
instr 514 ; MACRO EXAMPLE
instr 513 ; EXPANDED MACRO
instr 514 ; EXPANDED MACRO
instr 515 ; EXPANDED REVERB MACRO
instr 516 ; EXPANDED REVERB MACRO

 

6 Designing Acoustically Viable Instruments in Csound

instr 601 ; PARALLEL BANDPASS FILTER
instr 604 ; AMPLITUDE CONTROLLED TIMBRE MAPPING
instr 606 ; FM WITH MODULATION INDEX MAPPED TO AMPLITUDE
instr 607 ; FM WITH PITCH & AMP MAPPED TO ENVELOPE & SPECTRA

 

7 Designing Legato Instruments in Csound

instr 701 ; A SIMPLE LEGATO INSTRUMENT
instr 702 ; A MORE ELABORATE LEGATO INSTRUMENT
instr 705 ; FULL LEGATO INSTRUMENT WITH "CHIFF"

 

8 Contiguous-Group Wavetable Synthesis of the French Horn in Csound

instr 801 ; WAVETABLE FRENCH HORN
instr 899 ; SIMPLE REVERB

 

9 FM Synthesis and Morphing in Csound: from Percussion to Brass

instr 901 ; CHOWNING FM

 

10 Modeling "Classic" Electronic Keyboard Instruments in Csound

instr 1001 ; GLOBAL INITIALIZATION: TONE WHEEL/ROTATING SPEAKER
instr 1002 ; THE FOOT SWITCH CONTROLLING ROTOR SPEEDS
instr 1003 ; TONE WHEEL ORGAN
instr 1004 ; ROTATING SPEAKER
instr
1007
; TB-303 EMULATOR

 

11 A Survey of Classic Synthesis Techniques Implemented in Csound

instr 1101 ; SIMPLE OSCILLATOR
instr 1102 ; SIMPLE OSCILLATOR WITH AMPLITUDE ENVELOPE
instr 1105 ; ENVELOPE-CONTROLLED WHITE NOISE
instr 1106 ; PULSE TRAIN WITH AMPLITUDE ENVELOPE
instr 1109 ; SIMPLE AMPLITUDE MODULATION
instr 1111 ; RING MODULATION
instr 1112 ; SIMPLE WAVESHAPING
instr 1113 ; DUAL WAVESHAPING
instr 1114 ; SIMPLE STATIC FM
instr 1115 ; FM WITH AMPLITUDE AND SPECTRAL ENVELOPES

 

12 A Guide to FM Implementation in Csound

instr 1201 ; SIMPLE CHOWNING FM
instr 1202 ; BETTER SIMPLE FM
instr 1203 ; SIMPLE PHASE MODULATION (PM)
instr 1204 ; PHASE MODULATION WITH MODULATOR STACK
instr 1205 ; DX7 EMULATOR – ALGORITHM 16

 

13 A Guide to Granular Synthesis in Csound

instr 1301 ; SIMPLE GRANULAR
instr 1302 ; STEREO GRANULAR WITH COMMON AMPLITUDE ENVELOPE
instr 1303 ; 22O HZ SINE TONE
instr 1304 ; QUAD GRANULAR
instr 1306 ; SIMPLE GRANULAR WITH GRAIN OPCODE

 

14 Exploring FOF and FOG Synthesis in Csound

instr 1401 ; SINGLE FORMANT FOF
instr 1414 ; BASIC FOG
instr 1415 ; DYNAMIC SPEED CHANGE OF FOG PLAYBACK
instr 1416 ; SAMPLE-BASED FOG THAT "DISINTEGRATES"

 

15 Processing Samples with Csound’s FOF Opcode

instr 1501 ; SIMPLE FOF
instr 1502 ; FOF THAT PROCESSES A TAMBURA SAMPLE

 

16 A Look at Random Numbers, Noise and Chaos with Csound

instr 1601 ; FILTERED NOISE WITH "DECLICKING" ENVELOPE
instr 1602 ; ADDITIVE WITH "GAUSSIAN" FREQUENCY DEVIATION
instr 1603 ; BASIC FM "BELL"
instr 1604 ; ENHANCED FM "BELL" WITH NOISE BURSTS
instr 1605 ; CUBIC OSCILLATOR USING THE DUFFING EQUATION

 

17 Constrained Random Event Generation and Retriggering in Csound

instr 1701 ; PERIODIC RE-INITIALIZATION
instr 1702 ; AMPLITUDE MODULATION WITH LFO
instr 1703 ; REINIT WITH PHRASE-ENVELOPE
instr 1704 ; A "POPCORN" SIMULATOR
instr 1705 ; 3 PART "GESTURE" INSTRUMENT
instr 1706 ; ALGORITHMIC MUSIC GENERATOR

 

18 Using Global Csound Instruments for Meta-Parameter Control

instr 1801 ; SIMPLE PORTAMENTO
instr 1802 ; CONTROLS 1803 AMPLITUDE
instr 1803 ; SIMPLE OSCIL
instr 1804 ; CONTROLS 1805/1806 AMPLITUDE
instr 1805 ; SIMPLE OSCIL
instr 1806 ; SIMPLE OSCIL
instr 1807 ; GLOBAL LFO
instr 1808 ; GLOBAL ADSR
instr 1809 ; SIMPLE VCO
instr 1811 ; FIXED-FREQUENCY OSCIL FOR SPECTRAL FUSION
instr 1812 ; FIXED-FREQUENCY OSCIL FOR SPECTRAL FUSION
instr 1813 ; GLOBAL VIBRATO
instr 1814 ; FIXED-FREQUENCY OSCIL FOR SPECTRAL FUSION
instr 1815 ; FIXED-FREQUENCY OSCIL FOR SPECTRAL FUSION
instr 1816 ; TIME-VARYING STOCHASTIC GENERATOR
instr 1817 ; TIME-VARYING STOCHASTIC GENERATOR
instr 1818 ; EFFICIENT TIME-VARYING STOCHASTIC GENERATOR
instr 1819 ; EFFICIENT TIME-VARYING STOCHASTIC GENERATOR
instr 1820 ; SIMPLE FM
instr 1821 ; CONTEXT SENSITIVE GLOBAL RMS
instr 1822 ; PULSED NOISE
instr 1823 ; PASSES DATA TO 1824
instr 1824 ; PASSES DATA TO 1823
instr 1825 ; GLOBAL FEEDBACK

 

19 Mathematical Modeling with Csound: From Waveguides to Chaos

instr 1901 ; WAVEGUIDE PLUCKED BASS
instr
1902
; WAVEGUIDE SLIDE-FLUTE
instr
1903
; WAVEGUIDE CLARINET
instr
1904
; DRUM STICK
instr
1905
; SQUARE DRUM
instr
1908
; LORENZ ATTRACTOR
instr 1909 ; ROSSLER'S ATTRACTOR
instr
1910
; PLANET ORBITING IN BINARY STAR SYSTEM

 

20 An Introduction to Signal Processing with Csound

instr 2001 ; 440 HZ SINE WAVE AT FULL AMPLITUDE
instr 2002 ; SIMPLE 440 HZ OSCILLATOR
instr 2003 ; SINGLE IMPULSE
instr 2004 ; PITCHED PULSE TRAIN
instr 2005 ; ALIASING
instr 2006 ; IMPULSE RESPONSE OF RESON FILTER
instr 2007 ; DIRECT IMPLEMENTATION OF CONVOLUTION
instr 2008 ; CONVOLUTION USING CONVOLVE OPCODE
instr 2009 ; FIR FILTER EXAMPLE
instr 2010 ; IIR FILTER EXAMPLE
instr 2011 ; FM SCI-FI VOICE EXAMPLE
instr 2012 ; AM SCI-FI VOICE EXAMPLE
instr 2013 ; PHONE VOICE SCRAMBLER
instr
2014
; PHONE VOICE DESCRAMBLER

 

21 Understanding Csound’s Spectral Data Types

instr 2101 ; BEAT TRACKER, TEMPO FOLLOWER
instr 2102 ; PITCH TRACKING HARMONIZER

 

22 Using Csound to Understand Delay Lines and their Applications

instr 2201 ; PLUCK WITH ECHOES
instr 2202 ; DRY PLUCK
instr 2203 ; GLOBAL EFFECT
instr 2204 ; VDELAY VIBRATO
instr 2205 ; SOUNDIN
instr 2206 ; STEREO FLANGER
instr 2207 ; PITCH SHIFTER
instr 2208 ; SOUNDIN
instr 2209 ; HARMONIZER WITH FEEDBACK

 

23 An Introduction to Reverberation Design with Csound

instr 2301 ; NOISE BURST
instr 2302 ; REVERB UNIT
instr 2303 ; NOISE BURST WET/DRY
instr 2304 ; REVERB WET/DRY
instr 2305 ; STEREO DIFFUSION OF ECHOES
instr 2306 ; DOPPLER SHIFT
instr 2307 ; SCALEABLE GLOBAL SEND LEVELS
instr 2309 ; REVERB WITH ATTENUATED HI FREQ
instr 2310 ; ALLPASS FILTERS TO BUILD UP REFLECTIONS
instr 2311 ; 2 PARALLEL ALLPASS FILTERS WITH RANDOM DELAY TIMES
instr 2313 ; 3 PARALLEL COMBS INTO AN ALLPASS THEN LOPASS
instr 2314 ; GLOBAL REVERB INTO 2 VARYING DELAYS
instr 2315 ; METALLIC REVERB

 

24 Implementing the Gardner Reverbs in Csound

instr 2402 ; SMALL ROOM REVERB
instr 2403 ; MEDIUM ROOM REVERB
instr 2404 ; LARGE ROOM REVERB

 

25 Csound-based Auditory Localization

instr 2501 ; HRTFER EXAMPLE ORCHESTRA

 

26 Convolution in Csound: Traditional and Novel Applications

instr 2601 ; DIRECT CONVOLUTION
instr 2602 ; FFT CONVOLUTION
instr 2603 ; ECHO & REVERB DEMOS
instr 2604 ; MIX REVERB, DELAY & DARKEN
instr 2610 ; BRIGHT MUSIC DEMOS

 

27 Working with Csound’s ADSYN, LPREAD and LPRESON Opcodes

instr 2701 ; BASIC ADDITIVE RESYNTHESIZER
instr 2704 ; ADDITIVE RESYNTHESIS WITH DYNAMIC FM
instr 2709 ; AN LPC SPEECH RESYNTHESIZER
instr 2722 ; LPREAD
instr 2726 ; LPC-BASED CROSS-SYNTHESIZER
instr 2728 ; LPC ADDITIVE CROSS-SYNTHESIZER
instr
2730
; LPC ADDITIVE CROSS-SYNTHESIZER

 

28 Csound’s Phase Vocoder and Extensions

instr 2801 ; PVOC RESYNTHESIS WITH DYNAMIC TIME SCALING
instr 2810 ; PVREAD: ADDITIVE SYNTHESIS
instr 2811 ; GLOBAL TIME POINTER
instr 2812 ; GLOBALLY CONTROLLED FM SYNTHESIZER
instr 2815 ; VPVOC
instr 2816 ; CROSS-SYNTHESIS: PVBUFREAD
instr 2817 ; CROSS-SYNTHESIZER
instr 2818 ; CROSS-SYNTHESIS INTERPOLATES BETWEEN 2 FILES
instr 2821 ; CROSS-SYNTHESIS WITH CONTROL OVER AMPLITUDE & PITCH
instr 2822 ; TALKING MARIMBA/VIOLIN MORPH

 

29 Efficient Implementation of Analog Waveshaping in Csound

instr 2901 ; PULSE WAVE WITH MODULATABLE PULSE-WIDTH
instr 2904 ; SUB-OCTAVE GENERATOR

 

30 Modeling a Multi-Effects Processor in Csound

instr
3099
; ZAK-BASED MIXER
instr
3011 ; COMPRESSOR/LIMITER
instr 3010 ; NOISE GATE
instr 3012 ; DE-ESSER
instr
3013
; DISTORTION
instr
3018 ; 3 BAND EQ
instr
3016
; WAH-WAH
instr 3015 ; RESONANT LOWPASS FILTER
instr
3020 ; VIBRATO
instr
3022
; DELAY-BASED PITCH SHIFTER
instr 3035 ; CHORUS
instr 3030 ; FLANGER
instr
3040 ; STEREO DELAY
instr
3021
; TREMOLO
instr 3023 ; AUTO-PANNER
instr 3045 ; SIMPLE REVERB