nlfilt2
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## nlfilt2

nlfilt2 — Un filtre avec effet non-linéaire et protection contre l'explosion.

## Description

Implémente le filtre :

Y{n} =tanh(a Y{n-1} + b Y{n-2} + d Y^2{n-L} + X{n} - C)

décrit dans Dobson et Fitch (ICMC'96) et selon les modifications de Risto Holopainen.

## Syntaxe

    ares nlfilt2 ain, ka, kb, kd, kC, kL

## Exécution

1. Effet non-linéaire. L'ensemble de définition des paramètres est :

   a = b = 0
   d = 0.8, 0.9, 0.7
   C = 0.4, 0.5, 0.6
   L = 20

   Cela affecte surtout le registre grave mais il y a des effets audibles sur tout le registre. Peut être utile pour colorer des sons de percussion et pour renforcer arbitrairement des notes.

2. Passe-bas non-linéaire.L'ensemble de définition des paramètres est :

   a = 0.4
   b = 0.2
   d = 0.7
   C = 0.11
   L = 20, ... 200

   Cette variante présente des problèmes d'instabilité mais l'effet est plus prononcé dans le registre grave, sinon elle ressemble beaucoup à un filtre en peigne. De courtes valeurs de L peuvent renforcer l'attaque du son.

3. Passe-haut non-linéaire. L'ensemble de définition des paramètres est :

   a = 0.35
   b = -0.3
   d = 0.95
   C = 0,2, ... 0.4
   L = 200

4. Passe-haut non-linéaire. L'ensemble de définition des paramètres est :

   a = 0.7
   b = -0.2, ... 0.5
   d = 0.9
   C = 0.12, ... 0.24
   L = 500, 10

   La version passe-haut est moins sujette aux oscillations. Elle ajoute de la brillance dans le registre medium-aigu. Avec un long délai L cela ressemble un peu à de la réverbération, tandis qu'avec de petites valeurs apparaissent des régions comme des formants. Il y a des changements de couleur arbitraires et des résonances lorsque la hauteur change. Fonctionne bien avec des notes seules.

| Avertissement
Les ensembles des valeurs "utiles" des paramètres n'ont pas encore été explorés.

## Exemples

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

Exemple 564. Exemple de l'opcode nlfilt2.

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

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

    instr 1	;unfiltered noise

    asig rand .7
         outs asig, asig

    endin

    instr 2	;filtered noise

    ka = p4
    kb = p5
    kd = p6
    kC = p7
    kL = p8
    asig  rand .3
    afilt nlfilt2 asig, ka, kb, kd, kC, kL
          outs    afilt, afilt
    endin
    </CsInstruments>
    <CsScore>

    i 1 0 2				; unfiltered

    ;        a    b    d    C    L
    i 2 2 2  0    0   0.8  0.5  20	; non-linear effect
    i 2 + 2 .4   0.2  0.7  0.11 200	; low=pass with non-linear
    i 2 + 2 0.35 -0.3 0.95 0.1  200	; high-pass with non-linear
    i 2 + 2 0.7 -0.2  0.9  0.2  20 	; high-pass with non-linear

    e
    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : John ffitch
Université de Bath/Codemist Ltd.
Bath, UK
2012

Nouveau dans la version 5.19

Précédent | Niveau supérieur | Suivant
nlfilt | Sommaire | noise