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

## pvsfilter

pvsfilter — Multiplie les amplitude d'un flot pvoc par celles d'un second flot pvoc, avec mise à l'échelle dynamique.

## Description

Multiplie les amplitude d'un flot pvoc par celles d'un second flot pvoc, avec mise à l'échelle dynamique.

## Syntaxe

    fsig pvsfilter fsigin, fsigfil, kdepth[, igain]

## Exécution

fsig -- flot pv de sortie

fsigin -- flot pv d'entrée

fsigfil -- flot pvoc filtrant

kdepth -- contrôle l'importance du filtrage de fsigin par fsigfil.

igain -- modification de l'amplitude (facultatif, 1 par défaut).

Ici les amplitudes du flot pvoc en entrée sont modifées par le flot filtrant sans changer les fréquences. Comme d'habitude, les deux signaux doivent avoir le même format.

| Avertissement
Il est dangereux d'utiliser la même variable-f à la fois comme entrée et comme sortie des opcodes pvs. Ceci peut produire un comportement indéfini de certains de ces opcodes. Utilisez une variable différente à gauche et à droite de l'opcode.

## Exemples

Exemple 813. Exemples

    kfreq  expon 500, p3, 4000           ; 3-octave sweep
    kdepth linseg 1, p3/2, 0.5, p3/2, 1  ; varying filter depth

    asig  in                             ; input
    afil  oscili  1, kfreq, 1            ; filter t-domain signal

    fim   pvsanal  asig,1024,256,1024,0  ; pvoc analysis
    fil   pvsanal  afil,1024,256,1024,0
    fou   pvsfilter fim, fil, kdepth     ; filter signal
    aout  pvsynth  fou                   ; pvoc synthesis

Dans l'exemple ci-dessus la courbe du filtre dépendra de l'enveloppe spectrale de afil ; dans le cas d'une simple sinusoïde, il sera équivalent à un filtre passe-bande à bande étroite.

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

Exemple 814. Exemple de l'opcode pvsfilter.

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
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 16
    nchnls = 1
    0dbfs = 1

    ;; example written by joachim heintz 2009

    giSine		ftgen		0, 0, 4096, 10, 1
    giBell		ftgen		0, 0, 4096, 9, .56, 1, 0, .57, .67, 0, .92, 1.8, 0, .93, 1.8, 0, 1.19, 2.67, 0, 1.7, 1.67, 0, 2, 1.46, 0, 2.74, 1.33, 0, 3, 1.33, 0, 3.76, 1, 0, 4.07, 1.33, 0; bell-like (after Risset)

    instr 1
    ipermut	=		p4; 1 = change order of soundfiles
    ifftsize	=		1024
    ioverlap	=		ifftsize / 4
    iwinsize	=		ifftsize
    iwinshape	=		1; von-Hann window
    Sfile1		=		"fox.wav"
    ain1		soundin	Sfile1
    kfreq		randomi	200, 300, 3
    ain2		oscili		.2, kfreq, giBell
    ;ain2		oscili		.2, kfreq, giSine; try also this
    fftin1		pvsanal	ain1, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file 1
    fftin2		pvsanal	ain2, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file 2
    if ipermut == 1 then
    fcross		pvsfilter	fftin2, fftin1, 1
    else
    fcross		pvsfilter	fftin1, fftin2, 1
    endif
    aout		pvsynth	fcross
    		out		aout * 20
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 2.757 0; frequencies from fox.wav, amplitudes multiplied by amplitudes of giBell
    i 1 3 2.757 1; frequencies from giBell, amplitudes multiplied by amplitudes of fox.wav
    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

pvsanal, pvsynth, pvsadsyn

## Crédits

Auteur : Victor Lazzarini
Novembre 2004

Nouveau greffon dans la version 5

Novembre 2004.

Précédent | Niveau supérieur | Suivant
pvsdisp | Sommaire | pvsfread