License
All chapters copyright of the authors (see below). Unless otherwise stated all chapters in this manual licensed with GNU General Public License version 2
This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this documentation; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Authors
Note that this book is a collective effort, so some of the contributors may not have been quoted correctly. If you are one of them, please contact us, or simply put your name at the right place.
INTRODUCTION
PREFACE
Joachim Heintz, Andres Cabrera, Alex Hofmann, Iain McCurdy, Alexandre Abrioux
HOW TO USE THIS MANUAL
Joachim Heintz, Andres Cabrera, Iain McCurdy, Alexandre Abrioux
01 BASICS
A. DIGITAL AUDIO
Alex Hofmann, Rory Walsh, Iain McCurdy, Joachim Heintz
B. PITCH AND FREQUENCY
Rory Walsh, Iain McCurdy, Joachim Heintz
C. INTENSITIES
Joachim Heintz
D. RANDOM
Joachim Heintz, Martin Neukom, Iain McCurdy
02 QUICK START
A. MAKE CSOUND RUN
Alex Hofmann, Joachim Heintz, Andres Cabrera, Iain McCurdy, Jim Aikin, Jacques Laplat, Alexandre Abrioux, Menno Knevel
B. CSOUND SYNTAX
Alex Hofmann, Joachim Heintz, Andres Cabrera, Iain McCurdy
C. CONFIGURING MIDI
Andres Cabrera, Joachim Heintz, Iain McCurdy
D. LIVE AUDIO
Alex Hofmann, Andres Cabrera, Iain McCurdy, Joachim Heintz
E. RENDERING TO FILE
Joachim Heintz, Alex Hofmann, Andres Cabrera, Iain McCurdy
03 CSOUND LANGUAGE
A. INITIALIZATION AND PERFORMANCE PASS
Joachim Heintz
B. LOCAL AND GLOBAL VARIABLES
Joachim Heintz, Andres Cabrera, Iain McCurdy
C. CONTROL STRUCTURES
Joachim Heintz
D. FUNCTION TABLES
Joachim Heintz, Iain McCurdy
E. ARRAYS
Joachim Heintz
F. LIVE CSOUND
Joachim Heintz, Iain McCurdy
G. USER DEFINED OPCODES
Joachim Heintz
H. MACROS
Iain McCurdy
I. FUNCTIONAL SYNTAX
Joachim Heintz
04 SOUND SYNTHESIS
A. ADDITIVE SYNTHESIS
Andres Cabrera, Joachim Heintz, Bjorn Houdorf
B. SUBTRACTIVE SYNTHESIS
Iain McCurdy
C. AMPLITUDE AND RINGMODULATION
Alex Hofman
D. FREQUENCY MODULATION
Alex Hofmann, Bjorn Houdorf
E. WAVESHAPING
Joachim Heintz, Iain McCurdy
F. GRANULAR SYNTHESIS
Iain McCurdy
G. PHYSICAL MODELLING
Joachim Heintz, Iain McCurdy, Martin Neukom
H. SCANNED SYNTHESIS
Christopher Saunders
05 SOUND MODIFICATION
A. ENVELOPES
Iain McCurdy
B. PANNING AND SPATIALIZATION
Iain McCurdy, Joachim Heintz
C. FILTERS
Iain McCurdy
D. DELAY AND FEEDBACK
Iain McCurdy
E. REVERBERATION
Iain McCurdy
F. AM / RM / WAVESHAPING
Alex Hofmann, Joachim Heintz
G. GRANULAR SYNTHESIS
Iain McCurdy, Oeyvind Brandtsegg, Bjorn Houdorf
H. CONVOLUTION
Iain McCurdy
I. FOURIER ANALYSIS / SPECTRAL PROCESSING
Joachim Heintz
K. ANALYSIS TRANSFORMATION SYNTHESIS
Oscar Pablo di Liscia
L. AMPLITUDE AND PITCH TRACKING
Iain McCurdy
06 SAMPLES
A. RECORD AND PLAY SOUNDFILES
Iain McCurdy, Joachim Heintz
B. RECORD AND PLAY BUFFERS
Iain McCurdy, Joachim Heintz, Andres Cabrera
07 MIDI
A. RECEIVING EVENTS BY MIDIIN
Iain McCurdy
B. TRIGGERING INSTRUMENT INSTANCES
Joachim Heintz, Iain McCurdy
C. WORKING WITH CONTROLLERS
Iain McCurdy
D. READING MIDI FILES
Iain McCurdy
E. MIDI OUTPUT
Iain McCurdy
08 OTHER COMMUNICATION
A. OPEN SOUND CONTROL
Alex Hofmann
B. CSOUND AND ARDUINO
Iain McCurdy
09 CSOUND IN OTHER APPLICATIONS
A. CSOUND IN PD
Joachim Heintz, Jim Aikin
B. CSOUND IN MAXMSP
Davis Pyon
C. CSOUND IN ABLETON LIVE
Rory Walsh
D. CSOUND AS A VST PLUGIN
Rory Walsh
10 CSOUND FRONTENDS
CSOUNDQT
Andrés Cabrera, Joachim Heintz, Peiman Khosravi
CABBAGE
Rory Walsh, Menno Knevel, Iain McCurdy
BLUE
Steven Yi, Jan Jacob Hofmann
WINXOUND
Stefano Bonetti, Menno Knevel
CSOUND VIA TERMINAL
Iain McCurdy
WEB BASED CSOUND
Victor Lazzarini, Iain McCurdy, Ed Costello
11 CSOUND UTILITIES
CSOUND UTILITIES
Iain McCurdy
12 CSOUND AND OTHER PROGRAMMING LANGUAGES
A. THE CSOUND API
François Pinot, Rory Walsh
B. PYTHON INSIDE CSOUND
Andrés Cabrera, Joachim Heintz
C. PYTHON IN CSOUNDQT
Tarmo Johannes, Joachim Heintz
D. LUA IN CSOUND
E. CSOUND IN IOS
Nicholas Arner
F. CSOUND ON ANDROID
Michael Gogins
G. CSOUND AND HASKELL
Anton Kholomiov
H. CSOUND AND HTML
Michael Gogins
13 EXTENDING CSOUND
EXTENDING CSOUND
Victor Lazzarini
OPCODE GUIDE
OVERVIEW
Joachim Heintz, Iain McCurdy
SIGNAL PROCESSING I
Joachim Heintz, Iain McCurdy
SIGNAL PROCESSING II
Joachim Heintz, Iain McCurdy
DATA
Joachim Heintz, Iain McCurdy
REALTIME INTERACTION
Joachim Heintz, Iain McCurdy
INSTRUMENT CONTROL
Joachim Heintz, Iain McCurdy
MATH, PYTHON/SYSTEM, PLUGINS
Joachim Heintz, Iain McCurdy
APPENDIX
GLOSSARY
Joachim Heintz, Iain McCurdy
LINKS
Joachim Heintz, Stefano Bonetti
METHODS OF WRITING CSOUND SCORES
Iain McCurdy, Joachim Heintz, Jacob Joaquin, Menno Knevel
V.1 - Final Editing Team in March 2011:
Joachim Heintz, Alex Hofmann, Iain McCurdy
V.2 - Final Editing Team in March 2012:
Joachim Heintz, Iain McCurdy
V.3 - Final Editing Team in March 2013:
Joachim Heintz, Iain McCurdy
V.4 - Final Editing Team in September 2013:
Joachim Heintz, Alexandre Abrioux
V.5 - Final Editing Team in March 2014:
Joachim Heintz, Iain McCurdy
V.6 - Final Editing Team March-June 2015:
Joachim Heintz, Iain McCurdy
Free manuals for free software