lpsholdp — Signaux de contrôle basés sur des segments tenus.
Génère un signal de contrôle constitué de segments de droite tenus 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 lpsholdp kphase, ktrig, ktime0, kvalue0 [, kvalue1] [, ktime1] \
[, kvalue2] [, ktime2] [...]
ksig - signal de sortie.
kphase -
kvalue0...valueN - valeurs des points.
ktime0...ktimeN -- Durées entre les points ; exprimées en fraction d'une période (voir ci-dessous). La dernière durée indique une ligne entre la valeur finale et la première valeur.
L'opcode lpsholdp est semblable à lpshold ; 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 à lpshold, mais on peut obtenir des résultats intéressants avec des phases à l'évolution non linéaire, ce qui rend lpsholdp plus puissant et plus général que lpshold.
Voici un exemple de l'opcode lpsholdp. Il utilise le fichier lpsholdp.csd.
Exemple 559. Exemple de l'opcode lpsholdp.
Voir les sections Audio en temps réel et Options de la ligne de commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ; For Non-realtime ouput leave only the line below: ; -o lpsholdp.wav -W ;;; for file output any platform ; by Stefano Cucchi 2020 </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kphase1 phasor 3 kmodulation oscil 0.5, 0.01, 2 kphase2 phasor 3+kmodulation kamp linseg 0, 0.2, 1, p3-0.4, 1, 0.2, 0 kfreq1 lpsholdp kphase1, cpspch(p4), 6, cpspch(p5), 10, cpspch(p6), 12 kfreq2 lpsholdp kphase2, cpspch(p4), 6, cpspch(p5), 10, cpspch(p6), 12 a1 = poscil(kamp, kfreq1, 1) a2 = poscil(kamp, kfreq2, 1) outch 1, a1 outch 2, a2 endin </CsInstruments> <CsScore> f1 0 8192 10 1 0 1 0 1 0 1 0 1 0 1 f2 0 4096 10 1 0 1 1 1 i1 0 10 6.09 6.02 7.03 e </CsScore> </CsoundSynthesizer>