tvconv

tvconv — Un opcode de convolution dynamique (filtre RIF).

Description

Un opcode prenant deux signaux en entrée et interprétant l'un deux comme les coefficients à variation temporelle linéaire d'un filtre à réponse impulsionnelle finie. Réalisé via une convolution directe (pour des tailles de partition d'un échantillon) ou par une convolution partitionnée basée sur la TFD. Les signaux peuvent être "gelés" (les coefficients du filtre sont maintenus constants) à n'importe quel moment, au taux-a ou au taux-k.

Syntaxe

ares tvconv asig1, asig2, xfreez1,
    xfreez2, iparts, ifils

Initialisation

iparts -- taille de partition, pour des tailles > 1, une convolution partitionnée basée sur la TFD est utilisée. Sinon une ligne à retard à RIF est réalisée dans le domaine temporel. Les tailles de partition > 1 sont arrondies à la puissance de deux la plus proche.

ifils -- taille du filtre. Pour des tailles de partition > 1, la taille du filtre est arrondie à la puissance de deux la plus proche. Lorsque le taille de partition vaut 1, comme une convolution directe est utilisée, les filtres peuvent avoir n'importe quelle taille.

Exécution

ares -- sortie audio.

asig1, asig2 -- entrées audio.

xfreez1 -- indicateur de gel de asig1. Les coefficients ne sont mis à jour (le signal passe dans la convolution) que si xfreez1 > 0. Cette entrée peut prendre un signal audio ou de taux-k, ou une constante.

xfreez2 -- indicateur de gel de asig2. Fonctionne comme xfreez1.

Exemples

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

Exemple 1133. Exemple de l'opcode tvconv.

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 = 32
nchnls = 2
0dbfs = 1

instr 1

 asig diskin "fox.wav",1,0,1
 air diskin "beats.wav",1,0,1
 air buthp air/0dbfs,1000
 k1 linseg 0,p3/3,0,0,1,2*p3/3,1
 a1 oscili k1, 0.5, 1
 a2 oscili k1, 0.6, 1
 asig tvconv asig,air,1-a2,1-a1,256,1024
 asig clip asig,1,0dbfs
 outs asig, asig
   
endin

</CsInstruments>
<CsScore>
f1 0 1024 7 0 512 0 1 1 511 1
i1 0 30
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

pconvolve, convolve, ftconv

Crédits

Auteur : Victor Lazzarini
2017

Nouveau dans la version 6.09