Reverberation is one of the most signifigant and natural sound effects to be encountered. The phenomenon can be noticed particularly in closed rooms, that is why it is important to take into consideration the acoustic characteristics from the reverberation point of view when designing for example a theatre or a concert hall. Due to the effect a sufficient amount of sound energy gets to the audience's ears even in larger rooms.
Often an acoustically optional room is not available during sound recording sessions, so the need to produce an artificial reverberator comes up. Today there are many solutions available for both hardware and software realizations. I am focusing on the software methods in my thesis.
As we will see later from the impulse response of reverberation, there are two things that needs to be considered when designing a reverberator: the early echoes and the late reverberation. The final result comes up as the sum of these two effects. It will be seen how the parameters of the reverberation can be determined from the acoustic characteristics of a room. I am going to introduce the delay line based models of the early echoes and the late reverberation separately, from the simplest signal flow network to the Feedback Delay Network constructions.
I am giving a detailed description of the software reverberator I have implemented: which method I chose and why. This includes also the loss filters that affect the attributes of the late reverberation. These filters determine the reverberation decay time and the cutoff frequency. These two values can be modified by setting the filter parameters.
Using multi-channel sound systems is very common today (5.1, 7.1, etc.), so it is a requirement the direction of the early reflections can be correctly percieved and also to provide outputs that are uncorrelated on the speakers as much as possible.
I have implemented the program which models the sound effect using the VST SDK developed by Steinberg GmbH., after compiling a plug-in file is generated. The effect can be used by any host program that supports multi-channel outputs and the VST standard.