resonxk

resonxk — Pile de filtres à résonance de signal de contrôle.

Description

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.

Syntaxe

kres resonxk ksig, kcf, kbw[, inumlayer, iscl, istor]

Initialisation

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.

Exécution

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.

Exemples

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>


Crédits

Ecrit par Gabriel Maldonado.

Nouveau dans Csound 5. (Disponible auparavant seulement dans CsoundAV).