a-rate variables, 93–94
converting to k-rate variables, 95
testing, 103
a-statement, 222
Ableton Live, 84
Csound in, 273–274
streaming MIDI to, 250
absolute value of number, 231
acoustic treatment, 8
aftertouch with MIDI, 253
aftouch opcode, 256
fout opcode with, 195
mp3 format and, 9
algorithmic composition, defined, 7
Allow Simultaneous Play checkbox, 78
allpass filters, 163
for reverb, 196–197
alpass opcode, 163
ALSA MIDI, 250
Alten, Stanley R., 4
alternative programs, 16–17
alwayson opcode, 254–255
amp, symbol including, 120
amplitude envelopes, 36–37
for grains, 136
with wgbowedbar opcode, 151
analog synths, 94, 117, 126, 162, 164, 167
analysis utilities, 78, 206–207
and symbol (&&), 103–104
Apple. See also Macintosh computers
Apple Logic Audio with OSC (Open Sound Control), 262
GarageBand, 2
IAC, 250–251
arguments
converting, 95
defined, 39
explanation of, 116–117
iphas value, 235
optional, 118–119
p-fields/p-values in, 100–101
parentheses with, 62
types, 93–94
with Run in Term button on CsoundQt toolbar, 67
arpeggio, example of table playing, 184–186, 187
The Art of Noises (Russolo), xi
Ask for Filename Every Time box, 67, 77
assignment operator (=), 96 –97, 104
asterisk (*) for multiplication, 97
athenaCL, 238
atone opcode, 167–168
atsa utility, 206–207
audio files
editing software, 8–9
GEN routines for reading, 183–184
loading into table, 48
troubleshooting audio issues, 29
audio interface requirements, 8
Auralex, 8
Autocomplete command, 69
Autocomplete Menu While Typing box, 79
automation curves
in Cecilia, 245–247
Avid Sibelius, 5
b-statement, 220–221
babo opcode, 196
back-and-forth looping, 146
backslash () character, 119
breaking up code with, 95
as escape character, 113
backward-compatibility, 6
deprecated opcodes and, 115
bamboo opcode, 150
bandpass filter
defined, 163
specifying pass-band of, 164
bandwidth, defined, 163
BASIC language, 102
BBC Radiophonic Workshop, xi
Bélanger, Olivier, 246
Bell Labs, 5
Bianchini, Riccardo, 15
birnd(x) opcode, 128
blue, 238–244
automation of scores with, 243–244
BlueSynthBuilder, 243–244
downloading/installing, 239
Note Processors with, 242
overview of, 239–241
score objects with, 242–243
scores with, 241–244
work area of, 239–240
BlueSynthBuilder, 243–244
Bonetti, Stefano, 244
Boulanger, Richard, xi, 2, 6, 14–15
breaking up code, 95
Browser field, 79
Buchla, Don, 7
Buffer Size setting, 76
buffer underrun, 257–258
bugs
in new releases, 19
print opcodes and, 111–114
in Show Opcode Entry in External Browser command, 72
Burton, Alexandre, 246
busing. See global signal routing
butterlp opcode, 167 –168
Butterworth filters, 167
buzz opcode, 125–126
C programming language, 4–5
modifying Csound with, 20
Windows installer option, 24
Cabbage, 262
Cabrera, Andrés, 3, 12, 15, 65, 84, 262–263, 271
Cahill, Thaddeus, xi
The Canonical Csound Reference Manual, 5, 9–12
downloading, 9
envelope generators listed in, 151
HTML version of, 9–10
Initialization section of, 11
reading prototypes in, 117–119
on score syntax, 215
Syntax section of, 11
using, 10–12
carry symbols, 223–225
case-sensitivity of Csound, 34, 45
Cecilia 4.2, 245–247
ceil opcode, 100
chanctrl opcode, 256
channel names, 83
Checkbox widget, 80
Chnget->invalue command, 69
chnget opcode, 170
chnmix opcode, 170–171
chnset opcode, 170
chords
spreading to left and right, 46
chorus
with deltapi opcode, 200–201
with vdelay opcode, 201–202
Chowning, John, 131
Cipriani, Alessandro, 15
clipping, 41
dynamics control and, 190
MIDI, avoiding with, 258–259
0dbfs setting and, 59
clock, b-statement resetting, 220–221
Clone Frame command for Live Events, 87–88
code
branches of, 102
breaking up, 95
examples, 14
indentations in, 105
for looping, 108
switch statements and, 103
Cohen, Lou, 267
colon (:) in ternary operator, 107
comb filter for reverb, 196–197
command-line flags, 31, 55–56, 67, 76–77, 194
Command Prompt window, running Csound from, 29, 55, 66, 237
commas in scores, 38
Comment/Uncomment command, 69
comments
in code, 60–61
in scores, 215
compiling Csound, 20
compound expressions, 104
compress opcode, 189–190, 191–193
for ducking, 193
Computer Music: Synthesis, Composition, and Performance (Dodge & Jerse), 15
The Computer Music Tutorial (Roads), 15
Configuration box, 28, 48, 57, 76 –79
Environment tab, 79
External Programs tab, 67, 72, 79
General tab, 78
Template tab, 79
Widgets tab, 78
Console widget, 80
Control menu, 71
control rate, 93
conversion specifiers, 113
cos opcode, 100
cosh opcode, 100
cosinv opcode, 100
cps, symbol including, 120
cpsmidib opcode, 176
cpsmidinn opcode, 176
cpspch opcode, 175
defined, 38
cpsxpch opcode, 175–176
CPU overloads with MIDI, 257–258
Creative Labs, 147
.csd files, 55–63
orchestra header, 58–60
scripting languages for, 273
tags in, 56–57
<csLADSPA> tag, 69–70
Csound
in Ableton Live, 273–274
explanation of, 4–6
history of, 5
mailing list, 13–14
online manual, 12–13
Pd with, 269–270
Python with, 270–273
real-time audio processing, 268–269
reasons for using, 6–7
with scripting languages, 273
source code for, 6
system requirements for, 8–9
and VST format, 261–262
website, 12
The Csound Journal, 14
“Exploring Tied Notes in Csound” (Yi), 231
Csound VST, 262
.csoundrc file, 31
CsoundForLive plug-ins, 273–274
CsoundQt, 2, 3, 57, 65–88, 237–238. See also Configuration box; Live Events; projects; widgets
The Inspector, 75
code examples for, 14
Console pane, error messages in, 29
Control menu, 71
downloading and installing, 23–25, 27–28
Edit menu, 69–70
Editor pane, 73–74
Examples menu, 71
Ext. Editor button on toolbar, 67
Favorites menu, 71
File menu, 68
help, accessing, 74
Help menu, 71–72
installing, 27–28
launching, 33–34
with Linux installer, 27
with Macintosh installer, 25
main window, 72–76
Manual pane, 76
menus, 68–72
MIDI input, receiving, 251–252
Record button on toolbar, 67
Render button, 67
Run button on toolbar, 66
Run in Term button on toolbar, 66–67
system test in, 28–29
Text Editor pane, 73–74
toolbar, 65–68
troubleshooting audio issues with, 29
Utilities box, 206
View menu, 71
with Windows installer, 23–24
working with, 65–88
ctrl7 opcode, 256
cutoff frequency, defined, 163
cvanal utility, 206
data buffering in OSC, 267–268
DAWs (digital audio workstations), 1–2
DC (direct current)
error, 197
offset, 53
dcblock2 opcode, 52–53
Debian with Linux installer, 27
#define symbol, 225–227
delay, 197–202
adding as effect, 52–53
deltapi opcode, 200–201
feedback with, 199
as separate instrument, 168
sweeping delay time, 200–201
vdelay opcode, 201–202
delayr opcode, 197–199
delayw opcode, 197–199
Delete Frame command for Live Events, 87–88
deleting shortcuts, 70
deltapi opcode, 200–201
deprecated opcodes, 115
Derbyshire, Delia, xi
“Designing Legato Instruments in Csound” (Dobson), 231
diagrams of signal flow, 42
dialog box functionality, 57
digital distortion, 41
diskin2 opcode, sample playback with, 146 –147
Display widget, 80
distortion., 202–204 See also clipping
clipping distortion, 41
digital distortion, 41
waveshaping distortion effect, 202–204
division (math operation), 97–98
Dobson, Richard, 231
Doctor Who, xi
Dodge, Charles, 15
dollar sign ($) symbol, 225
in macros, 63
dot (.) symbol, 223–224
doubles version, 21–22
downloading
The Canonical Csound Reference Manual, 9
blue, 239
Csound, 19–20
CsoundQt, 27–28
Python, 271–272
SoundFonts, 147
downsamp opcode, 118
downsampling to k-rate, 118
dripwater opcode, 119
ducking, sidechain, 193
duration in score, 217
duty cycle, 161
dynamics
adding, 44–45
control, 189–194
E-Mu Systems, 147
earlier version of Csound, reverting to, 19, 21
Edit menu for CsoundQt, 69–70
editing Live Events in CsoundQt, 87–88
Editor pane, CsoundQt, 73–74
Editor tab, Configuration box, 79
effects, 195–204. See also chorus; delay; distortion; reverb
effects processors, 168
else/then/if statements, 130
encapsulation, UDOs for, 208
endif, 106
endin opcode, 89 –91
envelope generators, 151–159
expseg opcode, 153
expsegr opcode, 154
line opcode, 153
linen opcode, 155–156
linseg opcode, 152–153
linsegr opcode, 154
loopseg opcode, 158–159
oscil as, 124
-r version opcodes, 154
transeg opcode, 157
transegr opcode, 154
Environment tab, Configurations box, 79
equal-power panning, 194
equality operator (==), 104
equals sign (=), 96–97
error messages
for code errors, 36
in CsoundQt Console pane, 29
in Output Console, 76
Used before Defined error statement, 92
escape characters, 113
event opcode
grains, manually generating, 138–139
granular synthesis with, 135–136
performance, creating events during, 211–214
events. See also Live Events
performance, creating score events during, 211–214
Examples menu, 71
exp opcode, 100
“Exploring Tied Notes in Csound”(Yi), 231
Export without Widgets command, 68
expseg opcode, 153
Ext. Editor button on CsoundQt toolbar, 67
Ext. Player button on CsoundQt toolbar, 67 –68
External Programs tab, Configurations box, 79
External Shell radio button, 78
f- variables, 96
f-statement, 48, 177–178, 219–220
f-tables
creating in score, 219
displaying, 77
for sample playback, 143
GEN routines for creating, 176–186
in CsoundQt Inspector, 75
numbering, 49–50
operation opcodes, 116
Favorites menu, 71
feedback
delay feedback, 199
FM synthesis and, 134–135
real-time audio processing and, 268
File Information command, 68
File menu for CsoundQt, 68
File Open dialog box, Edit menu, 69
File Type drop-down menu, 77
Fill Cells command, 87
filters, 162–168. See also specific types
defined, 162–163
terminology for, 163–164
tone-shaping with, 167–168
Firefox
The Canonical Csound Reference Manual, HTML version of, 9
Csound download page at SourceForge in, 21
Show Opcode Entry in External Browser command with, 72
FireWire
for audio interface connection, 8
for MIDI connection, 250
floats version, 21–22
flooper opcode, sample playback with, 145–146
floor opcode, 100
Floss Manual for Csound, 12–13
examples in, 71
flow control. See logic and flow control
FLTK codes, 78
FluidSynth engine, 148–149
FM index, 39
timbre elements and, 40
FM synthesis, 131–135
carrier in, 131
foscil opcode for, 131–133
modulator in, 131
oscil inputs and, 123
with phasor and table, 133–135
sine waves in, 179
two-operator FM, 133
fof opcode, 139–143
fof2 opcode, 139–143
fog opcode, 139–143
for loop, 103
formant synthesis, 139–143
formulas, entering, 61
foscil opcode
defined, 39
for FM synthesis, 131–133
fout opcode, 195
frac opcode, 100
freeverb opcode, 196
frequency modulation. See FM synthesis
front-end programs, 2–3, 237–247. See also blue; CsoundQt
Cecilia 4.2, 245–247
WinXound, 244–245
ftgen opcodes, 178–179
arguments to, 178
defined, 34–35
ftgentmp opcode, 179
function tables. See f-tables
fundamental, defined, 132
fuzz tone effect pedal, 202
GarageBand, 2
gbuzz, 125–126
ducking and, 193
problems with using, 165
arpeggio, example of table playing, 184–186, 187
audio files, reading, 183–184
customized data, using with, 184–186
f-statement invoking, 177–178
ftgen opcodes invoking, 178–179
sawtooth wave with, 121–122
segments, building tables from, 181–183
sinusoids with, 179–181
General tab, Configuration box, 78
global signal routing, 168–173
example of, 169–171
mixer opcodes, 172–173
zak opcodes, 171
global variables, 96
for note length, 101–102
in orchestra header, 60
gogobel opcode, 150
goto statement, 102
in logic and flow control, 104–105
grain opcode, 137–138
Grainger, Percy, xi
grains
amplitude envelopes for, 136
defined, 136
granular synthesis, 135–143
formant synthesis, 139–143
by hand, 138–139
parameters for, 135
stereo files for, 136
granule opcode, 135
--displays flag with, 77
Graphviz, 71
guard point, 177
harmonics, defined, 132
harmonies
adding, 44
cpsxpch opcode for, 176
headphones, use of, 8
Heintz, Joachim, 12
Help Back command, 72
Help Forward command, 72
help in CsoundQt, 74
Help menu, 71–72
hetro utility, 206
highpass filter, defined, 163
Hofmann, Alex, 12
Html Doc Directory tab, 79
HW (hardware setting), 76
i-statement, 217
defined, 91–92
IanniX, 238
IDLE (Python), 271
if opcode, 103
if statements in logic and flow control, 104–105
if/then/else statements
in logic and flow control, 105–106
ternary operator replacing, 106–107
ifn symbol, 120
igoto, 105
INCDIR, 79
indentations in code, 105
Ingalls, Matt, 15
inharmonicity, 180
initialization pass, 117
Insert/Update CsLadspa Text item, 69–70
The Inspector, 75
installer, 22–27
for blue, 239
for CsoundQt, 27–28
Linux installer, 26–27
Macintosh installer, 24–25
Windows installer, 22–24
instr opcode, 89–91
instrument control with reinit, 204–206
opcodes, 116
instruments. See also legato instruments
amplitude envelopes for, 36–37
creating, 34–36
defined, 89–90
in The Inspector, 75
names for, 90–91
numbers for, 90
reinit opcode with, 204–206
for reverb, 46–47
in sequencing project, 33–47
in sound design project, 49–53
tags for, 57
int opcode, 100
Invalue-chnget command, 69
iphs argument, 122
is equal to symbol (==), 103
is greater than or equal to symbol (>=), 103
is greater than symbol (>), 103, 224–225
is less than or equal to symbol (<=), 103
is less than symbol (<), 103
is not equal to symbol (!=), 103
Java
with Linux installer, 27
Windows installer option, 24
Java Runtime Environment (JRE) for blue, 239
JavaScript
with Csound, 273
for Iannix scripts, 238
RhinoObject with blue, 243
Jerse, Thomas A., 15
Joaquin, Jacob, 273
Join orc/sco command, 69
JRE. See Java Runtime Environment
k-rate variables
converting from a- to, 95
defined, 92–94
keyboards. See MIDI keyboards; QWERTY keyboards
kgoto, 105
Kill Line command, 69
Kill to End of Line command, 69
Knob widget, 80
kr, 93
lower value of in UDO, 210
l-value, 96–97
Label widget, 80
labels, 105
LADSPA plug-ins, 70
latency, 77
compress opcode and, 192
launching CsoundQt, 33–34
Lazzarini, Victor, 22, 53, 259–261
LE Controller window, 85–86
legato instruments, 230–235. See also mono mode
example of score for, 223–235
symbols for working with, 232
LFOs (low-frequency oscillators), 160–162
delay time, sweeping, 200–201
init opcode with, 94–95
with linen opcode, 156
oscil as, 124
limit opcode, 191
line opcode, 153
linen opcode, 155–156
LineObject with blue, 242
linseg opcode, 152–153
defined, 37
FM index envelope with, 133
working with, 40
linsegr opcode, 139
Linux operating system
command line in, 55
installer for, 26–27
LADSPA plug-ins, 70
MIDI with, 250
with OSC (Open Sound Control), 262
Lisp
extending Csound with, 273
Windows installer option, 24
Live Events, 84–88
Controller window, 85–86
editing, 87–88
limitations of, 84–85
looping of, 88
naming, 85
new score sheets, adding, 85–86
playback of, 88
text, viewing as, 87
log, log10, logbtwo opcodes, 100
logic and flow control, 102–111
if/goto statements, 104–105
if/then/else statements, 105–106
labels in, 105
symbols in, 103
ternary operator in, 106–107
testing values in, 103–104
loop_ge opcode, 108–109
loop_gt opcode, 108–109
looping, 107–111
code for, 108
counters, 108
Live Events, 88
r-statement for, 228–229
score sections, 228–230
smooth loop strategies, 146
{-statement for, 229–230
loop_le opcode, 108–109
loop_lt opcode, 108–111
loopseg opcode, 158–159
loscil opcode, 49
sample playback with, 144–145
lossy compression, 9
lowpass filters, 164–167
defined, 163
lowpass2 opcode, 166
lowres opcode, 166
lpanal utility, 206
lpf18 opcode, 166
Lua programming language, 271
Windows installer option, 24
M-Audio Fast Track Pro, 8
-M flag, 56
Macintosh computers. See also Terminal window
command line in, 55
Ext. Player button with, 68
IAC utility, 250–251
Show Opcode Entry in External Browser command, 72
Macintosh installer, 24–25
Installation Type box, 24–25
defined, 62
during score processing, 230
in the Inspector, 75
in orchestra header, 59
p-fields, computing values in, 226–227
r-statement with, 228
{-statement with, 229–230
mailing list for Csound, 13–14
main window of CsoundQt, 72–76
Maldonado, Gabriel, 15
Manual pane, CsoundQt, 76
marimba opcode, 150
Mark Loop command for Live Events, 87–88
Markov chains, 271
massign opcode, 252–253
mathematical operations, 96–100
additional operations, 99–100
illegal syntax in, 98
opcodes for, 116
parentheses in, 98–99
precedence in, 98–99
Mathews, Max, 5
Max for Live environment, 273–274
max opcode, 100
maxabs opcode, 100
menus in CsoundQt, 68–72
metro opcode, 139
Microsoft Excel for creating scores, 227–228
MIDI (Musical Instrument Digital Interface)
alternative input opcodes, 256
alwayson opcode, 254–255
with athenaCL, 238
clipping, avoiding, 258–259
cpsmidi opcode, 253–254
CPU overloads with, 257–258
defined, 4
massign opcode, 252–253
midiin opcode, 255–256
mono legato instruments with, 259–261
note messages, 253
notnum opcode, 253–254
performance considerations, 257–259
pgmassign opcode, 254–255
port list, 76
real-time MIDI opcodes, 116
receiving input, 251–256
running Csound with performance, 259
setting up system, 250–251
streaming MIDI, 250
using Csound with, 249–262
veloc opcode, 253–254
MIDI keyboards, 8
cpsmidi opcode and, 176
SoundFonts, playing, 149
MIDI sliders, 8
midictrl opcode, 256
midiin opcode, 255–256
Mikelson, Hans, 15
milliseconds, latency and, 77
min opcode, 100
minabs opcode, 100
mirror opcode, 202
mixer opcodes, 172–173
MixerClear opcode, 172
MixerReceive opcode, 172
MixerSend opcode, 172
MixerSetLevel opcode, 172
modular synthesis, defined, 7
modulus operator (%), 98
mono mode, 230–231
with MIDI instruments, 259–261
Moog, Robert, 7
Moog filter, 162
moogladder opcode, 164–166
moogvcf opcode, 164–166
multimode filters, defined, 163
multiplication, performing, 97
Music-N programming language, 5
names
for instruments, 90–91
for Live Events, 85
of outputs, 121
Nancarrow, Conlon, xi
Native Instruments Reaktor with OSC (Open Sound Control), 262
nesting parentheses, 99
New Frame command for Live Events, 87
new project, creating, 33–34
newline characters, 113
noise, 127
generators, 126–130
zipper noise, 93
normalized tables, 178
notch (band-reject) filter, defined, 163
note length, global variable for, 101–102
notnum opcode, 253–254
Novation Launchpad, 250
npx symbol, 232
octave of pitch, specifying, 38
octave/pitch-class format, 175
odac flag, 56
one-voice legato mode. See mono mode
online manual, 12 –13
online UDO library, 14
opcode opcode, 208
opcodes, 115–214. See also MIDI (Musical Instrument Digital Interface); specific types
in The Canonical Csound Reference Manual, 10–11, 115–116
defined, 116–117
looping, 107–111
p-fields/p-values in, 100–101
Python, 272–273
Open Quick Reference Guide command, 72
open-source software, Csound as, 6
OpenOffice Calc for creating scores, 227–228
The Canonical Csound Reference Manual, HTML version of, 9–10
Show Opcode Entry in External Browser command with, 72
optional arguments, 118–119
or symbol (||), 103–104
.orc files, 273
orchestra
in Editor pane, 74
header, 58–60
macros in, 62–63
score events, creating in, 211–214
OSC (Open Sound Control), 249
data buffering in, 267–268
defined, 4
longer messages, sending and receiving, 266–268
OSCinit opcode, 264
OSClisten opcode, 264–265
with Pd, 263–268
two computers, connecting, 268
UDO for filtering input to, 267–268
using Csound with, 262–268
oscil opcode
illustration of use of, 120–121
prototype for, 118
tables, reading from, 188
oscil1 opcode, 188
oscili opcode, 123–124
defined, 11
iphas value and, 235
oscillators, 119–126. See also LFOs (low-frequency oscillators)
OSCinit opcode, 264
OSClisten opcode, 264–265
out opcode, 194–195
Output Console in CsoundQt, 35–36, 75–76
output formatting, 113
outs opcode, 194–195
working with, 45
overtones, defined, 132
macros for computing values in, 226–227
meanings of, 42
with spreadsheets, 228
p-values, 100–102
pan opcode, 193–194
panning, 189–194
controlling, 45–46
equal-power panning, 194
modulating pulsewave, 162
pan/pan2
opcodes, 193–194
parentheses
in code, 61–62
in logical text, 104
in mathematical operations, 98–99
partials
aliasing and, 122
buzz and gbuzz opcodes and, 125–126
defined, 132
filters with, 163
pass-band
defined, 163
specifying, 164
pchbend opcode, 256
Pd, 16–17
csoundapi~ with Windows installer, 23–24
OSC with, 263–268
using Csound with, 269–270
PDF Viewer, 79
pdhalfy opcode, 161–162
performances
MIDI, considerations with, 257–259
score events, creating, 211–214
Perl with Csound, 273
pgmassign opcode, 254–255
phase in waveforms, 122–123
phase modulation synthesis, 134
phasor opcode
FM synthesis with, 133–135
with loopseg opcode, 158–159
pdhalfy opcode with, 161–162
working with, 51
Phillips, Dave, 26–27
PHP with Csound, 273
physical models, 150–151
PianoRoll object in blue, 243
Piché, Jean, 246
Pinkston, Russel, 15
pitch
score, inputting pitches from, 37–38
pitch converters, 116, 174–176
cpsmidi opcode, 176
cpspch opcode, 175
Playback of Live Events, 88
playback speed. See also sample playback
changing, 49–50
modulating, 51–52
plugins64 directory, 74–75
plus (+) symbol, 223–224
point-and-click software, 2
pointer data type, 97
poles, defined, 163
polyaft opcode, 256
PortAudio list in terminal, 31
post-normalization, 178
pow opcode, 100
powershape opcode, 99–100
ppx symbol, 232
precedence, 98–99
print opcode, 111–112
print statements, 111–114
printf opcode, 112–113
conversion specifiers with, 112–113
output formatting with, 112–113
printk opcode, 113
printk2 opcode, 114
printks opcode, 114
prints opcode, 114
processing scores, 230
projects
new project, creating, 33–34
sequencing project, 33–47
sound design project, 47–53
prototypes, reading, 117–119
Puckette, Miller, 16
pulse waves, 160–161
pulse width, 161
pvanal utility, 206–207
pvoc opcode, 207
Python
advantages of using, 271
blue with, 242–243
with Csound, 270–273
downloading, 271–272
IDLE, 271
with Linux installer, 27
Markov chains in, 271
mathematical operations and, 99
opcodes, 272–273
Windows installer option, 24
PythonObject in blue, 242–243
Q. See also resonance
defined, 163
explanation of, 164
QT programming language, 3
question mark (?) in ternary operator, 107
QuteCsound. See CsoundQt
QWERTY keyboards
LineEdit widget with, 81
sensekey opcode for, 78
R
ramps between values, creating, 49–50, 153
in score, 224–225
using phasor to create, 133
rand opcode, 127–129
randh opcode, 128
randi opcode, 128
random numbers
generators seed for, 59–60
as noise generators, 127–130
uses of, 126–127
random values, creating in score, 225
randomh opcode, 127–128
randomi opcode, 129
reading
prototypes in manual, 117–119
from tables, 186–188
real-time audio processing, 268–269
Realtime Play area, Configuration box, 77
Record button on CsoundQt toolbar, 67
recursion, 211–212
reference books, 14–15
reinit opcode, 204–206
release opcode, 154–155
Rename Frame command for Live Events, 87
Render button on CsoundQt toolbar, 67
rendering with CsoundQt, 67
Renoise with OSC (Open Sound Control), 262
replacement macros, 225–226
Reset Preferences command, 72
resonance, 164
resources for Csound, 9–16
resynthesis, 206–207
reusability, UDOs for, 208
reverb, 196–197
adding, 46–47
compress opcode with, 192
filters for, 196–197
global signal routing with, 169–171
as separate instrument, 168
reverting to earlier version of Csound, 19, 21
rezzy opcode, 166
RhinoObject with blue, 243
rhythms to score, adding, 42–44
ring modulation, 50–51
rising edge, 161
rnd(x) opcode, 128
Roads, Curtis, 15
rolloff slope, 167
defined, 164
round opcode, 100
Ruby with Csound, 273
Run button on CsoundQt toolbar, 66
Run in Term button on CsoundQt toolbar, 66–67
Run Utilities Using area, 78
runaway feedback, 199
Russolo, Luigi, xi
S- variables, 96
SADIR as default, 79
Safari
The Canonical Csound Reference Manual with, 9
Show Opcode Entry in External Browser command, 72
Sample Format drop-down menu, 77
sample playback, 143–150
with diskin2 opcode, 146–147
with flooper opcode, 145–146
Fluid opcodes for, 147–150
with loscil opcode, 144–145
with SoundFonts, 147–150
with table opcode, 143–144
sample rate, 93
in orchestra header, 58
setting, 34
Save Widgets in csd File box, 78
sawtooth wave with GEN 10, 121–122
Schaeffer, Pierre, xi
schedule opcode, 211–213
schedwhen opcode, 211–213.sco files, 56, 215, 273
Scope widget, 80
score statements, 215–222
{-statement, 229
a-statement, 222
b-statement, 220–221
e-statement, 222
f-statement, 48, 177–178, 219–220
i-statement, 217
r-statement, 228–229
symbols in, 216–217
t-statement, 218–219
v-statement, 220–221
x-statement, 222
scoreline opcode, 211, 213–214
scores
blue, writing with, 241–244
carry symbols, 223–225
chords, adding, 44–45
commas in, 38
comments in, 216
creating, 34–36
in Editor pane, 74
i symbol in, 91
in the Inspector, 75
looping score sections, 228–230
performance, creating score events during, 211–214
pitches, inputting, 37–38
processing, 230
ramps between values, creating, 224–225
random values, creating, 225
rhythms, adding, 42–44
in sequencing project, 33–47
shortcuts for entering, 222–228
in sound design project, 49–53
spaces in, 35
spreadsheets for creating, 227–228
tags for, 57
warping, 220–221
writing scores, 215–235
scripting languages, 273
ScrollNumber widget, 80
seed opcode, 128
defined, 59–60
segments, building tables from, 181–183
sensekey opcode, 78
sequencing project, 33–47
Set Keyboard Shortcuts command, 70
setksmps opcode, 210
Setup menu, Ext. Player button on toolbar, 67–68
shortcuts. See also macros
for score entry, 223–225
Set Keyboard Shortcuts command, 70
Show Opcode Entry command, 71–72
Show Opcode Entry in External Browser command, 72
Sibelius software, 5
sidechain ducking, 193
signal generators, 115. See also envelope generators; granular synthesis; LFOs (low-frequency oscillators)
FM synthesis, 131–135
noise generators, 126–130
oscillators, 119–126
physical models, 150–151
sample playback, 143–150
signal inputs/outputs, 115
signal modifiers, 115
sin, sinh, sininv opcodes, 100
sine waves
creating, 34
defined, 179–180
GEN routines that create, 179–181
64-bit double-precision version, 21–22
Slider widget, 80
soft line breaks, creating, 119
Sort routine, 230
sound design project, 47–53
sound files. See audio files
SoundFonts, 147 –150
source code, compiling Csound from, 6
SourceForge, downloading Csound from, 19–20
spaces
in code, 61
in score, 35
Split View command, 73–74
spreadsheets for scores, 227–228
sprintf opcode, 114
sqrt opcode, 100
sr, 93
start time in score, 217
state-variable filters, 164, 167
{-statement, 229–230
statevar opcode, 167
stereo chorus. See chorus
stereo delay effect, creating, 199
stop-band, 164
string manipulation opcodes, 176
subtractive synthesis, 125
SuperCollider, 16–17
with athenaCL, 238
with OSC (Open Sound Control), 262–263
svfilter opcode, 167
switch statements, 103
symbols
carry symbols, 223–225
legato instruments, working with, 232
for macros, 225–227
syntax colors in Text Editor pane, 73
system requirements for Csound, 8–9
t-statement, 218–219
table opcode
FM synthesis with, 133–135
sample playback with, 143–144
waveshaping distortion with, 203–204
tablei opcode, 186
tableng opcode, 187
tables. See also GEN routines
arpeggio, example of table playing, 184–186, 187
guard point for, 177
normalized tables, 178
operations with, 186–189
reading from, 186–188
segments, building out of, 181–183
writing to, 188–189
tags
coding for, 57
in .csd files, 56–57
tan, tanh, taninv, taninv2 opcodes, 100
Template tab, Configurations box, 79
templates, 33
for .csd file, 56
tempo, t-statement for, 218–219
running Csound from, 237
system test for, 29–31
ternary operator, 106–107
Text Editor pane, CsoundQt, 73–74
text editors, 30–31
.csd files and, 57
text strings in p-fields, 102
Thibault, Dominic, 246
32-bit floating-point version, 21–22
tilde (~) symbol, 225
timbre envelope, 39–41
time signature, 2
timout opcode, 204–205
tone-shaping, 167–168
toolbar
for CsoundQt, 65–68
hidden buttons, displaying, 66
transeg opcode, 157
“Trapped in Convert”(Boulanger), 6
tival opcode, 232
troubleshooting audio issues, 29
two-operator FM, 133
Ubuntu 10.04 package manager, 26
UDO library, online, 14
UDOs. See user-defined opcodes (UDOs)
unit generators. See opcodes
urd opcode, 119
USB cables
for audio interface connection, 8
for MIDI connections, 250
Use CsoundQt Options box, 77
Used before Defined error statement, 92
user-defined opcodes (UDOs), 207–210
default values for, 210
for encapsulation, 208
OSC input, UDO for filtering, 267–268
outtypes and intypes of, 208–209
vocoder, 53
user license for Csound, 22–23
Utilities box, 206
vco2 opcode, 126
vdelay opcode, 201–202
vector of audio, 93
veloc opcode, 253–254
vibes opcode, 150–151
vibrato opcode, 160
View Code Graph command, 71
View menu, 71
Virtual Sound (Bianchini & Cipriani), 15
vocoder, working with, 53 –54
voice, formant synthesis and, 139–143
VST plug-ins with Csound, 261–262
w- variables, 96
warning messages, 101
warping scores, 220–221
WAV files, 143
fout opcode with, 195
mp3 format and, 9
Wave Player, 79
waveforms. See also sine waves
phase in, 122–123
waveguide modeling, 150–151
waveshaping distortion, 202–203
with mirror opcode, 202
with table opcode, 203–204
wgbow opcode, 151
wgbowedbar opcode, 151
wgpluck opcode, 151
white noise, generating, 127–128
Widget Edit Mode command, 70
widgets, 80–84
examples files, 80
panel, designing, 84
properties boxes for, 83
Widgets Are an Independent Window box, 78
Widgets tab, Configuration box, 78
Windows computers
command line in, 55
Command Prompt, running Csound from, 237
Ext. Player button with, 68
Windows installer, 22–24
Choose Components box, 23
WinXound, 244–245
Working with Audio (Alten), 4
writing to tables, 188 –189
www.flossmanuals.net/csound, 12–13
x-statement, 222
xin opcode, optional arguments for, 118
xout opcode, 209
xtratim opcode, 154
Yamaha DX7 synthesizer, 131
YouTube
Live Events video on, 84
OSC, video on, 262–263
0dbfs setting, defined, 58–59
zipper noise, 93