vlinseg — Générateur d'enveloppe vectoriel.
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.
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.
Voici un exemple de l'opcode vlinseg. Il utilise le fichier vlinseg.csd.
Exemple 1185. 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>