tempo — Contrôle le tempo d'une partition non interprétée.
ktempo -- le tempo auquel la partition sera ajustée.
tempo permet de contrôler depuis un orchestre la vitesse d'exécution des évènements de partition de Csound. Il n'opère qu'en présence de l'option -t de Csound. Quand cette option est positionnée, les évènements de partition sont exécutés à partir de leurs paramètres p2 et p3 (pulsation) non interprétés, initialement au tempo donné sur la ligne de commande. Lorsqu'une instruction tempo est activée dans n'importe quel instrument (ktempo > 0.), le tempo courant est ajusté à ktempo pulsations par minute. Il peut y avoir n'importe quel nombre d'instructions tempo dans un orchestre, mais il vaut mieux éviter les activations simultanées.
Voici une exemple de l'opcode tempo. Se rappeler qu'il ne fonctionne que si l'on utilise l'option -t avec Csound. L'exemple utilise le fichier tempo.csd.
Exemple 1093. Exemple de l'opcode tempo.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac -iadc -t60 ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o tempo.wav -W -t60 ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 kval tempoval printk 0.1, kval ; If the fourth p-field is 1, increase the tempo. if (p4 == 1) kgoto speedup kgoto playit speedup: ; Increase the tempo to 150 beats per minute. tempo 150, 60 playit: a1 oscil 10000, 440, 1 out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; p4 = plays at a faster tempo (when p4=1). ; Play Instrument #1 at the normal tempo, repeat 3 times. r3 i 1 00.00 00.25 0 i 1 00.25 00.25 0 i 1 00.50 00.25 0 i 1 00.75 00.25 0 s ; Play Instrument #1 at a faster tempo, repeat 3 times. r3 i 1 00.00 00.25 1 i 1 00.25 00.25 0 i 1 00.50 00.25 0 i 1 00.75 00.25 0 s e </CsScore> </CsoundSynthesizer>