resonx — Emule une série de filtres utilisant l'opcode reson.
resonx est équivalent à un filtre constitué de plusieurs couches de filtres reson avec les mêmes arguments, connectés en série. L'utilisation d'une série d'un nombre important de filtres permet une pente de coupure plus raide. Ils sont plus rapides que l'équivalent obtenu à partir du même nombre d'instances d'opcodes classiques dans un orchestre Csound, car il n'y aura qu'un cycle d'initialisation et une seule passe de k cycles de contrôle à la fois et la boucle audio sera entièrement contenue dans la mémoire cache du processeur.
inumlayer (optional) -- (facultatif) -- nombre d'éléments dans la série de filtre. La valeur par défaut est 4.
iscl (facultatif, par défaut 0) -- 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.
iskip (facultatif, par défaut 0) -- é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.
asig -- signal d'entrée
xcf -- la fréquence centrale du filtre, ou position fréquentielle de la crête de la réponse.
xbw -- largeur de bande du filtre (la différence en Hz entre les points haut et bas à mi-puissance).
Voici un exemple de l'opcode resonx. Il utilise le fichier resonx.csd.
Exemple 900. Exemple de l'opcode resonx.
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 resonx.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; unfiltered noise kenv linseg 0, p3*.5, 1, p3*.5, 0 ;envelope asig rand 0.7 ;white noise outs asig*kenv, asig*kenv endin instr 2 ; filtered noise kenv linseg 0, p3*.5, 1, p3*.5, 0 ;envelope asig rand 0.7 kcf line 300, p3, 2000 afilt resonx asig, kcf, 300, 4 asig balance afilt, asig outs asig*kenv, asig*kenv endin </CsInstruments> <CsScore> i 1 0 2 i 2 3 2 e </CsScore> </CsoundSynthesizer>