Csound Defined

Csound is a programming language designed and optimized for sound rendering and signal processing. The language consists of over 1300 opcodes - the operational codes that the sound designer uses to build "instruments" or patches. Although there are an increasing number of graphical "front-ends" for the language, you typically design and modify your patches using a word processor. Usually, you create two text files - a .orc (orchestra) file containing the "instruments," and a .sco (score) file containing the "notes."
 
Csound literally transforms a personal computer into a high-end digital audio workstation an environment in which the worlds of sound-design, acoustic research, digital audio production and computer music composition all join together in the ultimate expressive instrument. However, as with every musical instrument, true virtuosity is literally the product of both talent and dedication.
 

What is Csound and How Does it Work?

Csound is a sound renderer. It works by first translating a set of text-based instruments, found in the orchestra file, into a computer data-structure that is machine-resident. Then, it performs these user-defined instruments by interpreting a list of note events and parameter data that the program "reads" from: a text-based score file, a sequencer-generated MIDI file, a real-time MIDI controller, real-time audio, or a non-MIDI devices such as the ASCII keyboard and mouse.
 
Depending on the speed of your computer (and the complexity of the instruments in your orchestra file) the performance of this "score" can either be auditioned in real-time, or written directly into a file on your hard disk. This entire process is referred to as "sound rendering" as analogous to the process of "image rendering" in the world of computer graphics.
 
Once rendered, you will listen to the resulting soundfile by opening it with your favorite sound editor and playing it either through the built-in digital-to-analog converter (DAC) on your motherboard or the DAC on your PC Sound Card.
 

Csound Basics: Rendering an Orchestra and Score

To produce or process a soundfile with Csound, or to play a Csound instrument in real-time, one typically selects the orchestra and score through a simple "launcher" and then clicks on the "render" button to start the program compiling. In addition to selecting the orchestra and score, these launchers allow one to use menus, check-boxes, and text-fields to set and store all the command line options. You can specify the name of the output file, the directory for the output file, the output file-type (AIFF or WAVE - 16, 24, or 32-bit). You can tell the program to display graphics, to enable MIDI control or audio input, and to render in real-time to the DAC or write the resulting soundfile to disk.

Research (PDFs)

Powerpoint (.ppt)

Math Programming