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

## 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 1121. 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

Précédent | Niveau supérieur | Suivant
turnon | Sommaire | unirand