lpsholdp

lpsholdp — Signaux de contrôle basés sur des segments tenus.

Description

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.

Syntaxe

ksig lpsholdp  kphase, ktrig, ktime0, kvalue0 [, kvalue1] [, ktime1] \
      [, kvalue2] [, ktime2] [...]

Exécution

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.

Exemples

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

Exemple 549. 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>


Crédits

Ecrit par Gabriel Maldonado.

Nouveau dans Csound 5. (Auparavant, disponible seulement dans CsoundAV)