An orchestra program in Csound is comprised of orchestra header statements which set various global parameters, followed by a number of instrument blocks representing different instrument types. An instrument block, in turn, is comprised of ordinary statements that set values, control the logical flow, or invoke the various signal processing subroutines that lead to audio output. An orchestra header statement operates once only, at orchestra setup time. All orchestra header statements belong to a pseudo instrument 0, an init pass of which is run prior to all other instruments at score time 0.
Any ordinary statement can serve as an orchestra header statement, eg.
An ordinary statement runs at either init time or performance time or both. Most generators and modifiers , however, produce signals that depend not only on the instantaneous value of their arguments but also on some preserved internal state. The run time of an operation which produces no result is apparent in the opcode. Arguments are values that are sent to an operation. Most arguments will accept arithmetic expressions composed of constants, variables, reserved globals , value converters , arithmetic operations and conditional values .