times — Lit le temps absolu en secondes.
Le temps en secondes est donné par times. Il retournera 0.5 après une demi-seconde.
times produit une variable de taux-k en sortie. Il n'y a pas de paramètres d'entrée.
times peut aussi opérer au démarrage de l'instance de l'instrument. Il produit alors une variable de taux-i (préfixée par i ou gi) en sortie.
Voici un exemple de l'opcode times. Il utilise le fichier times_complex.csd.
Exemple 1101. Exemple de l'opcode times.
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 -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o times_complex.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ;by joachim heintz and rory walsh sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giWave ftgen 0, 0, 1024, 10, 1, .5, .25 instr again instance = p4 ;reset the duration of this instance iDur rnd31 5, 3 ;shorter values are more probable iDur = abs(iDur) + 0.2 p3 = iDur ;trigger the effect instrument of this instance event_i "i", "fx_processor", 0, iDur, instance ;print the status quo kTime times prints "instance = %d, start = %f, duration = %f\n", instance, i(kTime), iDur ;make sound iamp active 1 ;scale amplitudes iOct random 5, 10 ;find pitch aEnv transeg 0, 0.02, 0, 1/iamp, p3-0.02, -6, 0 ;output envelope aSend poscil aEnv, cpsoct(iOct), giWave ;audio signal ;send signal to effect instrument Sbus sprintf "audio_%d", instance ;create unique software bus chnset aSend/2, Sbus ;send audio on this bus ;get the last k-cycle of this instance and trigger the successor in it kLast release schedkwhen kLast, 0, 0, "again", 0, 1, instance+1 endin instr fx_processor ;apply feedback delay to the above instrument iwhich = p4 ;receive instance number ... Sbus sprintf "audio_%d", iwhich ; ... and related software bus audio chnget Sbus ;receive audio on this bus irvbtim random 1, 5 ;find reverb time p3 = p3+irvbtim ;adjust instrument duration iltptmL random .1, .5 ;find looptime left ... iltptmR random .1, .5 ;...and right ipan random 0, 1 ; pan and ... imix random 0, 1 ;... mix audio aL,aR pan2 audio, ipan ;create stereo awetL comb aL, irvbtim, iltptmL ;comb filter awetR comb aR, irvbtim, iltptmR aoutL ntrpol aL, awetL, imix ;wet-dry mix aoutR ntrpol aR, awetR, imix outs aoutL/2, aoutR/2 endin </CsInstruments> <CsScore> i "again" 0 1 1 e 3600 </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
new alloc for instr again: instance = 1, start = 0.000000, duration = 0.650439 new alloc for instr fx_processor: instance = 2, start = 0.650884, duration = 0.411043 new alloc for instr fx_processor: instance = 3, start = 1.061587, duration = 0.231085 new alloc for instr fx_processor: instance = 4, start = 1.292336, duration = 0.543473 new alloc for instr fx_processor: instance = 5, start = 1.835828, duration = 1.777097