lpshold

lpshold — Génère un signal de contrôle constitué de segments tenus.

Description

Génère un signal de contrôle constitué de segments tenus délimités par deux ou plus points spécifiés. L'enveloppe entière est parcourue en boucle au taux kfreq. Chaque paramètre peut varier au taux-k.

Syntaxe

ksig lpshold kfreq, ktrig, iphase, ktime0, kvalue0  [, ktime1] [, kvalue1] [, ktime2] [, kvalue2] [...]

Exécution

ksig -- Signal de sortie.

kfreq -- Taux de répétition en Hz ou en fraction de Hz.

ktrig -- S'il est non nul, redéclanche l'enveloppe depuis le début (voir l'opcode trigger), avant que le cycle de l'enveloppe ne soit complet.

iphase -- Une valeur comprise entre 0 et 1 pour indiquer où commence la boucle. Zéro, la valeur la plus usuelle, indique le début du signal.

ktime0...ktimeN -- Dates des points ; exprimées en fraction de cycle.

kvalue0...kvalueN -- Valeurs des points.

lpshold est semblable à loopseg, mais il ne peut générer que des segments horizontaux, car il maintient une valeur constante pendant chaque intervalle de temps placé entre ktimeN et ktimeN+1. Il est utile, entre autres, pour un contrôle mélodique comme celui des vieux séquenceurs analogiques.

Exemples

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

Exemple 446. Exemple de l'opcode lpshold.

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
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o lpshold.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kfrq line 15, p3, .1
klp  lpshold kfrq, 0, 0, p3*0.25, 220, p3*0.5, 440, p3*0.25, 0
asig oscili .6, 440+klp, 1
     outs asig, asig

endin
</CsInstruments>
<CsScore>
; sine wave.
f 1 0 16384 10 1

i 1 0 10

e
</CsScore>
</CsoundSynthesizer>


Voir aussi

loopseg

Crédits

Auteur : Gabriel Maldonado

Nouveau dans la Version 4.13