vaset

vaset — Ecrit une valeur dans le tampon courant d'une variable de taux-a par indexation.

Description

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] 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.

Syntaxe

vaset kval, kndx, avar

Exécution

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

Exemples

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>


Voir aussi

vaget

Crédits

Auteur : Steven Yi

Nouveau dans la version 5.04

Septembre 2006.