The OLPCsound Reference Manual
Version 5.08
Barry Vercoe
MIT Media Lab
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