Use Non-Frames Version Previous Page Next Page
Score Syntax: Statements

t Statement (Tempo Statement)

  t  p1  p2  p3  p4 ... (unlimited)


This statement sets the tempo and specifies the accelerations and decelerations for the current section. This is done by converting beats into seconds.

P Fields

  p1        Must be zero.
  p2        Initial tempo on beats per minute.
  p3, p5, p7,...    Times in beats per minute (in non-decreasing order).
  p4, p6, p8,...    Tempi for the referenced beat times.

Special Considerations

Time and Tempo-for-that-time are given as ordered couples that define points on a "tempo vs. time" graph. (The time-axis here is in beats so is not necessarily linear.) The beat-rate of a Section can be thought of as a movement from point to point on that graph: motion between two points of equal height signifies constant tempo, while motion between two points of unequal height will cause an accelarando or ritardando accordingly. The graph can contain discontinuities: two points given equal times but different tempi will cause an immediate tempo change.

Motion between different tempos over non-zero time is inverse linear. That is, an accelerando between two tempos M1 and M2 proceeds by linear interpolation of the single-beat durations from 60/M1 to 60/M2.

The first tempo given must be for beat 0.

A tempo, once assigned, will remain in effect from that time-point unless influenced by a succeeding tempo, i.e. the last specified tempo will be held to the end of the section.

A t statement applies only to the score section in which it appears. Only one t statement is meaningful in a section; it can be placed anywhere within that section. If a score section contains no t statement, then beats are interpreted as seconds (i.e. with an implicit t 0 60 statement).

N.B. If the CSound command includes a -t flag, the interpreted tempo of all score t statements will be overridden by the command-line tempo.

Use Non-Frames Version Previous Page Next Page
Score Syntax: Statements