Here is a collection of Csound examples that I have used in my computer music classes at The University of Texas. Some are very basic, designed for beginners, while others are quite complicated. A few have graphical user interfaces (with CsoundQT, or Cabbage), but most of them do not. This is because user interface code tends to be complicated and a little messy, and it can take up more lines than the synthesis code. Hence, it can make it difficult for beginners to figure out what is actually responsible for making the sound. Feel free to download and use these examples in your own compositions or teaching. All I ask is that if you re-post them somewhere else, or include them in a publication, please include a citation. Thanks, RFP
Click on the DETAILS buttons for brief descriptions of the files.
Qt
2 files
QTSergio.csd is designed to be used with CsoundQT. This instrument emulates certain aspects of a classic modular synthesizer, which has various control sources, triggers (timed or manual), adsrs, a noise generator, a VCO, a VCF, and a means of patching outputs to inputs. Uses the snapshot file SergioSnap.txt (in Extras). RP
Author: | Russell Pinkston |
Category: | Qt |
License: | Freeware |
Date: | March 15, 2014 |
QTSergioR2.csd is a modified version of QTSergio, with a stochastic pattern generator. It is designed to be used with QT-Csound. However, it can also be run from the command line (or WinXound), if i01 is commented out in the score. (See the comments in the score.)
Note that 20 snapshots are provided in the SergioRSnap.txt file (in Extras). Snaps 1-5 and 11-20 use the
Stochastic Generator. RP
Author: | Russell Pinkston |
Category: | Qt |
License: | Freeware |
Date: | March 15, 2014 |
Simple zak-based mixing instrument with a Cabbage GUI.
Author: | Russell Pinkston |
Category: | Cabbage |
License: | Freeware |
Date: | February 15, 2014 |
Sound File Player with Cabbage GUI
Author: | Russell Pinkston |
Category: | Cabbage |
License: | Freeware |
Date: | February 15, 2014 |
This is a general-purpose interface for a MIDI-controlled Csound synthesis instrument. Many of the widgets in the Cabbage GUI are not used here, but are included for demonstration purposes. The instrument is a simple foscili-based FM design. MIDI controllers 1, 4, 7, and 10 are used for Vibrato, Peak Index, Volume, and Pan, respectively. Select snapshot 1 to load usable parameter values.
Snapshot and help files are in GenericInterfaceExtras.zip (in Extras).
Note: the html help file doesn't seem to load on my Windows x64 system, but might on other operating systems, or even later versions of Windows.
Author: | Russell Pinkston |
Category: | Cabbage |
License: | Freeware |
Date: | March 15, 2014 |
Additive synthesis instrument loosely based on one of the MSP tutorial examples by Christopher Dobrian. Uses hand-drawn envelope functions in addfuns.zip (in Extras).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 6, 2014 |
Simple adsyn demonstration instrument with fixed amp, pitch, and time factors. Uses adsyn.nnn analysis files created with the hetro utility. The analysis files are in adsyns.zip (in Extras).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 6, 2014 |
Simple MIDI Snare Drum Instrument (subtractive synthesis).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Bank of tuned Butterworth band pass filters.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 6, 2014 |
Simple Variable Band Pass Filter Instrument.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 6, 2014 |
Band pass filter demonstration instruments. All use three butterbp filters with the same CF & BW, connected in series.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 6, 2014 |
Simple demonstrations of the buzz and gbuzz unit generators.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple chorus instrument based on heterodyning.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple demonstrations of using Gen 10 and score expressions to create some classic synthesis waveshapes - sine, saw, pulse, square, and triangle.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Demonstration of using comb with a long reverb time, in order to produce distinct pitches from comb's strong resonant peaks. Uses rich44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Example instrument 1 from RP's Delay Lines chapter in The Csound Book.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example instruments 2 & 3 from RP's Delay Lines chapter in The Csound Book.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example instrument 4 from RP's Delay Lines chapter in The Csound Book. Implements vibrato with vdelay.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example instruments 5 & 6 from RP's Delay Lines chapter in The Csound Book. Implements a flanger. Uses Rich44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example instrument 7 from RP's Delay chapter in The Csound Book. Implements a simple pitch shifter. Uses Cello44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Variation on example instrument 7 from RP's Delay chapter in The Csound Book. Uses four deltapi units, sounds much better! Uses Cello44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example instruments 8 & 9 from RP's Delay chapter in The Csound Book. Emulates a classic harmonizer. Uses bass44.wav, cello44.wav, and timp44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple Doppler Shift Instruments
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple General MIDI drum kit instrument. Uses drum samples in GMDrums.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple demos of various Csound reverb opcodes. Uses sounds in effsnds.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Dodge/Risset Endless Glissando Instrument.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple demonstrations of the event opcode
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
This orchestra "manually" implements some basic digital filter equations, based on algorithms found in the Dodge/Jerse book. It uses sounds in filtsnds.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
This orchestra demonstrate some of the various Csound filters available. Uses "THEWIND.WAV" (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Example Instrument 1 from RP's FM chapter in The Csound Book. Simple FM.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example Instrument 2 from RP's FM chapter in The Csound Book. Simple FM with foscili.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example Instrument 2a from RP's FM chapter in The Csound Book. Simple Phase Modulation.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example Instrument 3 from RP's FM chapter in The Csound Book. Phase Modulation with stacked modulators.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example Instrument 4 from RP's FM chapter in The Csound Book. Yamaha DX7 Emulation instrument. This orchestra implements Algorithm 16 (Pluk 16.1), but it can readily be modified for all the other DX7 algorithms (see Jeff Harrington's work). Coded before the Csound loop opcodes were introduced, this instrument implements a "manual" i-time loop to copy in the parameters for all 6 DX7-style operators.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example FOF2 instrument with variable gliss, octaviation, and phs.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Example FOF instrument. This uses 5 fof units to simulate vowel formants. The
formant data is taken from the Dodge/Jerse book, pp. 230-231
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example time-stretching instrument using Fog. Allows number of overlaps to be specified in the score. Based on Michael Clark's design from The Csound book. Uses sounds in fogfiles.zip (in Sounds). RP
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Global Control Variable Demo Instrument. Shows how to implement a "phrase" envelope in Csound.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 10, 2014 |
Simple MIDI-controlled grain demo instrument. Grain density, grain duration, vamp, vpit, volume, and pan are all controlled by MIDI continuous controllers.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 10, 2014 |
Extended Guard Point Demonstration Instrument. This instrument demonstrates why it is necessary to add an extended guard point to non-cyclical functions that will be used by interpolating units.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
This orchestra contains example instruments 2-4 from RP's chapter in The Csound Book, entitled "Constrained Random Event Generation and Retriggering in Csound."
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
This orchestra contains example instrument 5 (popcorn simulation) from RP's chapter in The Csound Book, entitled "Constrained Random Event Generation and Retriggering in Csound."
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
This orchestra contains example instrument 6 (three-part gesture) from RP's chapter in The Csound Book, entitled "Constrained Random Event Generation and Retriggering in Csound."
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
This orchestra contains example instrument 7 (constrained random music) from RP's chapter in The Csound Book, entitled "Constrained Random Event Generation and Retriggering in Csound."
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Karplus Strong Algorithm Demonstrations.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Simple monophonic legato/portamento instrument. This demonstrates how to make a legato phrase in Csound, using a p-field other than p3 to set the duration of the complete phrase.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Comb filter bank instrument using loop_le. This instrument shows how to create a bank of individually tuned comb filters using the Csound loop_le and schedule opcodes.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Parameter Mapping Demonstration Instrument. This instrument maps amplitudes to input MIDI velocity and pan position to start time using stored functions.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Basic Realtime MIDI FM Instrument. This is a simple MIDI instrument that can either be played on a MIDI keyboard, or with a MIDI file. Try it with bachinv2.mid (in Extras).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Example FM Instrument 3 from RP's FM chapter in the Csound Book, modified for MIDI control. Try it with the midifm3.mid Midifile (in Extras).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Demonstration of time stretching and pitch shifting with mincer. This is just a slight modification of the Csound manual example. Uses "thewind.wav" (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
This example plays a short riff with sampled conga sounds, interrupted by a short "rachet" sound made with LFO-modulated filtered white noise. It is primarily aimed at showing how to construct a general-purpose sampler instrument using sounds and data tables in the score. Uses some old Ensoniq conga samples in congasfs.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Example Granular Synthesis Instrument Using Granule. This runs a series of tests on granule, using the three different sampled sounds in granwavs.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 7, 2014 |
Real-Time Mixer Instrument with FLTK GUI. An example of a zak-based mixer with real-time controls made with the Csound FLTK opcodes.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Time stretching demo with pvoc. Simple pvoc instrument made in class. Implements time stretching with optional pitch shift. Uses analysis files in ourpvfiles.zip (in Extras), derived from tamtam.aif and highbell.aif (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple mono 4-band parametric EQ instrument. Uses sounds in opeqsnds.zip (in Sounds)
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Pitch to Amplitude Mapping Instruments. Two examples of mapping one parameter to another. Instrument. Instrument 1 implements the mapping function in the orchestra, while Instrument 2 uses a table to read a stored mapping function.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Simple pvoc playback instrument for time scaling with pitch shift. Uses anaysis files (framesize = 1024, overlaps = 8) of thewind.wav & fire1m44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple cross synthesis instrument using pvbufread and pvcross. Uses hand-drawn function pvoctest.fun (in Extras) and anaysis files (framesize = 1024, overlaps = 8) of thewind.wav, eroica44.wav, and wavest44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example Instrument for Phase Vocoder Interpolation. Similar to pvoc2.orc, but uses pvbufread and pvinterp. Uses analyses (framesize = 1024, overlaps = 8) of: thewind.wav, wavest44.wav, eroica44.wav, fire1M44.wav, cello44.wav, and PlkPnoLp.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple constrained Random Pitch Instrument.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Random Pitch Instrument. This instrument chooses random pitches using the Csound i() function to access the most recent output from a rand unit running at the k-rate and make it available at i-time.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple example that uses tablei to resample (and optionally pitch shift) sounds stored in f-tables. Uses cello44.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Granular Synthesis with Schedule. Uses a timout/reinit loop to implement granular synthesis using a simple slave oscil instrument with random controls. R
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 10, 2014 |
More complex schedule instrument that reads control tables from the score and implements granular synthesis with some random processing. Uses thewind.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 10, 2014 |
Schedule versus Schedkwhen. Two simple schedule instruments that generate a sequence of blips, first using timout/reinit and then using schedkwhen. Schedkwhen is obviously the easier way to go, but the timout/reinit approach may offer more precise control.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Schedule Drummer Instrument.;Two drummer instruments, both using schedkwhen. Instr 1 is a very dumb drummer that simply plays a prescribed pattern endlessly. Instr 2 is more interesting, because it introduces some random variations in the pattern. Uses drum samples from GMDrums.zip (in Sounds)
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Simple Harmonic Generator Instrument.This instrument generates harmonics based on a very low fundamental (A-27.5HZ). As simple as this instrument design is, it can produce rich and beautiful textures of sound, depending on the score. (Hence the name, "smart.") This particular score was generated with CMask.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Sndwarp Demonstration Instrument.This is a minor modification of the example in the Csound manual. Uses thewind.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Implementation of the Chowning FM soprano instrument from Dodge/Jerse book, pp 120 - 121. It is an example of formant simulation using a second carrier.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Example Sound File Playback Instruments. These instruments demonstrate various approaches to sound file playback from disk in Csound. The sound files are located in the zip archive sounds1.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Implementation of the Schottstaedt FM String Instrument from Dodge/Jerse. This is an example of multi-modulator FM.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Four different instruments, all of which generate sequences of high-pitched ticking sounds from single notes in the score, using various approaches to "micro" note generation.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Tuning Table Instrument. This instrument uses a tuning table which has ratios stored as pairs of numerator/denomenator values in a function created by Gen02. The ratios in this example are those used in just intonation.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
FOF demo instrument for varying vowels. Vowel data is stored in a table this time. Linsegs are used to interpolate between the successive formant frequencies, amplitudes, and band widths.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Variable grain instrument. Uses control functions for grain density, amplitude, pitch, and duration offsets. Uses thewind.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Modified version of vgrain.csd to compensate for change to the grain opcode in later versions of Csound. Uses thewind.wav (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Vocoder instrument written by Joe Anderson. An elegant implementation of a classic vocoder using banks of reson filters and balance opcodes.(Similar to the original analog Bode Vocoder.) Uses vocodersnds.zip (in Sounds).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
Instrument 1 demonstrates the use of vpvoc with tablexseg. It is based on the example provided in the Csound manual, with a few extra bells and whistles. It uses oscil1i to read the control function for the time pointer. Specify amount of pitch shift in p7 as a value in semitones. Instr 2 is a simple pvread instrument for individual bin resynthesis. Uses crashcym.wav (in Sounds) analyzed with -n1024 and -w8
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
Example vector synthesis instrument, modeled on the Korg Wavestation.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | March 8, 2014 |
General Purpose Waveshaping Instrument. Uses drawn.fun (in Extras).
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |
This is an interactive instrument with an FLTK GUI that will generate synthesized howling wind sounds and thunder claps. The user interface is an extension of Iain McCurdy's tutorial example for the FLjoy opcode.
Author: | Russell Pinkston |
Category: | Csound |
License: | Freeware |
Date: | February 15, 2014 |