times
Prev | Opcodes et opérateurs de l'orchestre | Next

## times

times — Lit le temps absolu en secondes.

## Description

Lit le temps absolu en secondes, depuis le début de l'exécution.

## Syntaxe

    ires times

    kres times

## Exécution

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.

## Exemples

Voici un exemple de l'opcode times. Il utilise le fichier times_complex.csd.

Example 933. 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

## Voir aussi

timeinstk, timeinsts, timek

## Crédits

Auteur : Robin Whittle
Australie
Mai 1997

Prev | Up | Next
timek | Home | timout