Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Reverberation

reverb2, nreverb

  ar      reverb2    asig, ktime, khdif[, iskip]
  ar      nreverb    asig, ktime, khdif[, iskip][,inumCombs, ifnCombs][, inumAlpas, ifnAlpas]

Description

This is a reverberator consisting of 6 parallel comb-lowpass filters being fed into a series of 5 allpass filters. nreverb replaces reverb2 (version 3.48) and so both opcodes are identical.

Initialization

iskip – Skip initialization if present and non-zero

inumCombs – number of filter constants in comb filter. If omitted, the values default to the nreverb constants. New in Csound version 4.09.

ifnCombs – function table with inumCombs comb filter time values, followed the same number of gain values. The ftable should not be rescaled (use negative fgen number). Positive time values are in seconds. The time values are converted internally into number of samples, then set to the next greater prime number. If teh time is negative, it is interpreted directly as time in sample frames, and no processing is done (except negation). New in Csound version 4.09.

inumAlpas, ifnAlpas – same as inumCombs and ifnCombs, for allpass filter. New in Csound version 4.09.

Performance

The output of nreverb (and reverb2) is zeroed on the first perfomance pass. The input signal asig is reverberated for ktime seconds. The parameter khdif controls the high frequency diffusion amount. The values of khdif should be from 0 to 1. If khdif is set to 0 the all the frequencies decay with the same speed. If khdif is 1, high frequencies decay faster than lower ones. If ktime is inadvertently set to a non-positive number, ktime will be reset automatically to 0.01. (New in Csound version 4.07.)

As of Csound version 4.09, nreverb may read any number of comb and allpass filter from an ftable.

Examples

This results in a 2.5 sec reverb with faster high frequency attenuation:

  a1      oscil     10000, 100, 1
  a2      reverb2   a1, 2.5, .3
          out       a1 + a2 * .2

This illustrates the use of an ftable for filter constants:

;Orchestra:
          instr 1
  a1      soundin    "neopren.wav"
  a2      nreverb    a1, 1.5, .75, 0, 8, 71, 4, 72
          out        a1 + a2 * .4
          endin

;Score:
  ; freeverb time constants, as direct (negative) sample, with arbitrary gains
  f71 0 16   -2  -1116 -1188 -1277 -1356 -1422 -1491 -1557 -1617  0.8  0.79  0.78  0.77  0.76  0.75  0.74  0.73  
  f72 0 16   -2  -556 -441 -341 -225  0.7  0.72  0.74  0.76

i1   0     7
e

Authors

Paris Smaragdis (reverb2)
MIT, Cambridge
1995

Richard Karpen (nreverb)
Seattle, Wash
1998


Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Reverberation