tabrec

tabrec — Enregistrement de signaux de contrôle.

Description

Enregistre des signaux au taux de contrôle sur la base d'une temporisation à déclenchement.

Syntaxe

tabrec   ktrig_start, ktrig_stop, knumtics, kfn, kin1 [,kin2,...,kinN]

Exécution

ktrig_start -- commence à enregistrer s'il est différent de zéro.

ktrig_stop -- stoppe l'enregistrement lorsque knumtics impulsions de déclenchement ont été reçues par cet argument d'entrée.

knumtics -- stoppe l'enregistrement ou réinitialise à zéro le pointeur de lecture si le nombre de tics défini par cet arguement est atteint.

kfn -- table dans laquelle les signaux de taux-k sont enregistrés.

kin1,...,kinN -- signaux d'entrée à enregistrer.

Les opcodes tabrec et tabplay permettent d'enregistrer/restituer des signaux de contrôle sur la base d'une temporisation à déclenchement.

L'opcode tabrec enregistre un groupe de signaux de taux-k en les mémorisant dans la table kfn. Chaque fois que ktrig_start est activé, tabrec remet à zéro le pointeur de la table et commence à enregistrer. La phase d'enregistrement s'arrête après que knumtics impulsions de déclenchement aient été reçues par l'argument ktrig_stop.

Ces opcodes peuvent être utilisés comme une sorte de mémoire à "moyen-terme" qui se "souvient" des signaux générés. Une telle mémoire peut être utilisée pour fournir à de la musique générative une structure de composition itérative cohérente.

Exemples

voici un exemple de l'opcode tabrec. Il utilise le fichier oscil.csd.

Exemple 1011. Exemple de l'opcode tabrec.

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 oscil.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

gifn ftgen 0,0,1049576,2,0

; record control signals
instr 1
ktrig_start init    1
koct        rspline 7,10,1,2
kpan        rspline 7,10,0.1,0.9
ktrig_stop  =       1
knumtics    =       kr*p3
            tabrec  ktrig_start,ktrig_stop,knumtics,gifn,koct,kpan
ktrig_start =   0
endin

; play control signals
instr 2
koct,kpan   init    0
ktrig       init    1
knumtics    =       kr*p3
            tabplay ktrig,knumtics,gifn,koct,kpan

ktrig       =       0

asig        poscil 0.1, cpsoct(koct)
aL,aR       pan2    asig,kpan
            outs    aL,aR
endin


</CsInstruments>

<CsScore>
i1 0 10
i2 2 10
i2 4 10
e

</CsScore>

</CsoundSynthesizer>


Voir aussi

tabplay

Crédits

Ecrit par Gabriel Maldonado.

Exemple écrit par Iain McCurdy