loopsegp — Signaux de contrôle basés sur des segments de droite.
Génère un signal de contrôle constitué de segments de droite délimités par deux ou plus points spécifiés. L'enveloppe entière peut être parcourue en boucle à une vitesse variable. Chaque coordonnée de segment peut aussi varier au taux-k.
ksig - signal de sortie.
kphase - point de la séquence lu, exprimé en fraction d'un cycle (de 0 à 1)
kvalue0 ...kvalueN - valeurs des points.
kdur0 ...kdurN-1 - durée des points exprimée en fractions d'un cycle.
L'opcode loopsegp est semblable à loopseg ; la seule différence étant que, à la place de la fréquence, une phase variable est utilisée. Si l'on utilise un phaseur pour obtenir la valeur de la phase, on aura un comportement identique à celui de loopseg, mais on peut obtenir des résultats intéressants avec des phases à l'évolution non linéaire, ce qui rend loopsegp plus puissant et plus général que loopseg.
Voici un exemple de l'opcode loopsegp. Il utilise le fichier loopsegp.csd.
Exemple 423. Exemple de l'opcode loopsegp.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o loopsegp.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr=44100 ksmps=1 nchnls=2 ; By Mark Van Peteghem 2008 instr 1 iphase = p4 kenv linen 1, 0.1, p3, 0.1 kph_amp phasor 2, 0 kamp loopsegp kph_amp, 60, 1, 30, 1, 60 kamp = ampdb(kamp)*kenv kph_freq phasor 2, iphase klow_freq line 200, p3, 100 kfreq loopsegp kph_freq, 400, 1, klow_freq, 1, 400 asig vco2 kamp, kfreq, 2, 0.5 outs asig, asig endin </CsInstruments> <CsScore> i1 0 3 0 i1 + . 0.50 </CsScore> </CsoundSynthesizer>