vaset — Ecrit une valeur dans le tampon courant d'une variable de taux-a par indexation.
Ecrit une valeur dans le tampon courant d'une variable de taux-a à la position donnée. Utile pour effectuer des manipulations échantillon par échantillon au taux-k sans recourir à setksmps 1.
Note | |
---|---|
Comme cet opcode ne vérifie pas les limites d'indexation, il faut faire attention à ne pas essayer d'écrire une valeur au-delà de ksmps (la taille du tampon d'une variable de taux-a) en utilisant des valeurs d'indice supérieures à ksmps. |
kval - valeur à écrire dans avar
kndx - indice de l'échantillon à écrire dans le tampon de la variable avar donnée
avar - variable de taux-a dans laquelle écrire
Voici un exemple de l'opcode vaset. Il utilise le fichier vaset.csd.
Exemple 1148. Exemple de l'opcode vaset.
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 No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o avarset.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr=44100 ksmps=1 nchnls=2 instr 1 ; Sine Wave ifreq = (p4 > 15 ? p4 : cpspch(p4)) iamp = ampdb(p5) kenv adsr 0.1, 0.05, .9, 0.2 aout init 0 ksampnum init 0 kcount = 0 iperiod = sr / ifreq i2pi = 3.14159 * 2 loopStart: kphase = (ksampnum % iperiod) / iperiod knewval = sin(kphase * i2pi) vaset knewval, kcount,aout ksampnum = ksampnum + 1 loop_lt kcount, 1, ksmps, loopStart aout = aout * iamp * kenv outs aout, aout endin </CsInstruments> <CsScore> i1 0.0 2 440 80 e </CsScore> </CsoundSynthesizer>