The OLPCsound Reference Manual

Version 5.08

Barry Vercoe

MIT Media Lab

et. al.


Table of Contents

Preface
Preface to the OLPCsound Manual
Getting Started with Csound
Tootorials
Toot 1
Toot 2
Toot 3
Toot 4
Toot 5
Toot 6
Toot 7
Toot 8
Toot 9
Toot 10
I. Overview
Using Csound
How Csound5 works
Amplitude values in Csound
Real-Time Audio
Optimizing Audio I/O Latency
Syntax of the Orchestra
Orchestra Header Statements
Instrument and Opcode Block Statements
Ordinary Statements
Constants and Variables
Variable Initialization
Expressions
Directories and Files
Nomenclature
Macros
Named Instruments
User Defined Opcodes (UDO)
The Standard Numeric Score
Preprocessing of Standard Scores
Carry
Tempo
Sort
Score Statements
Next-P and Previous-P Symbols
Ramping
Score Macros
Multiple File Score
Evaluation of Expressions
The Csound Command
Order of Precedence
Description of the command syntax
Csound command line
Command-line Flags
Csound Environment Variables
Unified File Format for Orchestras and Scores
Description
Example
Command Line Parameter File (.csoundrc)
Csound Links
II. Reference
Orchestra Opcodes and Operators
!= — Determines if one value is not equal to another.
#define — Defines a macro.
#include — Includes an external file for processing.
#undef — Un-defines a macro.
#ifdef — Conditional reading of code.
#ifndef — Conditional reading of code.
$NAME — Calls a defined macro.
% — Modulus operator.
&& — Logical AND operator.
> — Determines if one value is greater than another.
>= — Determines if one value is greater than or equal to another.
< — Determines if one value is less than another.
<= — Determines if one value is less than or equal to another.
* — Multiplication operator.
+ — Addition operator
- — Subtraction operator.
/ — Division operator.
= — Performs a simple assignment.
== — Compares two values for equality.
^ — “Power of” operator.
|| — Logical OR operator.
0dbfs — Sets the value of 0 decibels using full scale amplitude.
& — Bitwise AND operator.
| — Bitwise OR operator.
¬ — Bitwise NOT operator.
# — Bitwise NON EQUIVALENCE operator.
a — Converts a k-rate parameter to an a-rate value with interpolation.
abs — Returns an absolute value.
active — Returns the number of active instances of an instrument.
adsr — Calculates the classical ADSR envelope using linear segments.
adsyn — Output is an additive set of individually controlled sinusoids, using an oscillator bank.
adsynt — Performs additive synthesis with an arbitrary number of partials, not necessarily harmonic.
adsynt2 — Performs additive synthesis with an arbitrary number of partials -not necessarily harmonic- with interpolation.
aftouch — Get the current after-touch value for this channel.
alpass — Reverberates an input signal with a flat frequency response.
ampdb — Returns the amplitude equivalent of the decibel value x.
ampdbfs — Returns the amplitude equivalent of the decibel value x, which is relative to full scale amplitude.
ampmidi — Get the velocity of the current MIDI event.
areson — A notch filter whose transfer functions are the complements of the reson opcode.
aresonk — A notch filter whose transfer functions are the complements of the reson opcode.
atone — A hi-pass filter whose transfer functions are the complements of the tone opcode.
atonek — A hi-pass filter whose transfer functions are the complements of the tonek opcode.
atonex — Emulates a stack of filters using the atone opcode.
babo — A physical model reverberator.
balance — Adjust one audio signal according to the values of another.
bamboo — Semi-physical model of a bamboo sound.
barmodel — Creates a tone similar to a struck metal bar.
bbcutm — Generates breakbeat-style cut-ups of a mono audio stream.
bbcuts — Generates breakbeat-style cut-ups of a stereo audio stream.
betarand — Beta distribution random number generator (positive values only).
bexprnd — Exponential distribution random number generator.
bformenc — Codes a signal into the ambisonic B format
bformdec — Decodes an ambisonic B format signal
binit — PVS tracks to amplitude+frequency conversion.
biquad — A sweepable general purpose biquadratic digital filter.
biquada — A sweepable general purpose biquadratic digital filter with a-rate parameters.
birnd — Returns a random number in a bi-polar range.
bqrez — A second-order multi-mode filter.
butbp — Same as the butterbp opcode.
butbr — Same as the butterbr opcode.
buthp — Same as the butterhp opcode.
butlp — Same as the butterlp opcode.
butterbp — A band-pass Butterworth filter.
butterbr — A band-reject Butterworth filter.
butterhp — A high-pass Butterworth filter.
butterlp — A low-pass Butterworth filter.
buzz — Output is a set of harmonically related sine partials.
cabasa — Semi-physical model of a cabasa sound.
cauchy — Cauchy distribution random number generator.
ceil — Returns the smallest integer not less than x
cent — Calculates a factor to raise/lower a frequency by a given amount of cents.
cggoto — Conditionally transfer control on every pass.
chanctrl — Get the current value of a MIDI channel controller.
changed — k-rate signal change detector.
chani — Reads data from the software bus
chano — Send data to the outwards software bus
chebyshevpoly — Efficiently evaluates the sum of Chebyshev polynomials of arbitrary order.
chn — Declare a channel of the named software bus.
chnclear — Clears an audio output channel of the named software bus.
chnexport — Export a global variable as a channel of the bus.
chnget — Reads data from the software bus.
chnmix — Writes audio data to the named software bus, mixing to the previous output.
chnparams — Query parameters of a channel.
chnset — Writes data to the named software bus.
cigoto — Conditionally transfer control during the i-time pass.
ckgoto — Conditionally transfer control during the p-time passes.
clear — Zeroes a list of audio signals.
clfilt — Implements low-pass and high-pass filters of different styles.
clip — Clips a signal to a predefined limit.
clockoff — Stops one of a number of internal clocks.
clockon — Starts one of a number of internal clocks.
cngoto — Transfers control on every pass when a condition is not true.
comb — Reverberates an input signal with a “colored” frequency response.
compress — Compress, limit, expand, duck or gate an audio signal.
convle — Same as the convolve opcode.
convolve — Convolves a signal and an impulse response.
cos — Performs a cosine function.
cosh — Performs a hyperbolic cosine function.
cosinv — Performs a arccosine function.
cps2pch — Converts a pitch-class value into cycles-per-second (Hz) for equal divisions of the octave.
cpsmidi — Get the note number of the current MIDI event, expressed in cycles-per-second.
cpsmidib — Get the note number of the current MIDI event and modify it by the current pitch-bend value, express it in cycles-per-second.
cpsmidinn — Converts a Midi note number value to cycles-per-second.
cpsoct — Converts an octave-point-decimal value to cycles-per-second.
cpspch — Converts a pitch-class value to cycles-per-second.
cpstmid — Get a MIDI note number (allows customized micro-tuning scales).
cpstun — Returns micro-tuning values at k-rate.
cpstuni — Returns micro-tuning values at init-rate.
cpsxpch — Converts a pitch-class value into cycles-per-second (Hz) for equal divisions of any interval.
cpuprc — Control allocation of cpu resources on a per-instrument basis, to optimize realtime output.
cross2 — Cross synthesis using FFT's.
crunch — Semi-physical model of a crunch sound.
ctrl14 — Allows a floating-point 14-bit MIDI signal scaled with a minimum and a maximum range.
ctrl21 — Allows a floating-point 21-bit MIDI signal scaled with a minimum and a maximum range.
ctrl7 — Allows a floating-point 7-bit MIDI signal scaled with a minimum and a maximum range.
ctrlinit — Sets the initial values for a set of MIDI controllers.
cuserrnd — Continuous USER-defined-distribution RaNDom generator.
dam — A dynamic compressor/expander.
date — Returns the number seconds since 1 January 1970.
dates — Returns as a string the date and time specified.
db — Returns the amplitude equivalent for a given decibel amount.
dbamp — Returns the decibel equivalent of the raw amplitude x.
dbfsamp — Returns the decibel equivalent of the raw amplitude x, relative to full scale amplitude.
dcblock — A DC blocking filter.
dconv — A direct convolution opcode.
delay — Delays an input signal by some time interval.
delay1 — Delays an input signal by one sample.
delayk — Delays an input signal by some time interval.
delayr — Reads from an automatically established digital delay line.
delayw — Writes the audio signal to a digital delay line.
deltap — Taps a delay line at variable offset times.
deltap3 — Taps a delay line at variable offset times, uses cubic interpolation.
deltapi — Taps a delay line at variable offset times, uses interpolation.
deltapn — Taps a delay line at variable offset times.
deltapx — Read to or write from a delay line with interpolation.
deltapxw — Mixes the input signal to a delay line.
denorm — Mixes low level noise to a list of a-rate signals
diff — Modify a signal by differentiation.
diskgrain — Synchronous granular synthesis, using a soundfile as source.
diskin — Reads audio data from an external device or stream and can alter its pitch.
diskin2 — Reads audio data from a file, and can alter its pitch using one of several available interpolation types, as well as convert the sample rate to match the orchestra sr setting.
dispfft — Displays the Fourier Transform of an audio or control signal.
display — Displays the audio or control signals as an amplitude vs. time graph.
distort — Distort an audio signal via waveshaping and optional clipping.
distort1 — Modified hyperbolic tangent distortion.
divz — Safely divides two numbers.
downsamp — Modify a signal by down-sampling.
dripwater — Semi-physical model of a water drop.
dumpk — Periodically writes an orchestra control-signal value to an external file.
dumpk2 — Periodically writes two orchestra control-signal values to an external file.
dumpk3 — Periodically writes three orchestra control-signal values to an external file.
dumpk4 — Periodically writes four orchestra control-signal values to an external file.
duserrnd — Discrete USER-defined-distribution RaNDom generator.
else — Executes a block of code when an "if...then" condition is false.
elseif — Defines another "if...then" condition when a "if...then" condition is false.
endif — Closes a block of code that begins with an "if...then" statement.
endin — Ends the current instrument block.
endop — Marks the end of an user-defined opcode block.
envlpx — Applies an envelope consisting of 3 segments.
envlpxr — The envlpx opcode with a final release segment.
eqfil — Equalizer filter
event — Generates a score event from an instrument.
event_i — Generates a score event from an instrument.
exitnow — Exit csound as fast as possible, with no cleaning up.
exp — Returns e raised to the x-th power.
expcurve — This opcode implements a formula for generating a normalised exponential curve in range 0 - 1. It is based on the Max / MSP work of Eric Singer (c) 1994.
expon — Trace an exponential curve between specified points.
exprand — Exponential distribution random number generator (positive values only).
expseg — Trace a series of exponential segments between specified points.
expsega — An exponential segment generator operating at a-rate.
expsegr — Trace a series of exponential segments between specified points including a release segment.
ficlose — Closes a previously opened file.
filelen — Returns the length of a sound file.
filenchnls — Returns the number of channels in a sound file.
filepeak — Returns the peak absolute value of a sound file.
filesr — Returns the sample rate of a sound file.
filter2 — Performs filtering using a transposed form-II digital filter lattice with no time-varying control.
fin — Read signals from a file at a-rate.
fini — Read signals from a file at i-rate.
fink — Read signals from a file at k-rate.
fiopen — Opens a file in a specific mode.
flanger — A user controlled flanger.
flashtxt — Allows text to be displayed from instruments like sliders
flooper — Function-table-based crossfading looper.
flooper2 — Function-table-based crossfading looper.
floor — Returns the largest integer not greater than x
fmb3 — Uses FM synthesis to create a Hammond B3 organ sound.
fmbell — Uses FM synthesis to create a tublar bell sound.
fmmetal — Uses FM synthesis to create a “Heavy Metal” sound.
fmpercfl — Uses FM synthesis to create a percussive flute sound.
fmrhode — Uses FM synthesis to create a Fender Rhodes electric piano sound.
fmvoice — FM Singing Voice Synthesis
fmwurlie — Uses FM synthesis to create a Wurlitzer electric piano sound.
fof — Produces sinusoid bursts useful for formant and granular synthesis.
fof2 — Produces sinusoid bursts including k-rate incremental indexing with each successive burst.
fofilter — Formant filter.
fog — Audio output is a succession of grains derived from data in a stored function table
fold — Adds artificial foldover to an audio signal.
follow — Envelope follower unit generator.
follow2 — Another controllable envelope extractor.
foscil — A basic frequency modulated oscillator.
foscili — Basic frequency modulated oscillator with linear interpolation.
fout — Outputs a-rate signals to an arbitrary number of channels.
fouti — Outputs i-rate signals of an arbitrary number of channels to a specified file.
foutir — Outputs i-rate signals from an arbitrary number of channels to a specified file.
foutk — Outputs k-rate signals of an arbitrary number of channels to a specified file, in raw (headerless) format.
fprintks — Similar to printks but prints to a file.
fprints — Similar to prints but prints to a file.
frac — Returns the fractional part of a decimal number.
freeverb — Opcode version of Jezar's Freeverb
ftchnls — Returns the number of channels in a stored function table.
ftconv — Low latency multichannel convolution, using a function table as impulse response source.
ftfree — Deletes function table.
ftgen — Generate a score function table from within the orchestra.
ftgentmp — Generate a score function table from within the orchestra, which is deleted at the end of the note.
ftlen — Returns the size of a stored function table.
ftload — Load a set of previously-allocated tables from a file.
ftloadk — Load a set of previously-allocated tables from a file.
ftlptim — Returns the loop segment start-time of a stored function table number.
ftmorf — Morphs between multiple ftables as specified in a list.
ftsave — Save a set of previously-allocated tables to a file.
ftsavek — Save a set of previously-allocated tables to a file.
ftsr — Returns the sampling-rate of a stored function table.
gain — Adjusts the amplitude audio signal according to a root-mean-square value.
gainslider — An implementation of a logarithmic gain curve which is similar to the gainslider~ object from Cycling 74 Max / MSP.
gauss — Gaussian distribution random number generator.
gbuzz — Output is a set of harmonically related cosine partials.
getcfg — Return Csound settings.
gogobel — Audio output is a tone related to the striking of a cow bell or similar.
goto — Transfer control on every pass.
grain — Generates granular synthesis textures.
grain2 — Easy-to-use granular synthesis texture generator.
grain3 — Generate granular synthesis textures with more user control.
granule — A more complex granular synthesis texture generator.
guiro — Semi-physical model of a guiro sound.
harmon — Analyze an audio input and generate harmonizing voices in synchrony.
harmon2 — Analyze an audio input and generate harmonizing voices in synchrony with formants preserved.
hilbert — A Hilbert transformer.
hrtfer — Creates 3D audio for two speakers.
hrtfmove — Generates dynamic 3d binaural audio for headphones using magnitude interpolation and phase truncation.
hrtfmove2 — Generates dynamic 3d binaural audio for headphones using a Woodworth based spherical head model with improved low frequency phase accuracy.
hrtfstat — Generates static 3d binaural audio for headphones using a Woodworth based spherical head model with improved low frequency phase accuracy.
hsboscil — An oscillator which takes tonality and brightness as arguments.
hvs1 — Allows one-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.
hvs2 — Allows two-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.
hvs3 — Allows three-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.
i — Returns an init-type equivalent of a k-rate argument.
if — Branches conditionally at initialization or during performance time.
igoto — Transfer control during the i-time pass.
ihold — Creates a held note.
imagecreate — Create an empty image of a given size.
imagefree — Frees memory allocated for a previously loaded or created image.
imagegetpixel — Return the RGB pixel values of a previously opened or created image.
imageload — Load an image.
imagesave — Save a previously created image.
imagesetpixel — Set the RGB value of a pixel inside a previously opened or created image.
imagesize — Return the width and height of a previously opened or created image.
in — Reads mono audio data from an external device or stream.
inch — Reads from a numbered channel in an external audio signal or stream.
init — Puts the value of the i-time expression into a k- or a-rate variable.
initc14 — Initializes the controllers used to create a 14-bit MIDI value.
initc21 — Initializes the controllers used to create a 21-bit MIDI value.
initc7 — Initializes the controller used to create a 7-bit MIDI value.
inrg — Allow input from a range of adjacent audio channels from the audio input device
ins — Reads stereo audio data from an external device or stream.
insremot — An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to one destination.
insglobal — An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to many destinations.
instr — Starts an instrument block.
int — Extracts an integer from a decimal number.
integ — Modify a signal by integration.
interp — Converts a control signal to an audio signal using linear interpolation.
invalue — Reads a k-rate signal from a user-defined channel.
inz — Reads multi-channel audio samples into a ZAK array from an external device or stream.
jacktransport — Start/stop jack_transport and can optionally relocate the playback head.
jitter — Generates a segmented line whose segments are randomly generated.
jitter2 — Generates a segmented line with user-controllable random segments.
jspline — A jitter-spline generator.
k — Converts a i-rate parameter to an k-rate value.
kgoto — Transfer control during the p-time passes.
kr — Sets the control rate.
ksmps — Sets the number of samples in a control period.
ktableseg — Deprecated.
lfo — A low frequency oscillator of various shapes.
limit — Sets the lower and upper limits of the value it processes.
line — Trace a straight line between specified points.
linen — Applies a straight line rise and decay pattern to an input amp signal.
linenr — The linen opcode extended with a final release segment.
lineto — Generate glissandos starting from a control signal.
linrand — Linear distribution random number generator (positive values only).
linseg — Trace a series of line segments between specified points.
linsegr — Trace a series of line segments between specified points including a release segment.
locsend — Distributes the audio signals of a previous locsig opcode.
locsig — Takes and input signal and distributes between 2 or 4 channels.
log — Returns a natural log.
log10 — Returns a base 10 log.
logbtwo — Performs a logarithmic base two calculation.
logcurve — This opcode implements a formula for generating a normalised logarithmic curve in range 0 - 1. It is based on the Max / MSP work of Eric Singer (c) 1994.
loop_ge — Looping constructions.
loop_gt — Looping constructions.
loop_le — Looping constructions.
loop_lt — Looping constructions.
loopseg — Generate control signal consisting of linear segments delimited by two or more specified points.
loopsegp — Control signals based on linear segments.
lorenz — Implements the Lorenz system of equations.
loscil — Read sampled sound from a table.
loscil3 — Read sampled sound from a table using cubic interpolation.
loscilx — Loop oscillator.
lowpass2 — A resonant lowpass filter.
lowres — Another resonant lowpass filter.
lowresx — Simulates layers of serially connected resonant lowpass filters.
lpf18 — A 3-pole sweepable resonant lowpass filter.
lpfreson — Resynthesises a signal from the data passed internally by a previous lpread, applying formant shifting.
lphasor — Generates a table index for sample playback
lpinterp — Computes a new set of poles from the interpolation between two analysis.
lposcil — Read sampled sound from a table with optional looping and high precision.
lposcil3 — Read sampled sound from a table with high precision and cubic interpolation.
lposcila — Read sampled sound from a table with optional looping and high precision.
lposcilsa — Read stereo sampled sound from a table with optional looping and high precision.
lposcilsa2 — Read stereo sampled sound from a table with optional looping and high precision.
lpread — Reads a control file of time-ordered information frames.
lpreson — Resynthesises a signal from the data passed internally by a previous lpread.
lpshold — Generate control signal consisting of held segments.
lpsholdp — Control signals based on held segments.
lpslot — Selects the slot to be use by further lp opcodes.
mac — Multiplies and accumulates a- and k-rate signals.
maca — Multiply and accumulate a-rate signals only.
madsr — Calculates the classical ADSR envelope using the linsegr mechanism.
mandel — Mandelbrot set
mandol — An emulation of a mandolin.
marimba — Physical model related to the striking of a wooden block.
massign — Assigns a MIDI channel number to a Csound instrument.
max — Produces a signal that is the maximum of any number of input signals.
maxabs — Produces a signal that is the maximum of the absolute values of any number of input signals.
maxabsaccum — Accumulates the maximum of the absolute values of audio signals.
maxaccum — Accumulates the maximum value of audio signals.
maxalloc — Limits the number of allocations of an instrument.
max_k — Local maximum (or minimum) value of an incoming asig signal
mclock — Sends a MIDI CLOCK message.
mdelay — A MIDI delay opcode.
metro — Trigger Metronome
midic14 — Allows a floating-point 14-bit MIDI signal scaled with a minimum and a maximum range.
midic21 — Allows a floating-point 21-bit MIDI signal scaled with a minimum and a maximum range.
midic7 — Allows a floating-point 7-bit MIDI signal scaled with a minimum and a maximum range.
midichannelaftertouch — Gets a MIDI channel's aftertouch value.
midichn — Returns the MIDI channel number from which the note was activated.
midicontrolchange — Gets a MIDI control change value.
midictrl — Get the current value (0-127) of a specified MIDI controller.
mididefault — Changes values, depending on MIDI activation.
midiin — Returns a generic MIDI message received by the MIDI IN port.
midinoteoff — Gets a MIDI noteoff value.
midinoteoncps — Gets a MIDI note number as a cycles-per-second frequency.
midinoteonkey — Gets a MIDI note number value.
midinoteonoct — Gets a MIDI note number value as octave-point-decimal value.
midinoteonpch — Gets a MIDI note number as a pitch-class value.
midion — Generates MIDI note messages at k-rate.
midion2 — Sends noteon and noteoff messages to the MIDI OUT port.
midiout — Sends a generic MIDI message to the MIDI OUT port.
midipitchbend — Gets a MIDI pitchbend value.
midipolyaftertouch — Gets a MIDI polyphonic aftertouch value.
midiprogramchange — Gets a MIDI program change value.
miditempo — Returns the current tempo at k-rate, of either the MIDI file (if available) or the score
midremot — An opcode which can be used to implement a remote midi orchestra. This opcode will send midi events from a source machine to one destination.
midglobal — An opcode which can be used to implement a remote midi orchestra. This opcode will broadcast the midi events to all the machines involved in the remote concert.
min — Produces a signal that is the minimum of any number of input signals.
minabs — Produces a signal that is the minimum of the absolute values of any number of input signals.
minabsaccum — Accumulates the minimum of the absolute values of audio signals.
minaccum — Accumulates the minimum value of audio signals.
mirror — Reflects the signal that exceeds the low and high thresholds.
MixerSetLevel — Sets the level of a send to a buss.
MixerGetLevel — Gets the level of a send to a buss.
MixerSend — Mixes an arate signal into a channel of a buss.
MixerReceive — Receives an arate signal from a channel of a buss.
MixerClear — Resets all channels of a buss to 0.
mode — A filter that simulates a mass-spring-damper system
monitor — Returns the audio spout frame.
moog — An emulation of a mini-Moog synthesizer.
moogladder — Moog ladder lowpass filter.
moogvcf — A digital emulation of the Moog diode ladder filter configuration.
moogvcf2 — A digital emulation of the Moog diode ladder filter configuration.
moscil — Sends a stream of the MIDI notes.
mpulse — Generates a set of impulses.
mrtmsg — Send system real-time messages to the MIDI OUT port.
multitap — Multitap delay line implementation.
mute — Mutes/unmutes new instances of a given instrument.
mxadsr — Calculates the classical ADSR envelope using the expsegr mechanism.
nchnls — Sets the number of channels of audio output.
nestedap — Three different nested all-pass filters.
nlfilt — A filter with a non-linear effect.
noise — A white noise generator with an IIR lowpass filter.
noteoff — Send a noteoff message to the MIDI OUT port.
noteon — Send a noteon message to the MIDI OUT port.
noteondur — Sends a noteon and a noteoff MIDI message both with the same channel, number and velocity.
noteondur2 — Sends a noteon and a noteoff MIDI message both with the same channel, number and velocity.
notnum — Get a note number from a MIDI event.
nreverb — A reverberator consisting of 6 parallel comb-lowpass filters.
nrpn — Sends a Non-Registered Parameter Number to the MIDI OUT port.
nsamp — Returns the number of samples loaded into a stored function table number.
nstrnum — Returns the number of a named instrument.
ntrpol — Calculates the weighted mean value of two input signals.
octave — Calculates a factor to raise/lower a frequency by a given amount of octaves.
octcps — Converts a cycles-per-second value to octave-point-decimal.
octmidi — Get the note number, in octave-point-decimal units, of the current MIDI event.
octmidib — Get the note number of the current MIDI event and modify it by the current pitch-bend value, express it in octave-point-decimal.
octmidinn — Converts a Midi note number value to octave-point-decimal.
octpch — Converts a pitch-class value to octave-point-decimal.
opcode — Defines the start of user-defined opcode block.
OSCsend — Sends data to other processes using the OSC protocol
OSCinit — Start a listening process for OSC messages to a particular port.
OSClisten — Listen for OSC messages to a particular path.
oscbnk — Mixes the output of any number of oscillators.
oscil — A simple oscillator.
oscil1 — Accesses table values by incremental sampling.
oscil1i — Accesses table values by incremental sampling with linear interpolation.
oscil3 — A simple oscillator with cubic interpolation.
oscili — A simple oscillator with linear interpolation.
oscilikt — A linearly interpolated oscillator that allows changing the table number at k-rate.
osciliktp — A linearly interpolated oscillator that allows allows phase modulation.
oscilikts — A linearly interpolated oscillator with sync status that allows changing the table number at k-rate.
osciln — Accesses table values at a user-defined frequency.
oscils — A simple, fast sine oscillator
oscilx — Same as the osciln opcode.
out — Writes mono audio data to an external device or stream.
outc — Writes audio data with an arbitrary number of channels to an external device or stream.
outch — Writes multi-channel audio data, with user-controllable channels, to an external device or stream.
outiat — Sends MIDI aftertouch messages at i-rate.
outic — Sends MIDI controller output at i-rate.
outic14 — Sends 14-bit MIDI controller output at i-rate.
outipat — Sends polyphonic MIDI aftertouch messages at i-rate.
outipb — Sends MIDI pitch-bend messages at i-rate.
outipc — Sends MIDI program change messages at i-rate
outkat — Sends MIDI aftertouch messages at k-rate.
outkc — Sends MIDI controller messages at k-rate.
outkc14 — Sends 14-bit MIDI controller output at k-rate.
outkpat — Sends polyphonic MIDI aftertouch messages at k-rate.
outkpb — Sends MIDI pitch-bend messages at k-rate.
outkpc — Sends MIDI program change messages at k-rate.
outrg — Allow output to a range of adjacent audio channels on the audio input device
outs — Writes stereo audio data to an external device or stream.
outs1 — Writes samples to stereo channel 1 of an external device or stream.
outs2 — Writes samples to stereo channel 2 of an external device or stream.
outvalue — Sends a k-rate signal or string to a user-defined channel.
outz — Writes multi-channel audio data from a ZAK array to an external device or stream.
p — Show the value in a given p-field.
pan — Distribute an audio signal amongst four channels.
pan2 — Distribute an audio signal across two channels.
pareq — Implementation of Zoelzer's parametric equalizer filters.
partials — Partial track spectral analysis.
partikkel — Granular synthesizer with "per grain" control over many of its parameters. Has a sync input to sychronize its internal grain scheduler clock to an external clock source.
partikkelsync — Outputs partikkel's grain scheduler clock pulse and phase to synchronize several instances of the partikkel opcode to the same clock source.
pcauchy — Cauchy distribution random number generator (positive values only).
pchbend — Get the current pitch-bend value for this channel.
pchmidi — Get the note number of the current MIDI event, expressed in pitch-class units.
pchmidib — Get the note number of the current MIDI event and modify it by the current pitch-bend value, express it in pitch-class units.
pchmidinn — Converts a Midi note number value to octave point pitch-class units.
pchoct — Converts an octave-point-decimal value to pitch-class.
pconvolve — Convolution based on a uniformly partitioned overlap-save algorithm
pcount — Returns the number of pfields belonging to a note event.
pdclip — Performs linear clipping on an audio signal or a phasor.
pdhalf — Distorts a phasor for reading the two halves of a table at different rates.
pdhalfy — Distorts a phasor for reading two unequal portions of a table in equal periods.
peak — Maintains the output equal to the highest absolute value received.
pgmassign — Assigns an instrument number to a specified MIDI program.
phaser1 — First-order allpass filters arranged in a series.
phaser2 — Second-order allpass filters arranged in a series.
phasor — Produce a normalized moving phase value.
phasorbnk — Produce an arbitrary number of normalized moving phase values.
pindex — Returns the value of a specified pfield.
pinkish — Generates approximate pink noise.
pitch — Tracks the pitch of a signal.
pitchamdf — Follows the pitch of a signal based on the AMDF method.
planet — Simulates a planet orbiting in a binary star system.
pluck — Produces a naturally decaying plucked string or drum sound.
poisson — Poisson distribution random number generator (positive values only).
polyaft — Returns the polyphonic after-touch pressure of the selected note number.
polynomial — Efficiently evaluates a polynomial of arbitrary order.
pop — Pops values from the global stack.
pop_f — Pops an f-sig frame from the global stack.
port — Applies portamento to a step-valued control signal.
portk — Applies portamento to a step-valued control signal.
poscil — High precision oscillator.
poscil3 — High precision oscillator with cubic interpolation.
pow — Computes one argument to the power of another argument.
powershape — Waveshapes a signal by raising it to a variable exponent.
powoftwo — Performs a power-of-two calculation.
prealloc — Creates space for instruments but does not run them.
prepiano — Creates a tone similar to a piano string prepared in a Cageian fashion.
print — Displays the values init (i-rate) variables.
printf — printf-style formatted output
printk — Prints one k-rate value at specified intervals.
printk2 — Prints a new value every time a control variable changes.
printks — Prints at k-rate using a printf() style syntax.
prints — Prints at init-time using a printf() style syntax.
product — Multiplies any number of a-rate signals.
pset — Defines and initializes numeric arrays at orchestra load time.
ptrack — Tracks the pitch of a signal.
puts — Print a string constant or variable
push — Pushes a value into the global stack.
push_f — Pushes an f-sig frame into the global stack.
pvadd — Reads from a pvoc file and uses the data to perform additive synthesis.
pvbufread — Reads from a phase vocoder analysis file and makes the retrieved data available.
pvcross — Applies the amplitudes from one phase vocoder analysis file to the data from a second file.
pvinterp — Interpolates between the amplitudes and frequencies of two phase vocoder analysis files.
pvoc — Implements signal reconstruction using an fft-based phase vocoder.
pvread — Reads from a phase vocoder analysis file and returns the frequency and amplitude from a single analysis channel or bin.
pvsadsyn — Resynthesize using a fast oscillator-bank.
pvsanal — Generate an fsig from a mono audio source ain, using phase vocoder overlap-add analysis.
pvsarp — Arpeggiate the spectral components of a streaming pv signal.
pvsbandp — A band pass filter working in the spectral domain.
pvsbandr — A band reject filter working in the spectral domain.
pvsbin — Obtain the amp and freq values off a PVS signal bin.
pvsblur — Average the amp/freq time functions of each analysis channel for a specified time.
pvsbuffer — This opcode creates and writes to a circular buffer for streaming PV signals.
pvsbufread — This opcode creates and writes to a circular buffer for streaming PV signals.
pvscale — Scale the frequency components of a pv stream.
pvscent — Calculate the spectral centroid of a signal.
pvscross — Performs cross-synthesis between two source fsigs.
pvsdemix — Spectral azimuth-based de-mixing of stereo sources.
pvsdiskin — Read a selected channel from a PVOC-EX analysis file.
pvsdisp — Displays a PVS signal as an amplitude vs. freq graph.
pvsfilter — Multiply amplitudes of a pvoc stream by those of a second pvoc stream, with dynamic scaling.
pvsfread — Read a selected channel from a PVOC-EX analysis file.
pvsfreeze — Freeze the amplitude and frequency time functions of a pv stream according to a control-rate trigger.
pvsftr — Reads amplitude and/or frequency data from function tables.
pvsftw — Writes amplitude and/or frequency data to function tables.
pvsfwrite — Write a fsig to a PVOCEX file.
pvshift — Shift the frequency components of a pv stream, stretching/compressing its spectrum.
pvsifd — Instantaneous Frequency Distribution, magnitude and phase analysis.
pvsinfo — Get information from a PVOC-EX formatted source.
pvsinit — Initialise a spectral (f) variable to zero.
pvsin — Retrieve an fsig from the input software bus; a pvs equivalent to chani.
pvsmaska — Modify amplitudes using a function table, with dynamic scaling.
pvsmix — Mix 'seamlessly' two pv signals.
pvsmorph — Performs morphing (or interpolation) between two source fsigs.
pvsmooth — Smooth the amplitude and frequency time functions of a pv stream using parallel 1st order lowpass IIR filters with time-varying cutoff frequency.
pvsout — Write a fsig to the pvs output bus.
pvsosc — PVS-based oscillator simulator.
pvspitch — Track the pitch and amplitude of a PVS signal.
pvstencil — Transforms a pvoc stream according to a masking function table.
pvsvoc — Combine the spectral envelope of one fsig with the excitation (frequencies) of another.
pvsynth — Resynthesise using a FFT overlap-add.
pyassign Opcodes — Assign the value of the given Csound variable to a Python variable possibly destroying its previous content.
pycall Opcodes — Invoke the specified Python callable at k-time and i-time (i suffix), passing the given arguments. The call is perfomed in the global environment, and the result (the returning value) is copied into the Csound output variables specified.
pyeval Opcodes — Evaluate a generic Python expression and store the result in a Csound variable at k-time or i-time (i suffix).
pyexec Opcodes — Execute a script from a file at k-time or i-time (i suffix).
pyinit Opcodes — Initialize the Python interpreter.
pyrun Opcodes — Run a Python statement or block of statements.
rand — Generates a controlled random number series.
randh — Generates random numbers and holds them for a period of time.
randi — Generates a controlled random number series with interpolation between each new number.
random — Generates a controlled pseudo-random number series between min and max values.
randomh — Generates random numbers with a user-defined limit and holds them for a period of time.
randomi — Generates a user-controlled random number series with interpolation between each new number.
rbjeq — Parametric equalizer and filter opcode with 7 filter types, based on algorithm by Robert Bristow-Johnson.
readclock — Reads the value of an internal clock.
readk — Periodically reads an orchestra control-signal value from an external file.
readk2 — Periodically reads two orchestra control-signal values from an external file.
readk3 — Periodically reads three orchestra control-signal values from an external file.
readk4 — Periodically reads four orchestra control-signal values from an external file.
reinit — Suspends a performance while a special initialization pass is executed.
release — Indicates whether a note is in its “release” stage.
remoteport — Defines the port for use with the remote system.
remove — Removes the definition of an instrument.
repluck — Physical model of the plucked string.
reson — A second-order resonant filter.
resonk — A second-order resonant filter.
resonr — A bandpass filter with variable frequency response.
resonx — Emulates a stack of filters using the reson opcode.
resonxk — Control signal resonant filter stack.
resony — A bank of second-order bandpass filters, connected in parallel.
resonz — A bandpass filter with variable frequency response.
resyn — Streaming partial track additive synthesis with cubic phase interpolation with pitch control and support for timescale-modified input
reverb — Reverberates an input signal with a “natural room” frequency response.
reverb2 — Same as the nreverb opcode.
reverbsc — 8 delay line stereo FDN reverb, based on work by Sean Costello
rezzy — A resonant low-pass filter.
rigoto — Transfers control during a reinit pass.
rireturn — Terminates a reinit pass.
rms — Determines the root-mean-square amplitude of an audio signal.
rnd — Returns a random number in a unipolar range at the rate given by the input argument.
rnd31 — 31-bit bipolar random opcodes with controllable distribution.
round — Returns the integer value nearest to x ; if the fractional part of x is exactly 0.5, the direction of rounding is undefined.
rspline — Generate random spline curves.
rtclock — Read the real time clock from the operating system.
s16b14 — Creates a bank of 16 different 14-bit MIDI control message numbers.
s32b14 — Creates a bank of 32 different 14-bit MIDI control message numbers.
scale — Arbitrary signal scaling.
samphold — Performs a sample-and-hold operation on its input.
sandpaper — Semi-physical model of a sandpaper sound.
scanhammer — Copies from one table to another with a gain control.
scans — Generate audio output using scanned synthesis.
scantable — A simpler scanned synthesis implementation.
scanu — Compute the waveform and the wavetable for use in scanned synthesis.
scoreline — Issues one or more score line events from an instrument.
scoreline_i — Issues one or more score line events from an instrument at i-time.
schedkwhen — Adds a new score event generated by a k-rate trigger.
schedkwhennamed — Similar to schedkwhen but uses a named instrument at init-time.
schedule — Adds a new score event.
schedwhen — Adds a new score event.
seed — Sets the global seed value.
sekere — Semi-physical model of a sekere sound.
semitone — Calculates a factor to raise/lower a frequency by a given amount of semitones.
sense — Same as the sensekey opcode.
sensekey — Returns the ASCII code of a key that has been pressed.
seqtime — Generates a trigger signal according to the values stored in a table.
seqtime2 — Generates a trigger signal according to the values stored in a table.
setksmps — Sets the local ksmps value in a user-defined opcode block.
sfilist — Prints a list of all instruments of a previously loaded SoundFont2 (SF2) file.
sfinstr — Plays a SoundFont2 (SF2) sample instrument, generating a stereo sound.
sfinstr3 — Plays a SoundFont2 (SF2) sample instrument, generating a stereo sound with cubic interpolation.
sfinstr3m — Plays a SoundFont2 (SF2) sample instrument, generating a mono sound with cubic interpolation.
sfinstrm — Plays a SoundFont2 (SF2) sample instrument, generating a mono sound.
sfload — Loads an entire SoundFont2 (SF2) sample file into memory.
sfpassign — Assigns all presets of a SoundFont2 (SF2) sample file to a sequence of progressive index numbers.
sfplay — Plays a SoundFont2 (SF2) sample preset, generating a stereo sound.
sflooper — Plays a SoundFont2 (SF2) sample preset, generating a stereo sound, with user-defined time-varying crossfade looping.
sfplay3 — Plays a SoundFont2 (SF2) sample preset, generating a stereo sound with cubic interpolation.
sfplay3m — Plays a SoundFont2 (SF2) sample preset, generating a mono sound with cubic interpolation.
sfplaym — Plays a SoundFont2 (SF2) sample preset, generating a mono sound.
sfplist — Prints a list of all presets of a SoundFont2 (SF2) sample file.
sfpreset — Assigns an existing preset of a SoundFont2 (SF2) sample file to an index number.
shaker — Sounds like the shaking of a maraca or similar gourd instrument.
sin — Performs a sine function.
sinh — Performs a hyperbolic sine function.
sininv — Performs an arcsine function.
sinsyn — Streaming partial track additive synthesis with cubic phase interpolation
sleighbells — Semi-physical model of a sleighbell sound.
slider16 — Creates a bank of 16 different MIDI control message numbers.
slider16f — Creates a bank of 16 different MIDI control message numbers, filtered before output.
slider32 — Creates a bank of 32 different MIDI control message numbers.
slider32f — Creates a bank of 32 different MIDI control message numbers, filtered before output.
slider64 — Creates a bank of 64 different MIDI control message numbers.
slider64f — Creates a bank of 64 different MIDI control message numbers, filtered before output.
slider8 — Creates a bank of 8 different MIDI control message numbers.
slider8f — Creates a bank of 8 different MIDI control message numbers, filtered before output.
slider16table — Stores a bank of 16 different MIDI control messages to a table.
slider16tablef — Stores a bank of 16 different MIDI control messages to a table, filtered before output.
slider32table — Stores a bank of 32 different MIDI control messages to a table.
slider32tablef — Creates a bank of 32 different MIDI control message numbers, filtered before output.
slider64table — Stores a bank of 64 different MIDI control messages to a table.
slider64tablef — Stores a bank of 64 different MIDI control messages to a table, filtered before output.
slider8table — Stores a bank of 8 different MIDI control messages to a table.
slider8tablef — Stores a bank of 8 different MIDI control messages to a table, filtered before output.
sliderKawai — Creates a bank of 16 different MIDI control message numbers from a KAWAI MM-16 midi mixer.
sndload — Loads a sound file into memory for use by loscilx
sndloop — A sound looper with pitch control.
sndwarp — Reads a mono sound sample from a table and applies time-stretching and/or pitch modification.
sndwarpst — Reads a stereo sound sample from a table and applies time-stretching and/or pitch modification.
socksend — Sends data to other processes using the low-level UDP or TCP protocols
sockrecv — Receives data from other processes using the low-level UDP or TCP protocols
soundin — Reads audio data from an external device or stream.
soundout — Writes audio output to a disk file.
soundouts — Writes audio output to a disk file.
space — Distributes an input signal among 4 channels using cartesian coordinates.
spdist — Calculates distance values from xy coordinates.
splitrig — Split a trigger signal
spsend — Generates output signals based on a previously defined space opcode.
sprintf — printf-style formatted output to a string variable.
sprintfk — printf-style formatted output to a string variable at k-rate.
sqrt — Returns a square root value.
sr — Sets the audio sampling rate.
stack — Initializes the stack.
statevar — State-variable filter.
stix — Semi-physical model of a stick sound.
strchar — Return the ASCII code of a character in a string
strchark — Return the ASCII code of a character in a string
strcpy — Assign value to a string variable
strcpyk — Assign value to a string variable (k-rate)
strcat — Concatenate strings
strcatk — Concatenate strings (k-rate)
strcmp — Compare strings
strcmpk — Compare strings
streson — A string resonator with variable fundamental frequency.
strget — Set string variable to value from strset table or string p-field
strindex — Return the position of the first occurence of a string in another string
strindexk — Return the position of the first occurence of a string in another string
strlen — Return the length of a string
strlenk — Return the length of a string
strlower — Convert a string to lower case
strlowerk — Convert a string to lower case
strrindex — Return the position of the last occurence of a string in another string
strrindexk — Return the position of the last occurence of a string in another string
strset — Allows a string to be linked with a numeric value.
strsub — Extract a substring
strsubk — Extract a substring
strtod — Converts a string to a float (i-rate).
strtodk — Converts a string to a float (k-rate).
strtol — Converts a string to a signed integer (i-rate).
strtolk — Converts a string to a signed integer (k-rate).
strupper — Convert a string to upper case
strupperk — Convert a string to upper case
subinstr — Creates and runs a numbered instrument instance.
subinstrinit — Creates and runs a numbered instrument instance at init-time.
sum — Sums any number of a-rate signals.
svfilter — A resonant second order filter, with simultaneous lowpass, highpass and bandpass outputs.
syncgrain — Synchronous granular synthesis.
syncloop — Synchronous granular synthesis.
syncphasor — Produces a normalized moving phase value with sync input and output.
system — Call an external program via the system call
tb — Table Read Access inside expressions.
tab — Fast table opcodes.
tabrec — Recording of control signals.
table — Accesses table values by direct indexing.
table3 — Accesses table values by direct indexing with cubic interpolation.
tablecopy — Simple, fast table copy opcode.
tablegpw — Writes a table's guard point.
tablei — Accesses table values by direct indexing with linear interpolation.
tableicopy — Simple, fast table copy opcode.
tableigpw — Writes a table's guard point.
tableikt — Provides k-rate control over table numbers.
tableimix — Mixes two tables.
tableiw — Change the contents of existing function tables.
tablekt — Provides k-rate control over table numbers.
tablemix — Mixes two tables.
tableng — Interrogates a function table for length.
tablera — Reads tables in sequential locations.
tableseg — Creates a new function table by making linear segments between values in stored function tables.
tablew — Change the contents of existing function tables.
tablewa — Writes tables in sequential locations.
tablewkt — Change the contents of existing function tables.
tablexkt — Reads function tables with linear, cubic, or sinc interpolation.
tablexseg — Creates a new function table by making exponential segments between values in stored function tables.
tabmorph — Allow morphing between a set of tables.
tabmorpha — Allow morphing between a set of tables at audio rate with interpolation.
tabmorphak — Allow morphing between a set of tables at audio rate with interpolation.
tabmorphi — Allow morphing between a set of tables with interpolation.
tabplay — Playing-back control signals.
tambourine — Semi-physical model of a tambourine sound.
tan — Performs a tangent function.
tanh — Performs a hyperbolic tangent function.
taninv — Performs an arctangent function.
taninv2 — Returns an arctangent.
tbvcf — Models some of the filter characteristics of a Roland TB303 voltage-controlled filter.
tempest — Estimate the tempo of beat patterns in a control signal.
tempo — Apply tempo control to an uninterpreted score.
tempoval — Reads the current value of the tempo.
tigoto — Transfer control at i-time when a new note is being tied onto a previously held note
timedseq — Time Variant Sequencer
timeinstk — Read absolute time in k-rate cycles.
timeinsts — Read absolute time in seconds.
timek — Read absolute time in k-rate cycles.
times — Read absolute time in seconds.
timout — Conditional branch during p-time depending on elapsed note time.
tival — Puts the value of the instrument's internal “tie-in” flag into the named i-rate variable.
tlineto — Generate glissandos starting from a control signal.
tone — A first-order recursive low-pass filter with variable frequency response.
tonek — A first-order recursive low-pass filter with variable frequency response.
tonex — Emulates a stack of filters using the tone opcode.
trandom — Generates a controlled pseudo-random number series between min and max values according to a trigger.
tradsyn — Streaming partial track additive synthesis
transeg — Constructs a user-definable envelope.
trcross — Streaming partial track cross-synthesis.
trfilter — Streaming partial track filtering.
trhighest — Extracts the highest-frequency track from a streaming track input signal.
trigger — Informs when a krate signal crosses a threshold.
trigseq — Accepts a trigger signal as input and outputs a group of values.
trirand — Triangular distribution random number generator
trlowest — Extracts the lowest-frequency track from a streaming track input signal.
trmix — Streaming partial track mixing.
trscale — Streaming partial track frequency scaling.
trshift — Streaming partial track frequency scaling.
trsplit — Streaming partial track frequency splitting.
turnoff — Enables an instrument to turn itself off.
turnoff2 — Turn off instance(s) of other instruments at performance time.
turnon — Activate an instrument for an indefinite time.
unirand — Uniform distribution random number generator (positive values only).
upsamp — Modify a signal by up-sampling.
urd — A discrete user-defined-distribution random generator that can be used as a function.
vadd — Adds a scalar value to a vector in a table.
vadd_i — Adds a scalar value to a vector in a table.
vaddv — Performs addition between two vectorial control signals
vaddv_i — Performs addition between two vectorial control signals at init time.
vaget — Access values of the current buffer of an a-rate variable by indexing.
valpass — Variably reverberates an input signal with a flat frequency response.
vaset — Write value of into the current buffer of an a-rate variable by index.
vcella — Cellular Automata
vco — Implementation of a band limited, analog modeled oscillator.
vco2 — Implementation of a band-limited oscillator using pre-calculated tables.
vco2ft — Returns a table number at k-time for a given oscillator frequency and wavform.
vco2ift — Returns a table number at i-time for a given oscillator frequency and wavform.
vco2init — Calculates tables for use by vco2 opcode.
vcomb — Variably reverberates an input signal with a “colored” frequency response.
vcopy — Copies between two vectorial control signals
vcopy_i — Copies a vector from one table to another.
vdelay — An interpolating variable time delay.
vdelay3 — An variable time delay with cubic interpolation.
vdelayx — A variable delay opcode with high quality interpolation.
vdelayxq — A 4-channel variable delay opcode with high quality interpolation.
vdelayxs — A stereo variable delay opcode with high quality interpolation.
vdelayxw — Variable delay opcodes with high quality interpolation.
vdelayxwq — Variable delay opcodes with high quality interpolation.
vdelayxws — Variable delay opcodes with high quality interpolation.
vdivv — Performs division between two vectorial control signals
vdivv_i — Performs division between two vectorial control signals at init time.
vdelayk — k-rate variable time delay.
vecdelay — Vectorial Control-rate Delay Paths
veloc — Get the velocity from a MIDI event.
vexp — Performs power-of operations between a vector and a scalar
vexp_i — Performs power-of operations between a vector and a scalar
vexpseg — Vectorial envelope generator
vexpv — Performs exponential operations between two vectorial control signals
vexpv_i — Performs exponential operations between two vectorial control signals at init time.
vibes — Physical model related to the striking of a metal block.
vibr — Easier-to-use user-controllable vibrato.
vibrato — Generates a natural-sounding user-controllable vibrato.
vincr — Accumulates audio signals.
vlimit — Limiting and Wrapping Vectorial Signals
vlinseg — Vectorial envelope generator
vlowres — A bank of filters in which the cutoff frequency can be separated under user control.
vmap — Maps elements from a vector according to indeces contained in another vector
vmirror — Limiting and Wrapping Vectorial Signals
vmult — Multiplies a vector in a table by a scalar value.
vmult_i — Multiplies a vector in a table by a scalar value.
vmultv — Performs mutiplication between two vectorial control signals
vmultv_i — Performs mutiplication between two vectorial control signals at init time.
voice — An emulation of a human voice.
vosim — Simple vocal simulation based on glottal pulses with formant characteristics.
vphaseseg — Allows one-dimensional HVS (Hyper-Vectorial Synthesis).
vport — Vectorial Control-rate Delay Paths
vpow — Raises each element of a vector to a scalar power
vpow_i — Raises each element of a vector to a scalar power
vpowv — Performs power-of operations between two vectorial control signals
vpowv_i — Performs power-of operations between two vectorial control signals at init time.
vpvoc — Implements signal reconstruction using an fft-based phase vocoder and an extra envelope.
vrandh — Generates a vector of random numbers stored into a table, holding the values for a period of time.
vrandi — Generate a sort of 'vectorial band-limited noise'
vsubv — Performs subtraction between two vectorial control signals
vsubv_i — Performs subtraction between two vectorial control signals at init time.
vtable1k — Read a vector (several scalars simultaneously) from a table.
vtablei — Read vectors (from tables -or arrays of vectors).
vtablek — Read vectors (from tables -or arrays of vectors).
vtablea — Read vectors (from tables -or arrays of vectors).
vtablewi — Write vectors (to tables -or arrays of vectors).
vtablewk — Write vectors (to tables -or arrays of vectors).
vtablewa — Write vectors (to tables -or arrays of vectors).
vtabi — Read vectors (from tables -or arrays of vectors).
vtabk — Read vectors (from tables -or arrays of vectors).
vtaba — Read vectors (from tables -or arrays of vectors).
vtabwi — Write vectors (to tables -or arrays of vectors).
vtabwk — Write vectors (to tables -or arrays of vectors).
vtabwa — Write vectors (to tables -or arrays of vectors).
vwrap — Limiting and Wrapping Vectorial Signals
waveset — A simple time stretch by repeating cycles.
weibull — Weibull distribution random number generator (positive values only).
wgbow — Creates a tone similar to a bowed string.
wgbowedbar — A physical model of a bowed bar.
wgbrass — Creates a tone related to a brass instrument.
wgclar — Creates a tone similar to a clarinet.
wgflute — Creates a tone similar to a flute.
wgpluck — A high fidelity simulation of a plucked string.
wgpluck2 — Physical model of the plucked string.
wguide1 — A simple waveguide model consisting of one delay-line and one first-order lowpass filter.
wguide2 — A model of beaten plate consisting of two parallel delay-lines and two first-order lowpass filters.
wrap — Wraps-around the signal that exceeds the low and high thresholds.
wterrain — A simple wave-terrain synthesis opcode.
xadsr — Calculates the classical ADSR envelope.
xin — Passes variables from a user-defined opcode block,
xout — Retrieves variables from a user-defined opcode block,
xscanmap — Allows the position and velocity of a node in a scanned process to be read.
xscansmap — Allows the position and velocity of a node in a scanned process to be read.
xscans — Fast scanned synthesis waveform and the wavetable generator.
xscanu — Compute the waveform and the wavetable for use in scanned synthesis.
xtratim — Extend the duration of real-time generated events.
xyin — Sense the cursor position in an output window
zacl — Clears one or more variables in the za space.
zakinit — Establishes zak space.
zamod — Modulates one a-rate signal by a second one.
zar — Reads from a location in za space at a-rate.
zarg — Reads from a location in za space at a-rate, adds some gain.
zaw — Writes to a za variable at a-rate without mixing.
zawm — Writes to a za variable at a-rate with mixing.
zfilter2 — Performs filtering using a transposed form-II digital filter lattice with radial pole-shearing and angular pole-warping.
zir — Reads from a location in zk space at i-rate.
ziw — Writes to a zk variable at i-rate without mixing.
ziwm — Writes to a zk variable to an i-rate variable with mixing.
zkcl — Clears one or more variables in the zk space.
zkmod — Facilitates the modulation of one signal by another.
zkr — Reads from a location in zk space at k-rate.
zkw — Writes to a zk variable at k-rate without mixing.
zkwm — Writes to a zk variable at k-rate with mixing.
Score Statements and GEN Routines
Score Statements
a Statement (or Advance Statement) — Advance score time by a specified amount.
b Statement — This statement resets the clock.
e Statement — This statement may be used to mark the end of the last section of the score.
f Statement (or Function Table Statement) — Causes a GEN subroutine to place values in a stored function table.
i Statement (Instrument or Note Statement) — Makes an instrument active at a specific time and for a certain duration.
m Statement (Mark Statement) — Sets a named mark in the score.
n Statement — Repeats a section.
q Statement — This statement may be used to quiet an instrument.
r Statement (Repeat Statement) — Starts a repeated section.
s Statement — Marks the end of a section.
t Statement (Tempo Statement) — Sets the tempo.
v Statement — Provides for locally variable time warping of score events.
x Statement — Skip the rest of the current section.
{ Statement — Begins a non-sectional, nestable loop.
} Statement — Ends a non-sectional, nestable loop.
GEN Routines
GEN01 — Transfers data from a soundfile into a function table.
GEN02 — Transfers data from immediate pfields into a function table.
GEN03 — Generates a stored function table by evaluating a polynomial.
GEN04 — Generates a normalizing function.
GEN05 — Constructs functions from segments of exponential curves.
GEN06 — Generates a function comprised of segments of cubic polynomials.
GEN07 — Constructs functions from segments of straight lines.
GEN08 — Generate a piecewise cubic spline curve.
GEN09 — Generate composite waveforms made up of weighted sums of simple sinusoids.
GEN10 — Generate composite waveforms made up of weighted sums of simple sinusoids.
GEN11 — Generates an additive set of cosine partials.
GEN12 — Generates the log of a modified Bessel function of the second kind.
GEN13 — Stores a polynomial whose coefficients derive from the Chebyshev polynomials of the first kind.
GEN14 — Stores a polynomial whose coefficients derive from Chebyshevs of the second kind.
GEN15 — Creates two tables of stored polynomial functions.
GEN16 — Creates a table from a starting value to an ending value.
GEN17 — Creates a step function from given x-y pairs.
GEN18 — Writes composite waveforms made up of pre-existing waveforms.
GEN19 — Generate composite waveforms made up of weighted sums of simple sinusoids.
GEN20 — Generates functions of different windows.
GEN21 — Generates tables of different random distributions.
GEN22 — Deprecated.
GEN23 — Reads numeric values from a text file.
GEN24 — Reads numeric values from another allocated function-table and rescales them.
GEN25 — Construct functions from segments of exponential curves in breakpoint fashion.
GEN27 — Construct functions from segments of straight lines in breakpoint fashion.
GEN28 — Reads a text file which contains a time-tagged trajectory.
GEN30 — Generates harmonic partials by analyzing an existing table.
GEN31 — Mixes any waveform specified in an existing table.
GEN32 — Mixes any waveform, resampled with either FFT or linear interpolation.
GEN33 — Generate composite waveforms by mixing simple sinusoids.
GEN34 — Generate composite waveforms by mixing simple sinusoids.
GEN40 — Generates a random distribution using a distribution histogram.
GEN41 — Generates a random list of numerical pairs.
GEN42 — Generates a random distribution of discrete ranges of values.
GEN43 — Loads a PVOCEX file containing a PV analysis.
GEN51 — This subroutine fills a table with a fully customized micro-tuning scale, in the manner of Csound opcodes cpstun, cpstuni and cpstmid.
GEN52 — Creates an interleaved multichannel table from the specified source tables, in the format expected by the ftconv opcode.
The Utility Programs
Directories.
Soundfile Formats.
Analysis File Generation ( CVANAL, HETRO, LPANAL, PVANAL)
File Queries (SNDINFO)
File Conversion (DNOISE, HET_IMPORT, HET_EXPORT, PVLOOK, PV_EXPORT, PV_IMPORT, SDIF2AD, SRCONV)
Other Csound Utilities (CS, CSB64ENC, ENVEXT, EXTRACTOR, MAKECSD, MIXER, SCALE)
III. Opcode Quick Reference
A. Pitch Conversion
B. Sound Intensity Values
C. Formant Values
D. Modal Frequency Ratios
E. Window Functions
F. SoundFont2 File Format
Glossary
IV. History of the Canonical Csound Reference Manual