resonxk — Pile de filtres à résonance de signal de contrôle.
resonxk est équivalent à un groupe de filtres resonk, avec les mêmes arguments, connectés en série. Plus le nombre de filtres est grand et plus raide est la coupure.
inumlayer - nombre d'éléments de la pile de filtres. La valeur par défaut est 4. La valeur maximale est 10.
iscl (facultatif, 0 par défaut) -- facteur de pondération codé pour les résonateurs. Une valeur de 1 signifie que la crête du facteur de réponse est 1, c-à-d. toutes les fréquences autres que kcf sont atténuées selon la courbe de réponse (normalisée). Une valeur de 2 élève le facteur de réponse de façon à ce que sa valeur efficace globale soit égale à 1. (Cette égalisation intentionnelle des puissances d'entrée et de sortie suppose que toutes les fréquences sont présentes ; elle est ainsi plus appropriée au bruit blanc.) Une valeur de 0 signifie aucune pondération du signal, laissant cette tâche à un ajustement ultérieur (voir balance). La valeur par défaut est 0.
istor (optional, default=0) -- (facultatif, 0 par défaut) -- état initial de l'espace de données interne. Comme le filtrage comprend une boucle de rétroaction sur la sortie précédente, l'état initial de l'espace de stockage utilisé est significatif. Une valeur nulle provoquera l'effacement de cet espace ; une valeur non nulle autorisera la persistance de l'information précédente. La valeur par défaut est 0.
kres - signal de sortie.
ksig - signal d'entrée.
kcf - la fréquence centrale du filtre, ou position fréquentielle du pic de la réponse.
kbw - largeur de bande du filtre (la différence en Hz entre les points haut et bas à mi-puissance).
resonxk est bien plus rapide que l'utilisation d'instances individuelles de l'ancien opcode dans un orchestre de Csound, parce que ne sont nécessaires qu'une seule initialisation et qu'un cycle k à la fois, et que la boucle audio est entièrement contenue dans la mémoire cache du processeur.
Voici un exemple de l'opcode resonxk. Il utilise le fichier resonxk.csd.
Exemple 901. Exemple de l'opcode resonxk.
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 resonxk.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 gisin ftgen 0, 0, 2^10, 10, 1 instr 1 ksig randomh 400, 1800, 150 aout poscil .2, 1000+ksig, gisin outs aout, aout endin instr 2 ksig randomh 400, 1800, 150 kcf line 1, p3, 1000 ;vary high-pass ilay = p4 ksig resonxk ksig, kcf, 100, ilay aout poscil .2, 1000+ksig, gisin asig interp ksig ;convert k-rate to a-rate aout balance asig, aout ;avoid getting asig out of range outs aout, aout endin </CsInstruments> <CsScore> i 1 0 5 i 2 6 5 1 ;number of filter stack = 1 i 2 12 5 5 ;number of filter stack = 5 e </CsScore> </CsoundSynthesizer>