spf — Filtre de Steiner-Parker.
Spf est une implémentation numérique d'un filtre analogique linéaire de Steiner-Parker, qui est un filtre multimodal du second ordre avec trois entrées séparées pour le passe-bas, le passe-haut et le passe-bande et une sortie.
istor -- disposition initiale de l'espace de données interne. Comme ce filtre comprend une boucle de rétroaction de la sortie antérieure, l'état initial de l'espace de stockage utilisé est pris en compte. Une valeur nulle efface cet espace ; une valeur non nulle retient l'information antérieure. 0 par défaut.
alp, ahp, abp -- signaux passe-bas, passe-haut et passe-bande en entrée. On peut utiliser différents signaux en entrée ; si le même signal est placé sur les entrées passe-bas et passe-haut, le résultat est une sortie à réjection de bande pour ce signal. Si le même signal est utilisé sur toutes les entrées, cela produit un filtre passe-tout.
xcf -- fréquence de coupure du filtre (taux-a ou -k).
xR -- facteur d'atténuation du filtre, qui contrôle la crête (en passe-bande, R = 1/Q, où Q est le rapport entre la fréquence centrale et la largeur de bande). Une valeur de racine de 2 (approximativement 1.414) supprime la crête (réponse de Butterworth), et des valeurs inférieures donnent un filtre à crête et résonnant. Une valeur de 0 transforme le filtre en oscillateur sinusoïdal. Les valeurs admises sont comprise entre 0 et 2. A 2, le filtre a des pôles réels et est ainsi équivalent à deux filtres du premier ordre en série.
Voici un exemple de l'opode spf. Il utilise le fichier spf.csd.
Exemple 995. Exemple de l'opode spf.
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> -odac -d </CsOptions> <CsInstruments> 0dbfs = 1 // three different inputs instr 1 alp = diskin:a("fox.wav",1,0,1)/3 ahp rand p4/3 abp vco2 p4,100 af expon 100,p3,10000 a3 spf alp,ahp,abp,af,0.707 out a3 a1 = 0 endin // band-reject instr 2 a0 init 0 anoi rand p4 af expon 100,p3,10000 as spf anoi,anoi,a0,af,0.3 out as endin // self-oscillation instr 3 a0 init 0 anoi rand p4 af expon 100,p3,10000 as spf anoi,a0,a0,af,0 out as endin </CsInstruments> <CsScore> i1 0 10 0.2 i2 10 10 0.5 i3 20 10 0.004 </CsScore> </CsoundSynthesizer>