eqfil

eqfil — Filtre égaliseur.

Description

L'opcode eqfil est un filtre d'égalisation du second ordre accordable basé sur le modèle de Regalia et Mitra ("Tunable Digital Frequency Response Equalization Filters", IEEE Trans. on Ac., Sp. and Sig Proc., 35 (1), 1987). Il fournit un filtre à pics/creux pour construire des égaliseurs paramétriques/graphiques.

L'amplitude de la réponse du filtre sera plate (=1) pour kgain=1. Si kgain est supérieur à 1, il y aura un pic à la fréquence centrale dont la largeur est donnée par le paramètre kbw, et en-dehors de cette bande, la réponse tendra vers 1. Inversement, si kgain est inférieur à 1, il y aura un creux autour de la fréquence centrale.

Syntaxe

asig eqfil ain, kcf, kbw, kgain[, istor]

Initialisation

istor -- é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

asig -- signal de sortie filtré.

ain -- signal d'entrée.

kcf -- fréquence centrale du filtre.

kbw -- largeur de bande du pic/creux (Hz).

kgain -- gain du pic/creux.

Exemples

Voici un exemple de l'opcode eqfil. Il utilise le fichier eqfil.csd.

Exemple 269. Exemple de l'opcode eqfil.

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 eqfil.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1

kcf	= p4
kfe	expseg	10, p3*0.9, 1800, p3*0.1, 175
kenv	linen	.03, 0.05, p3, 0.05 ;low amplitude is needed to avoid clipping
asig	buzz	kenv, kfe, sr/(2*kfe), 1
afil	eqfil	asig, kcf, 200, 10
	outs	afil*20, afil*20

endin
</CsInstruments>
<CsScore>
; a sine wave.
f 1 0 16384 10 1

i 1 0 10 200	;filter centre freq=200
i 1 + 10 1500	;filter centre freq=1500
e
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Victor Lazzarini
Avril 2007

Nouveau dans la version 5.06