nlfilt — Un filtre avec un effet non-linéaire.
Implémente le filtre :
Y{n} =a Y{n-1} + b Y{n-2} + d Y^2{n-L} + X{n} - C
décrit dans Dobson et Fitch (ICMC'96)
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.
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.
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
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. |
Voici un exemple de l'opcode nlfilt. Il utilise le fichier nlfilt.csd.
Exemple 655. Exemple de l'opcode nlfilt.
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 nlfilt asig, ka, kb, kd, kC, kL asig clip afilt, 2, .9 outs asig, asig endin </CsInstruments> <CsScore> i 1 0 2 ; unfiltersd ; 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=paas 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>