samphold

samphold — Effectue une opération d'échantillonnage-bloquage sur son entrée.

Description

Effectue une opération d'échantillonnage-bloquage sur son entrée.

Syntaxe

ares samphold asig, agate [, ival] [, ivstor]
kres samphold ksig, kgate [, ival] [, ivstor]

Initialisation

ival, ivstor (facultatif) -- contrôle l'état initial de l'espace mémoire interne. Si ivstor vaut zéro la valeur interne « bloquée » est fixée à ival ; sinon elle retient sa valeur précédente. Les valeurs par défaut sont 0, 0 (c'est-à-dire initialisation à zéro).

Exécution

kgate, xgate -- Contrôle le blocage du signal.

samphold effectue une opération d'échantillonnage-blocage sur son entrée en fonction des valeurs de gate. Si gate != 0, les échantillons en entrée sont transmis en sortie ; si gate = 0, la dernière valeur de sortie est répétée. Le paramètre de contrôle gate peut être une constante, un signal de contrôle ou un signal audio.

Exemples

asrc  buzz      10000, 440, 20, 1     ; train de pulsations à bande limitée
adif  diff      asrc                  ; renforcement des aigus
anew  balance   adif, asrc            ; mais en conservant la puissance
agate reson     asrc, 0, 440          ; on utilise un filtrage passe-bas de l'original
asamp samphold  anew, agate           ; pour laisser passer le nouveau signal audio
aout  tone      asamp, 100            ; lissage des discontinuités

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

Exemple 926. Exemple de l'opcode samphold.

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 samphold.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

kx	line -1, p3, 1   	; between -1 and +1 
ktrig	metro 1	 		; triggers 1 time per second 
kval	samphold kx, ktrig	; change value whenever ktrig = 1 
        printk2 kval		; will print every time kval changes 
asig	diskin2	"flute.aiff", 1+kval, 0, 1
	outs asig, asig

endin 
</CsInstruments> 
<CsScore> 

i 1 0 11 
e
</CsScore> 
</CsoundSynthesizer> 


Voir aussi

diff, downsamp, integ, interp, upsamp