clear — Met à zéro une liste de signaux audio.
avar1, avar2, avar3, ... -- signaux à mettre à zéro.
avar[], ... -- tableau de signaux à mettre à zéro.
kvar[], ... -- tableau de valeurs-k à mettre à zéro.
Note | |
---|---|
Avant la version 6.13 cet opcode n'était pas compatible avec les opérations multi-coeurs s'il était utilisé avec une variable globale. |
clear met à zéro chaque échantillon de chacun des signaux audio donnés lors de son exécution. C'est comme si l'on écrivait avarN = 0 dans l'orchestre pour chaque variable spécifiée. Typiquement, clear est utilisé avec des variables globales qui combinent plusieurs signaux venant de sources différentes et qui sont changées à chaque passe au taux-k (boucle d'exécution) par toutes les instances d'instrument actives. Après la dernière utilisation d'une de ces variables et avant la passe de taux-k suivante, il faut l'effacer afin qu'elle n'ajoute pas les signaux du cycle suivant au précédent résultat. clear est particulièrement utile en combinaison avec vincr (incrément de variable) lors de leur utilisation conjointe avec des opcodes de sortie dans un fichier comme fout.
Voici un exemple de l'opcode clear. Il utilise le fichier clear.csd.
Exemple 143. Exemple de l'opcode clear.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o clear.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 gaReverb init 0 instr 1 idur = p3 kpitch = p4 a1 diskin2 "fox.wav", kpitch a1 = a1*.5 ;reduce volume vincr gaReverb, a1 endin instr 99 ; global reverb al, ar reverbsc gaReverb, gaReverb, .8, 10000 outs gaReverb+al, gaReverb+ar clear gaReverb endin </CsInstruments> <CsScore> i1 0 3 1 i99 0 5 e </CsScore> </CsoundSynthesizer>
Voir l'opcode fout pour autre exemple.