tabrec — Enregistrement de signaux de contrôle.
Enregistre des signaux au taux de contrôle sur la base d'une temporisation à déclenchement.
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.
voici un exemple de l'opcode tabrec. Il utilise le fichier tabrec.csd.
Exemple 1081. 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>