reverbsc

reverbsc — Réverbération FDN stéréo à 8 lignes à retard, basée sur un travail de Sean Costello.

Description

Réverbération FDN (Feedback Delay Network) stéréo à 8 lignes à retard, avec matrice de rétroaction, basée sur un modèle physique de jonctions dissipatives de 8 guides d'onde sans perte d'impédance caractéristique égale. Basée sur la version orchestre de Csound de Sean Costello.

Syntaxe

aoutL, aoutR reverbsc ainL, ainR, kfblvl, kfco[, israte[, ipitchm[, iskip]]] 

Initialisation

israte (facultatif, taux d'échantillonnage de l'orchestre par défaut) -- on suppose un taux d'échantillonnage de israte. Il est habituellement fixé à sr, mais un réglage différent peut être utile pour des effets spéciaux.

ipitchm (facultatif, 1 par défaut) -- amplitude des variations aléatoires ajoutées aux retards, comprise entre 0 et 10. La valeur par défaut est 1, mais elle peut être trop importante et nécessiter une réduction pour les hauteurs tenues telles que les notes de piano.

iskip (facultatif, 0 par défaut) -- s'il est différent de zéro, l'initialisation de l'opcode est ignorée, si c'est possible.

Exécution

aoutL, aoutR -- signaux de sortie pour les canaux gauche et droite.

ainL, ainR -- canaux d'entrée gauche et droite. Noter que même si l'on n'a un signal d'entrée que sur un des deux canaux, on aura quand même une sortie réverbérée sur deux canaux, ce qui rend cette unité plus adaptée à la réverbération d'une entrée stéréo que l'opcode freeverb.

kfblvl -- niveau de rétroaction, compris entre 0 et 1. 0.6 donne un bon son de petit lieu "vivant", 0.8 un petit hall et 0.9 un grand hall. 1 signifie une longueur infinie, tandis que les valeurs supérieures rendront l'opcode instable.

kfco -- fréquence de coupure des filtres passe-bas du premier ordre dans la boucle de rétroaction des lignes à retard, en Hz. Doit être comprise entre 0 et israte/2 (pas sr/2). Moins la valeur est importante et plus la décroissance des hautes fréquences est rapide.

Exemples

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

Exemple 740. Un exemple de l'opcode reverbsc.

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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o reverbsc.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr      =  48000
ksmps   =  32
nchnls  =  2
0dbfs   =  1

        instr 1
a1      vco2 0.85, 440, 10
kfrq    port 100, 0.004, 20000
a1      butterlp a1, kfrq
a2      linseg 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0
a1      =  a1 * a2
a2      =  a1 * p5
a1      =  a1 * p4
        denorm a1, a2
aL, aR  reverbsc a1, a2, 0.85, 12000, sr, 0.5, 1
        outs a1 + aL, a2 + aR
        endin

</CsInstruments>
<CsScore>
i 1 0 1 0.71 0.71
i 1 1 1 0 1
i 1 2 1 -0.71 0.71
i 1 3 1 1 0
i 1 4 4 0.71 0.71
e 
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Istvan Varga
2005