vlinseg

vlinseg — Générateur d'enveloppe vectoriel.

Description

Génère des segments linéaires vectoriels.

Syntaxe

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

Initialisation

ifnout - numéro de la table hébergeant le signal vectoriel de sortie.

ifn1 - vecteur de départ.

ifn2, ifn3,etc. - vecteur après idurx secondes.

idur1 - durée en secondes du premier segment.

idur2, idur3, etc. - durée en secondes des segments suivants.

ielements - nombre de composantes des vecteurs.

Exécution

Ces opcodes sont semblables à linseg et à expseg, mais ils opèrent avec des signaux vectoriels au lieu de signaux scalaires.

La sortie est un signal vectoriel de contrôle hébergé par ifnout (qui doit avoir été allouée au préalable), tandis que chaque point charnière de l'enveloppe est un vecteur de valeurs. Tous les points charnière doivent avoir le même nombre de composantes (ielements).

Tous ces opérateurs sont conçus pour être utilisés avec d'autres opcodes qui opèrent sur des signaux vectoriels tels que vcella, adsynt, adsynt2, etc.

Exemples

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

Exemple 1083. Exemple de l'opcode vlinseg.

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


Crédits

Ecrit par Gabriel Maldonado.

Exemple par Andres Cabrera.

Nouveau dans Csound 5 (Auparavant seulement disponible dans CsoundAV)