FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

CSOUND

License

All chapters are copyright of the authors (see below). Unless otherwise stated all chapters in this manual are 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 add your name for credit in the appropriate 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, Jim Aikin


C. PYTHON IN CSOUNDQT
Tarmo Johannes, Joachim Heintz


D. LUA IN CSOUND


E. CSOUND IN IOS
Nicholas Arner, Nikhil Singh, Richard Boulanger


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

 

100.gif

Free manuals for free software

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.