freeverb

freeverb — Version opcode de Freeverb de Jezar.

Description

freeverb est une unité de réverbération stéréo basée sur les sources C++ de Jezar du domaine public, composée de huit filtres en peigne en parallèle sur les deux canaux, suivis de quatre unités passe-tout en série. Les filtres du canal de droite sont légèrement déréglés par rapport à ceux du canal de gauche afin de créer un effet stéréo.

Syntaxe

aoutL, aoutR freeverb ainL, ainR, kRoomSize, kHFDamp[, iSRate[, iSkip]] 

Initialisation

iSRate (facultatif, 44100 par défaut) -- ajuste les paramètres de réverbération pour une utilisation avec le taux d'échantillonnage spécifié (cela affecte la longueur en échantillons des lignes à retard et l'atténuation des hautes fréquences). Seuls des multiples entiers de 44100 reproduiront exactement le caractère original de la réverbération ; il peut ainsi être utile de fixer ce paramètre à 44100 ou à 88200 pour un taux d'échantillonnage de l'orchestre de 48000 ou de 96000 Hz, respectivement. Bien que iSRate soit normalement supposé être proche du taux d'échantillonnage de l'orchestre, des valeurs différentes peuvent servir à des effets spéciaux.

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

Exécution

ainL, ainR -- signaux d'entrée ; habituellement, les deux sont identiques, mais on peut utiliser des entrées différentes pour des effets spéciaux.

[Note] Note

Il est recommendé de traiter les signaux d'entrée avec l'opcode denorm afin d'éviter les nombres dénormalisés qui pourraient augmenter la charge CPU de manière significative dans certains cas.

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

kRoomSize (compris entre 0 et 1) -- contrôle la longueur de la réverbération, une valeur plus importante signifiant une réverbération plus longue. Les valeurs supérieures à 1 peuvent rendre l'opcode instable.

kHFDamp (compris entre 0 et 1) -- atténuation des hautes fréquences ; une valeur de zéro signifie que toutes les fréquences décroissent à la même vitesse, tandis que des valeurs supérieures donnent une décroissance plus rapide des hautes fréquences.

Exemples

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

Exemple 314. Un exemple de l'opcode freeverb.

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 freeverb.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr      =  44100
ksmps   =  32
nchnls  =  2
0dbfs   =  1

        instr 1
a1      vco2 0.75, 440, 10
kfrq    port 100, 0.008, 20000
a1      butterlp a1, kfrq
a2      linseg 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0
a1      =  a1 * a2
        denorm a1
aL, aR  freeverb a1, a1, 0.9, 0.35, sr, 0
        outs a1 + aL, a1 + aR
        endin

</CsInstruments>
<CsScore>
i 1 0 5
e

</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Istvan Varga
2005