lpf18

lpf18 — Un filtre passe-bas résonant glissant à 3 pôles.

Description

Implémentation d'un filtre passe-bas résonant glissant à 3 pôles.

Syntaxe

ares lpf18 asig, xfco, xres, xdist [, iskip]

Initialisation

iskip (facultatif, à par défaut) -- S'il est présent et différent de zéro, l'initialisation est ignorée.

Exécution

xfco -- fréquence de coupure du filtre en Hz. Doit être comprise entre 0 et sr/2.

xres -- quantité de résonance. Il y a des auto-oscillations lorsque kres est proche de 1. Doit être habituellement compris entre 0 et 1, mais des valeurs légèrement supérieures à 1 sont possibles pour obtenir des oscillations plus soutenues et un effet de « saturation ».

xdist -- quantité de distortion. kdist = 0 donne une sortie propre. kdist > 0 ajoute une distorsion de type tanh() contrôlée par les paramètres du filtre, de façon à ce qu'une faible fréquence de coupure et qu'une résonance importante augmentent le taux de distorsion. Il est conseillé d'expérimenter.

lpf18 est une simulation numérique d'un filtre passe-bas à 3 pôles (18 dB/oct) capable d'auto-oscillations avec une unité de distorsion intégrée. C'est vraiment une version 3 pôles de moogvcf, révisée, recalibrée et comportant quelques améliorations. Les tables de réglage et de rétroaction n'utilisent pas plus de 6 additions et 6 multiplications par cycle de contrôle. L'unité de distorsion est basée sur une fonction tanh modifiée, pilotée par les contôles du filtre.

[Note] Note

Avant la version 6.04, ce filtre nécessitait un signal d'entrée normalisé à un.

Exemples

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

Exemple 547. Exemple de l'opcode lpf18.

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
-odac             ;;;RT audio out
; For Non-realtime ouput leave only the line below:
;-o lpf18.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; by Kevin Conder with help from Iain Duncan

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

instr 1
  
kamp init 1                         ; Note that its amplitude (kamp) ranges from 0 to 1.
kcps init 440
knh init 3
ifn = 1
asine buzz kamp, kcps, knh, ifn     ; Generate a sine waveform.
kfco line 300, p3, 3000             ; Filter the sine waveform.
kres init 0.8                       ; Vary the cutoff frequency (kfco) from 300 to 3,000 Hz.
kdist = p4
ivol = p5
aout lpf18 asine, kfco, kres, kdist
outs aout * ivol, aout * ivol

endin

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

; different distortion and volumes to compensate
i 1 0 4     0.2         .8
i 1 4.5 4   0.9         .7
e
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Josep M Comajuncosas
Espagne
Décembre 2000

Nouveau dans la version 4.10 de Csound.

Paramètres de taux audio introduits dans la version 6.02

Octobre 2013.