vaset
Prev | Orchestra Opcodes and Operators | Next

## vaset

vaset — Write value of into the current buffer of an a-rate variable by index.

## Description

Write values into the current buffer of an a-rate variable at the given index. Useful for doing sample-by-sample manipulation at k-rate without using setksmps 1.

| Note
Because this opcode does not do any bounds checking, the user must be careful not to try to write values past ksmps (the size of a buffer for an a-rate variable) by using index values greater than ksmps.

| Note
In Csound6 this opcode does do bounds checking.

## Syntax

    vaset kval, kndx, avar

## Performance

kval - value to write into avar

kndx - index of the sample to write to the current buffer of the given avar variable

avar - a-rate variable to write to

## Examples

Here is an example of the vaset opcode. It uses the file vaset.csd.

Example 971. Example of the vaset opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

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

## See Also

vaget

## Credits

Author: Steven Yi

New in version 5.04

September 2006.

Prev | Up | Next
valpass | Home | vbap