pareq

pareq — Implémentation des filtres égaliseurs paramétrique de Zoelzer.

Description

Implémentation des filtres égaliseurs paramétrique de Zoelzer, avec quelques modifications par l'auteur.

La formule du filtre low shelf est :


omega = 2*pi*f/sr
K     = tan(omega/2)

b0    = 1 + sqrt(2*V)*K + V*K^2
b1    = 2*(V*K^2 - 1)
b2    = 1 - sqrt(2*V)*K + V*K^2

a0    = 1 + K/Q + K^2
a1    = 2*(K^2 - 1)
a2    = 1 - K/Q + K^2

La formule du filtre high shelf est :


omega = 2*pi*f/sr
K     = tan((pi-omega)/2)

b0    = 1 + sqrt(2*V)*K + V*K^2
b1    = -2*(V*K^2 - 1)
b1    = 1 - sqrt(2*V)*K + V*K^2

a0    = 1 + K/Q + K^2
a1    = -2*(K^2 - 1)
a2    = 1 - K/Q + K^2

La formule du filtre peak est :


omega = 2*pi*f/sr
K     = tan(omega/2)

b0 =  1 + V*K/2 + K^2
b1 =  2*(K^2 - 1)
b2 =  1 - V*K/2 + K^2

a0 =  1 + K/Q + K^2
a1 =  2*(K^2 - 1)
a2 =  1 - K/Q + K^2

Syntaxe

ares pareq asig, kc, kv, kq [, imode] [, iskip]

Initialisation

imode (facultatif, 0 par défaut) -- mode opératoire

  • 0 = Peak

  • 1 = Low Shelf

  • 2 = High Shelf

iskip (facultatif, 0 par défaut) -- s'il est différent de zéro, l'initialisation du filtre est ignorée. (Nouveau dans les versions 4.23f13 et 5.0 de Csound)

Exécution

kc -- fréquence centrale dans le mode peak, fréquence de coupure dans le mode shelf.

kv -- importance du renforcement ou de l'atténuation. Une valeur inférieure à 1 produit une atténuation. Une valeur supérieure à 1 produit un renforcement. La valeur 1 donne une réponse plate.

kq -- Q du filter (racine carrée de 0.5 ne produit pas de résonance)

asig -- le signal entrant

Exemples

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

Exemple 659. Exemple de l'opcode pareq.

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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o pareq.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
kr  = 4410
ksmps = 10
nchnls = 2

instr 15
  ifc     =       p4                       ; Center / Shelf
  kq      =       p5                       ; Quality factor sqrt(.5) is no resonance
  kv      =       ampdb(p6)                ; Volume Boost/Cut
  imode   =       p7                       ; Mode 0=Peaking EQ, 1=Low Shelf, 2=High Shelf
  kfc     linseg  ifc*2, p3, ifc/2
  asig    rand    5000                     ; Random number source for testing
  aout    pareq   asig, kfc, kv, kq, imode ; Parmetric equalization
          outs    aout, aout               ; Output the results
endin


</CsInstruments>
<CsScore>

; SCORE:
  ;   Sta  Dur  Fcenter  Q        Boost/Cut(dB)  Mode
  i15 0    1    10000   .2          12             1
  i15 +    .    5000    .2          12             1
  i15 .    .    1000    .707       -12             2
  i15 .    .    5000    .1         -12             0
  e


</CsScore>
</CsoundSynthesizer>


Crédits

Hans Mikelson
Décembre 1998

Nouveau dans la version 3.50 de Csound.