trfilter

trfilter — Filtrage d'un flot de suivi de partiels.

Description

L'opcode trfilter prend en entrée un flot de signal TRACKS pv (tel que généré, par exemple, par partials) et le filtre en utilisant la courbe de réponse des amplitudes stockée dans une table de fonction. La table de fonction peut avoir n'importe quelle taille (aucune restriction aux puissances de deux). La table est consultée avec interpolation linéaire. Il est possible de créer des courbes de filtrage variant dans le temps en mettant à jour la table de la réponse des amplitudes avec un opcode d'écriture de table.

Syntaxe

fsig trfilter fin, kamnt, ifn

Exécution

fsig -- flot pv de sortie au format TRACKS.

fin -- flot pv d'entrée au format TRACKS.

kamnt -- importance du filtrage (entre 0 et 1)

ifn -- numéro de la table de fonction. Celle-ci contient une courbe de réponse des amplitudes, de 0 Hz à la fréquence de Nyquist (table indéxée entre 0 et N). Toutes les tailles sont permises. Plus la table est grande et plus la courbe de réponse est lisse. La consultation de la table se fait avec interpolation linéaire.

Exemples

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

Exemple 1020. Exemple de l'opcode trfilter.

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 trfilter.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

gifn ftgen 2, 0, -22050, 5, 1, 1000, 1, 4000, 0.000001, 17050, 0.000001 ; low-pass filter curve of 22050 points	

instr 1

kam  line 1, p3, p4
ain  diskin2 "beats.wav", 1, 0, 1
fs1,fsi2 pvsifd	ain, 2048, 512, 1		; ifd analysis
fst  partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
fscl trfilter fst, kam, gifn			; filtering using function table 2
aout tradsyn fscl, 1, 1, 500, 1			; resynthesis 
     outs aout, aout

endin
</CsInstruments>
<CsScore>
f1 0 8192 10 1

i 1 0 4 1
i 1 5 4 0	;reduce filter effect
e
</CsScore>
</CsoundSynthesizer>


L'exemple ci-dessus montre le suivi de partiels d'un signal d'analyse par distribution de fréquence instantanée et la resynthèse additive linéaire avec filtrage passe-bas.

Crédits

Auteur : Victor Lazzarini
Février 2006

Nouveau dans Csound 5.01