an open-source digital signal processing and sound synthesis language
about · links · contact


poor-quality reverberator

    [note: There are much better approaches to reverberation and room-simultion. See in particular the instruments PLACE, FREEVERB and REV.]


    #include <ugens.h>

    float reverb(sample,array)
    float sample, *array;

    float rvbset(loopt,reverbtime,init,array)
    float loopt,reverbtime,*array;


reverb is a package of four combs and two allpass filters which attempts to create the effect of diffused, reverberated sound. This filter must first be initialized with a call to rvbset(). which intializes an array for use with a reverb() filter.

reverbtime is the length of time old samples take to decay 60 db.

init is a flag which, if FALSE, forces the loop to be filled with zeroes. Setting init to TRUE will cause the contents of the array loop to be unaltered.

array is the address of a floating point array which must be dimensioned to 1583 * SR + 18. This implementation consists of four comb and two allpass filters, and is the old MUSIC4 version. It leaves a lot to be desired.