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 533. Exemple de l'opcode loopsegp.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o loopsegp.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ktrig metro 22/8 ; triggers used to generate new direction values kdir trandom ktrig,-2.99,2.99 kdir = 0.5*int(kdir) ; kdir will either -1, -0.5, 0, 0.5 or 1 ; kphase - looping pointer kphase phasor kdir ; a loop sequence of midi note numbers and durations knote loopsegp kphase, 40,1,40,0, 43,1,43,0, 49,2,48,0, \ 47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0 kmul rspline 0.1,0.8,0.5,5 ; modulation of buzz tone asig gbuzz 0.2, cpsmidinn(knote), 30, 3, kmul, 1 ; buzz tone outs asig, asig schedkwhen ktrig,0,0,2,0,0.1 ; play metronome endin instr 2 ; metronome acps expon 180+rnd(40),p3,50 aamp expon 0.05+rnd(0.05),p3,0.001 asig poscil aamp-0.001,acps,2 outs asig,asig endin </CsInstruments> <CsScore> ; cosine wave. f 1 0 16384 11 1 ; sine wave. f 2 0 16384 10 1 i 1 0 360 0.25 e </CsScore> </CsoundSynthesizer>