Automatic FDN Reverb Design Using the Genetic Algorithm

I wrote my master’s thesis at the University of Miami on the subject of perceptual revverberator tuning. Here’s the abstract:

The parameters controlling feedback delay network (FDN) reverberators have historically been tuned through laborious trial and error, so an automated process is of interest. In this work, a system is designed to perceptually match the reverberation of a monaural target room impulse response (IR) using a 16-channel FDN reverberator structure. The early reflections portion of the target IR is kept to capture the onset character of the room, and a Hadamard matrix is used in the feedback path. The genetic algorithm (GA) is used to iteratively design the delay line lengths as well as the input and output scaling factors. IIR filters are designed at each iteration in order to achieve the target reverberation time curve, T_{60}(f), and a novel approach is used to design an FIR filter to match the tonal character of the target room. The time domain envelope of the target IR is compared to that for the FDN output at each step, and the maximum absolute difference is used as the error value for the GA. Other fitness criteria are also investigated. The algorithm is used to match three IRs covering a range of reverberation times. ABC/HR listening tests performed show that the target IR and FDN approximation can be difficult to distinguish when mixed at typical wet/dry levels for music production. This perceptual reverb compression can approximate a room sound in about 1-5\% of the memory of the target IR, as well as allow for significant CPU cycle savings over convolution reverb in low latency environments. Using the algorithm developed, all parameters for an FDN reverberator can be determined automatically in order to match a target sound so that time consuming hand-tuning is not needed.

Still interested? Download it below.

Click here to download my thesis

 Watch the clip below to see the genetic algorithm in action as it finds the best impulse response to match the target. The clip is 45 minutes of processing condensed to 13 seconds.