Maintained by: Jake Joaquin
What is Csound? |
| Csound is a software synthesis program. But more than that, Csound doesn't suffer the same kinds of limitations that other software & hardware synthesizers have. There are no limits to the amount of oscillators or filters one can use. Csound is also completely modular, so that any function in Csound can be used in an array of ways. |
What kind of computer do I need to run Csound? |
| Csound is cross platform on many systems, including: PC, Macintosh, Linux, BeOs, etc. |
How much does Csound cost? |
| Csound if FREE. |
Where can I download a copy of Csound? |
| You can find links to the available versions of Csound @ http://mitpress.mit.edu/e-books/csound/frontpage.html. |
What are the pros and cons of Csound? |
| Csound is virtually capable of recreating any sound in the digital medium. Most computers are too slow to run Csound in real-time. |
Is programming with Csound like C programming? |
| No. The syntax of Csound and C are completely different. Just because you know one doesn't mean you know the other. |
How do I install Csound? |
| This depends on what kind of system you are running. Look for installing Csound instructions here. |
How do I set up my directories? |
| Directories are setup differetly, depending on the type of system you are using. Information can be obtained on the 'Installing Csound' page. |
What kind of text editor can I use? |
| In theory, any text editor will work. I recommend that you use a text editor with only the basics, like Notepad for PC or BBedit for Mac. An elaborate text editor, such as Microsoft Word, can put gremlins(invisible characters) inside your .orc and .sco files, causing Csound to crash when computing. |
How do I render a Csound job? |
| Select an .orc and .sco file. If any samples or analysis files are used, make sure the proper directories are set. Then tell Csound to render the job. This varies on different platforms. |
What is an .orc file? |
| .orc stands for orchestra. This is the text document which the instruments are stored. The sampling rate and number of audio channels are also defined in the .orc file. |
What is an instrument in Csound? |
| An instrument in Csound is basically a complete synthesizer or DSP box, or they can be considered a patch. The instruments are defined in the orchestra. Each instrument can be as simple or as complex as you want it to be, depending on the number of opcodes you choose to use. |
What is an opcode? |
| An opcode is a defined function in Csound. Opcodes can be used as signal generators, signal modifiers, number functions and many other uses. |
What is a .sco file? |
| .sco stands for score. This is the counterpart text document to the .orc file. This is where the note data and function tables are stored. |
What is a p-field? And how does a p-field work? |
| A p-field is a parameter field within the score. When a Csound piece is computed, the information in the p-fields tell which instrument is being played(p1), when an instrument starts(p2) and the duration(p3). Every p-field from p4 on is user definable.
In the example below, p4 has a 10000 for amplitude, p5 has a 262 for frequency and p6 has 1 for which function table to look up. Everything from p7 is unused in this example, but you can define as many p-fields as you want. |
| instr 1 | ||
| a1 | oscil | p4, p5, p6 |
| out | a1 | |
| endin |
| f1 | 0 | 8192 | 10 | 1 | |||||
|
;p1
|
p2 | p3 | p4 | p5 | p6 | p7 | p8 | p9 | p10 |
| i1 | 20 | 10 | 10000 | 262 | 1 |
| P-fields are seperated by spaces and tabs. A new p-field starts at the next character that is not a space or tab, meaning you can have as many spaces and/or tabs as you want inbetween each p-field. |
What is a function? And how does a function work? |
| A function, also known as an f-table, in Csound creates a table of numbers that can be used for an array of things, but most commonly used for creating waveshapes. They can also be used to create envelopes, hold values for a series of pitches and load sound files. |
| ;Create Table | Table # | Start Time | Table Size | GEN Routine | GEN Routine specific |
| f | 1 | 0 | 256 | 10 | 1 |
| In this example, we defined f-table as look up 1, starting at time 0, with a resolution of 256 points, using GEN Routine 10. |
Can I change the f-table in the middle of a piece? |
| Yes. To change the f-table in the middle of a piece, resuse the Table # and give the f-table a different Start Time. When the score reaches this new Start Time, the old f-table will be replaced with the new one. |
How do I learn to write my own instrument? |
| Start by downloading a copy of the Csound Manual. Check out some of the on-line Csound tutorials. |
Where can I download a copy of the Csound Manual? |
| A copy of the Csound Manual can be found on the 'Getting Csound' page. |
What is a header? |
| The header is located in the .orc file. It consists of 4 parts: sr, kr, ksamps, and nchnls. sr = Sampling Rate, kr = Control Rate, ksamps = constant value (sr/kr), nchnls = number of audio channels (1 = mono, 2 = stereo, 4 = quad). |
How does an instrument work? |
| A instrument works through the use of commands called 'Opcodes'. Opcodes generate and manipulate data. These opcodes are connected to each other in modular fashion (very similiar to older analog synthesizers) to create and/or process audio. |
Where do I define the pitch? |
| Depending which opcode you use depends where you define the pitch. For example, the frequency is defined in the second parameter of the oscil opcode. |
| a1 | oscil | iamp, ifreq, ifn |
How do I add comments to my .orc and .sco files? |
| If you want to add comments to your Csound .orc and .sco files, use a ';' before the comment. Everything typed after a ';' is ignored by the Csound compiler. |
| a1 | oscil | 10000, 262, 1 | ; THIS IS A COMMENT |
What kinds of synthesis techniques can be achieved with Csound? |
| Subtractive, Additive, FM, AM, Ring Modulation, Granular, Sample based, Physical modelling or any other kind of synthesis technique found in the digital medium. |
Does Csound support MIDI? |
| Yes. Csound contains numerous opcodes to control MIDI and MIDI data. |
Does Csound work in real-time? |
| Csound is capable of working in real-time. Instead of writing to a soundfile, Csound can send data directly to the DAC of your sound card or sound manager. However, Csound is very CPU intensive. In order to to run Csound in real-time, you need a powerful enough computer to run the task at hand. |
Can Csound be used to process audio? |
| Yes. Csound can read in and process audio files just like many of the commercial DSP programs found on the market. |
Can Csound be used to play back samples? |
| Yes. Csound can read in, process, and play back samples. |
What are Csounds limitations? |
| The limits of ones own imagination. |
Can I do DSP with Csound? |
| Yes. Csound is fully capable of doing everytthing from reverb to phase vocoding. |
Is the Csound source code available? |
| Yes. The Csound source, written in C, is made available so that anyone can modify and add to Csound. You can find a link to the source on the 'Getting Csound' page. |
Where can I download the source code? |
| You can find a link to the source on the 'Getting Csound' page. |
Is there a Csound Mailing list that I can subscribe to? |
| Yes. |
How do I join the Csound Mailing list? |
| You can find out how to join the Csound Mailing List and many others on the 'FAQ & Mailing List' page. |
Is Csound copyright or open-source? |
| You can use the source code for Csound for any academic or research purpose, but you must arrange with MIT to put it to any commercial use.
The Copyright as listed in The Public Csound Reference Manual Canonical Version 3.53 states: "Copyright 1986, 1992 by the Massachusetts Institute of Technology. All rights reserved. Developed by Barry L. Vercoe at the Experimental Music Studio, Media Laboratory, M.I.T., Cambridge, Massachusetts, with partial support from the System Development Foundation and from National Science Foundation Grant # IRI-8704665. Permission to use, copy, or modify these programs and their documentation for educational and research purposes only and without fee is hereby granted, provided that this copyright and permission notice appear on all copies and supporting documentation. For any other uses of this software, in original or modified form, including but not limited to distribution in whole or in part, specific prior permission from M.I.T. must be obtained. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty" |
From the Csound Mailing List -
|
| Eric Scheirer writes:
"I have just spoken to Prof. Vercoe in an attempt to clarify the
issue. He agrees that there hasn't been any previous statement
by MIT on the use of Csound to make commercial music. He authorized me to say: Csound is a tool for the making of music. Just as free compilers allow you to compile programs for commercial use, you are allowed to use Csound to make music for commercial use. This only applies to the *sounds* produced with Csound - the licensing agreement for the source code has not changed. (You can use the source code for Csound for any academic or research purpose, but you must arrange with MIT to put it to any commercial use). You are free to sell your friends the sounds you make with Csound, or new instruments they can use to make their own sounds. If you would like to contribute your instruments to the general good of the community, the Csound list is an ideal place for this." |
Why can't I hear sound? |
| Check to make sure volumes are up. Make sure the sample rate is compatible with your computer. |
How come my .orc and .sco don't render? |
| Most of the time, there is a small error in the code somewhere. Csound reports where the errors are located in the compiler log. |
E-mail: Jake Joaquin
jake@csounds.com