reverb

reverb — Réverbère un signal d'entrée avec une réponse en fréquence « de lieu naturel ».

Description

Réverbère un signal d'entrée avec une réponse en fréquence « de lieu naturel ».

Syntaxe

ares reverb asig, krvt [, iskip]

Initialisation

iskip (facultatif, 0 par défaut) -- état initial de l'espace de données de la boucle de retard (cf. reson). La valeur par défaut est 0.

Exécution

krvt -- la durée de réverbération (définie comme le temps en secondes pris par un signal pour décroitre à 1/1000 ou 60 dB de son amplitude originale).

Une unité reverb standard est composée de quatre filtres en peigne comb en parallèle suivis de deux unités alpass en série. Les durées de boucle sont réglées pour une « réponse de lieu naturel » optimale. Les besoins en mémoire pour cette unité ne sont proportionnels qu'au taux d'échantillonnage, chaque unité ayant besoin d'approximativement 3K mots pour chaque 10 KC. Les unités comb, alpass, delay, tone et d'autres unités de Csound permettent d'expérimenter sur des conceptions alternatives de réverbération.

Comme la sortie de la reverb standard n'apparait qu'avec un retard d'environ 1/20 seconde, et souvent avec moins de trois-quarts de la puissance originale, il est normal d'envoyer en sortie à la fois la source et le signal réverbéré. Si krvt est fixé par inadvertance à un nombre non positif, il sera automatiquement réinitialisé à 0.01. (Nouveau dans la version 4.07 de Csound.) De plus, comme le son réverbéré persiste longtemps après l'arrêt de la source, il est normal de mettre reverb dans un instrument séparé auquel le son est transmis via une variable globale, et de laisser cet instrument actif durant toute l'exécution.

Exemples

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

Exemple 739. Exemple de l'opcode reverb.

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

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

ga1 init 0 

instr 1 

asig poscil .2, cpspch(p4), 1 
     outs asig, asig 

ga1 = ga1 + asig;add direct signal to global reverb
 
endin

instr 99	;(highest instr number executed last)

arev reverb ga1, 1.5
  outs arev, arev 
  
ga1 = 0		;clear
endin


</CsInstruments>
<CsScore>
f 1 0 128 10 1	;sine

i 1 0 0.1 7.00	;short sounds
i 1 1 0.1 8.02
i 1 2 0.1 8.04
i 1 3 0.1 8.06

i 99 0 6	;reverb runs for 6 seconds
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

alpass, comb, valpass, vcomb

Crédits

Auteur : William « Pete » Moss
Université du Texas à Austin
Austin, Texas USA
Janvier 2002