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

## spf

spf — Filtre de Steiner-Parker.

## Description

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.

## Syntaxe

    asig spf alp, ahp, abp, xcf, xR[, istor]

## Initialisation

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.

## Exécution

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.

## Exemples

Voici un exemple de l'opode spf. Il utilise le fichier spf.csd.

Exemple 985. 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>

## Crédits

Auteur : Victor Lazzarini
Février 2021

Précédent | Niveau supérieur | Suivant
spdist | Sommaire | splitrig