vaget — Accès aux valeurs du tampon courant d'une variable de taux-a par indexation.
Accès aux valeurs du tampon courant d'une variable de taux-a par indexation. 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 de lire des valeurs 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 lue depuis avar
kndx - indice de l'échantillon à lire dans le tampon de la variable avar donnée
avar - variable de taux-a dont on veut lire les valeurs
Voici un exemple de l'opcode vaget. Il utilise le fichier vaget.csd.
Exemple 1145. Exemple de l'opcode vaget.
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 avarget.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr=44100 ksmps=16 nchnls=2 instr 1 ; Sqrt Signal ifreq = (p4 > 15 ? p4 : cpspch(p4)) iamp = ampdb(p5) aout init 0 ksampnum init 0 kenv linseg 0, p3 * .5, 1, p3 * .5, 0 aout1 vco2 1, ifreq aout2 vco2 .5, ifreq * 2 aout3 vco2 .2, ifreq * 4 aout sum aout1, aout2, aout3 ;Take Sqrt of signal, checking for negatives kcount = 0 loopStart: kval vaget kcount,aout if (kval > .0) then kval = sqrt(kval) elseif (kval < 0) then kval = sqrt(-kval) * -1 else kval = 0 endif vaset kval, kcount,aout loop_lt kcount, 1, ksmps, loopStart aout = aout * kenv aout moogladder aout, 8000, .1 aout = aout * iamp outs aout, aout endin </CsInstruments> <CsScore> i1 0.0 2 440 80 e </CsScore> </CsoundSynthesizer>