Use Non-Frames Version Previous Page Next Page
Syntax of the Orchestra

Syntax of the Orchestra


An orchestra statement in Csound has the format:

     label:   result    opcode    argument1, argument2, ... ;comments

The label is optional and identifies the basic statement that follows as the potential target of a go-to operation (see Instrument Control: Program Flow Control). A label has no effect on the statement per se. Comments are optional and are for the purpose of letting the user document his orchestra code. Comments always begin with a semicolon (;) and extend to the end of the line.

The remainder (result, opcode, and arguments) form the basic statement. This also is optional, i.e. a line may have only a label or comment or be entirely blank. If present, the basic statement must be complete on one line, and is terminated by a carriage return and line feed.

The opcode determines the operation to be performed; it usually takes some number of input values (or arguments, with a maximum value of about 800); and it usually has a result field variable to which it sends output values at some fixed rate. There are four possible rates:

  1. once only, at orchestra setup time (effectively a permanent assignment)
  2. once at the beginning of each note (at initialization (init) time: i-rate)
  3. once every performance-time control loop (perf-time control rate, or k-rate)
  4. once each sound sample of every control loop (perf-time audio rate, or a-rate)

Use Non-Frames Version Previous Page Next Page
Syntax of the Orchestra