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

## clfilt

clfilt — Implémente des filtres passe-bas et passe-haut de différents styles.

## Description

Implémente les types de filtres analogiques standard classiques : passe-bas et passe-haut. Ils sont implémentés avec les quatre sortes de filtre classiques : Butterworth, Tchebychev de type 1, Tchebychev de type 2 et elliptique. Le nombre de pôles peut être n'importe quel nombre pair compris entre 2 et 80.

## Syntaxe

    ares clfilt asig, kfreq, itype, inpol [, ikind] [, ipbr] [, isba] [, iskip]

## Initialisation

itype -- 0 pour passe-bas, 1 pour passe-haut.

inpol -- Le nombre de pôles du filtre. Ce doit être un nombre pair compris entre 2 et 80.

ikind (facultatif) -- 0 pour Butterworth, 1 pour Tchebychev de type 1, 2 pour Tchebychev de type 2, 3 pour elliptique. 0 par défaut (Butterworth).

ipbr (facultatif) -- Ondulation de la bande passante en dB. Doit être supérieure à 0. Elle est ignorée dans les filtres de Butterworth et de Tchebychev de type 2. La valeur par défaut est 1 dB.

isba (facultatif) -- Atténuation de la bande bloquée en dB. Doit être inférieure à 0. Elle est ignorée dans les filtres de Butterworth et de Tchebychev de type 1. La valeur par défaut est -60 dB.

iskip (facultatif) -- 0 initialise tous les états internes du filtre à 0. 1 ignore l'initialisation. La valeur par défaut est 0.

## Exécution

asig -- Le signal audio en entrée.

kfreq -- La fréquence de coupure du filtre passe-bas ou passe-haut.

## Exemples

Voici un exemple de l'opcode clfilt comme filtre passe-bas. Il utilise le fichier clfilt_lowpass.csd.

Exemple 127. Exemple de l'opcode clfilt comme filtre passe-bas.

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     ;;;RT audio out
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o clfilt_lowpass.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1	; white noise

    asig rand 0.5
    outs asig, asig

    endin

    instr 2	; filtered noise

    asig rand 0.9
    ; Lowpass filter signal asig with a
    ; 10-pole Butterworth at 500 Hz.
    a1 clfilt asig, 500, 0, 10
       outs a1, a1

    endin

    </CsInstruments>
    <CsScore>

    i 1 0 2
    i 2 2 2
    e

    </CsScore>
    </CsoundSynthesizer>

Voici un exemple de l'opcode clfilt comme filtre passe-haut. Il utilise le fichier clfilt_highpass.csd.

Exemple 128. Exemple de l'opcode clfilt comme filtre passe-haut.

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     ;;;RT audio out
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o clfilt_highpass.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1	; white noise

    asig rand 0.6
         outs asig, asig

    endin

    instr 2	;filtered noise

    asig rand 0.7
    ; Highpass filter signal asig with a 6-pole Chebyshev
    ; Type I at 20 Hz with 3 dB of passband ripple.
    a1 clfilt asig, 20, 1, 6, 1, 3
       outs a1, a1

    endin

    </CsInstruments>
    <CsScore>

    i 1 0 2
    i 2 2 2
    e

    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : Erik Spjut

Nouveau dans la version 4.20

Précédent | Niveau supérieur | Suivant
clear | Sommaire | clip