samphold — Effectue une opération d'échantillonnage-bloquage sur son entrée.
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).
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.
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>