vlinseg
Prev | Orchestra Opcodes and Operators | Next

## vlinseg

vlinseg — Vectorial envelope generator

## Description

Generate linear vectorial segments

## Syntax

    vlinseg  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]

## Initialization

ifnout - number of table hosting output vectorial signal

ifn1 - starting vector

ifn2,ifn3,etc. - vector after idurx seconds

idur1 - duration in seconds of first segment.

idur2, idur3, etc. - duration in seconds of subsequent segments.

ielements - number of elements of vectors.

## Performance

These opcodes are similar to linseg and expseg, but operate with vectorial signals instead of with scalar signals.

Output is a vectorial control signal hosted by ifnout (that must be previously allocated), while each break-point of the envelope is actually a vector of values. All break-points must contain the same number of elements (ielements).

All these operators are designed to be used together with other opcodes that operate with vectorial signals such as bmscan, vcella, adsynt, adsynt2, etc.

## Example

Here is an example of the vlinseg opcode. It uses the files vlinseg.csd.

Example 933. Example of the vlinseg opcode.

    <CsoundSynthesizer>
    <CsOptions>
    -odac -B441 -b441
    </CsOptions>
    <CsInstruments>

    sr=44100
    ksmps=10
    nchnls=2

    gilen init 32

    gitable1 ftgen 0, 0, gilen, 10, 1
    gitable2 ftgen 0, 0, gilen, 10, 1

    gitable3 ftgen 0, 0, gilen, -7, 30, gilen, 35
    gitable4 ftgen 0, 0, gilen, -7, 400, gilen, 450
    gitable5 ftgen 0, 0, gilen, -7, 5000, gilen, 5500

    instr 1
    vcopy gitable2, gitable1, gilen
    turnoff
    endin

    instr 2
    vlinseg gitable2, 16, gitable3, 2, gitable4, 2, gitable5
    endin

    instr 3
    kcount init 0
    if kcount < 16 then
    	kval table kcount, gitable2
    	printk 0,kval
    	kcount = kcount +1
    else
    turnoff
    endif

    endin

    </CsInstruments>
    <CsScore>
    i1 0 1
    s
    i2 0 10
    i3 0 1
    i3 1 1
    i3 1.5 1
    i3 2 1
    i3 2.5 1
    i3 3 1
    i3 3.5 1
    i3 4 1
    i3 4.5 1

    </CsScore>
    </CsoundSynthesizer>

## Credits

Written by Gabriel Maldonado.

Example by Andres Cabrera.

New in Csound 5 (Previously available only on CsoundAV)

Prev | Up | Next
vlimit | Home | vlowres