vaget
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## vaget

vaget — Accès aux valeurs du tampon courant d'une variable de taux-a par indexation.

## Description

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.

## Syntaxe

    kval vaget kndx, avar

## Exécution

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

## Exemples

Voici un exemple de l'opcode vaget. Il utilise le fichier vaget.csd.

Exemple 1133. 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>

## Voir aussi

vaset

## Crédits

Auteur : Steven Yi

Nouveau dans la version 5.04

Septembre 2006.

Précédent | Niveau supérieur | Suivant
vaddv_i | Sommaire | valpass