Treeverb:

A Digital Reverberator Modeled after the Scattering of Acoustic Waves

by the Trees in a Forest.


Mus 220C Spring 2008


Kyle Spratt

in collaboration with Jonathan S. Abel

Abstract

A digital reverberator modeled after the scattering of acoustic waves among trees in an idealized forest is presented. Termed "treeverb," two implementations are proposed, one generating a reverberant impulse response via the image method, and the other simulating wave propagation using a digital waveguide network. The waveguide method models the forest as a network of digital waveguides, with bi-directional delay lines connecting pairs of trees represented by multi-port scattering junctions. The reverberator is designed by selecting a set of tree locations and diameters, with the waveguide delay line lengths determined by the inter-tree distances, and the scattering filters fixed according to the tree-to-tree angles and trunk diameters. The scattering is modeled as that of plane waves normally incident on rigid cylinders, and a simple model involving the sum of delayed low-order filters is presented and shown to closely approximate the theoretical filtering. The second approach generates the system impulse response according to the image method. The listener hears virtual sources in the direction of each of the trees, arriving at times given by sums of multiples of the inter-tree propagation times. The impulse response energy and echo density profiles are determined by the tree arrangement, with small forests positioned between the sound source and listener giving gated reverb-like impulse responses.


Magnitude of Scattered plus Incident Wave, ka = 5.



Implementation


In order to realize this system, we will imagine it as an open acoustic space containing a finite number of 'ideal trees,' each having a definite spatial location. An 'ideal tree,' in this context, means a rigid (acoustically hard) circular cylinder, and we will only consider the case when all of the trees in the forest are in a parallel configuration. So each tree is specified by its spatial location (two dimensions will suffice, given the cylindrical symmetry of the system), as well as its diameter. In addition to the trees, which act to scatter the sound waves in this acoustic space, we also need a sound-source, a spatial location within the forest from which the input signal into our system will originate, as well as the location in the forest where we imagine our virtual 'listener' to be. If we assume that the input signal propagates from the source as a cylindrical wave, then we can exploit the cylindrical symmetry of the entire system by collapsing the whole problem onto a two-dimensional space.

Once the locations and diameters of all of the trees in the space are determined, as well as the locations of the sound-source and the listener, there are two methods for simulating the acoustics of the system. The first method traces out all possible paths that the sound takes from sound-source to listener, wherein the sound is scattered by a series of trees as it travels. Each of these paths is entirely determined by the specific sequence of trees that the sound encounters from source to listener. We define 'n-tree path' to mean a path from source to listener, along which n trees are encountered. For instance, there is only one 0-tree path, which is the direct path from source to listener, where no scattering occurs. There are as many 1-tree paths as there are trees in the forest, each one starting at the sound-source, being scattered by one of the trees, and then ending at the listener. For each path, there is a pure time delay associated with the total distance traveled along the path, a gain associated with the spreading loss that occurred along the path (also a function of total distance traveled), and filtering corresponding to the scattering that occurred at each of the trees encountered. The scattering filter is determined by the angle at which the sound was scattered, as well as the diameter of the tree.


Each n-tree path has its own specific impulse-response, characterized by the properties of the path listed above. The impulse-response for the entire system will be the sum of the impulse-responses for each of the n-tree paths. Since there are an infinite number of paths, for practical purposes we must limit the number of paths that we consider. In this respect it is helpful to notice that when considering the set of all n-tree paths, the energy contained in the corresponding impulse-responses will generally decrease as n increases. This is due to the fact that the average path length will increase as the number of trees encountered increases, and hence the spreading loss will be greater (not to mention the loss associated with the individual scatterings). As a result, we can consider only all n-tree paths up to some definite n (number of trees) and ignore the rest, and the system impulse-response will suffer little as long as we chose n to be large enough.

An alternative approach for implementing the system, which has the appeal of possible real-time execution, is a physical model of the entire forest using digital waveguides. In this model a digital waveguide, or bi-directional delay-line, is created for each pair of trees as well as for the sound-source and listener connected to all of the trees. The length of each waveguide is determined by the distance between the points that it is connecting in the forest. For each tree there is a scattering junction which connects each pair of waveguides connected to that tree, and filtering due to scattering is performed based on the angle made by the waveguide pair. While this design lends itself to a real-time implementation, the computational complexity of the system grows exponentially with the number of trees used in the forest, and hence the practicality of real-time execution dies exponentially.


Scattering Filter


An important aspect of the acoustics of our virtual forest is the scattering that occurs when the sound waves encounter the trees. We have modeled our trees as perfectly rigid cylinders of some definite diameter, and the symmetry of our system is such that the sound waves will always encounter the trees head-on. Hence, the scattering problem becomes that of plane waves normally incident on acoustically hard cylinders. This problem has an analytic solution in the form of a series expansion (see Morse, Vibration and Sound). To derive this solution, the incident plane wave is first described in terms of an infinite series of cylindrical harmonics. The resulting scattered wave is assumed to be a series of the same form, and the coefficients of the expansion are found by imposing the boundary condition of the problem, which in this case means forcing the particle velocity to be zero on the edge of the cylinder. This series was found to converge rather quickly, so there was minimal detrimental effect when truncating the series to a finite number of terms.

The existence of this solution gives us a method for computing the theoretical frequency response for the scattering of sound due to a single tree, given a particular scattering angle. In other words, imagining a sound wave hitting a single tree, then for a given spatial location we can plot the complex amplitude of the resulting scattered wave, as a function of the wavelength of the sound. While this method for computing the filtering due to scattering yields accurate results, it is computationally expensive, and for a practical implementation of our system, it would benefit us to find a digital filtering method which closely approximates this theoretical result, while dramatically decreasing the computational cost. We have approached this filter-design problem from two different angles.

The first approach was to build a filter which approximates the magnitude response of the scattering filter for a given angle using basic filtering building blocks. A reasonable fit was found using a pure time delay coupled with an all-pass filter, combined with low-pass and shelf-filter sections. The second approach is to model the theoretical impulse-response in the time domain, based on the minimum-phase impulse-response of the computed magnitude response. This approach was initially investigated given that the theoretical frequency-response appeared to be approximately linear-phase, so that for a practical implementation only the magnitude response need be considered. A minimum-phase implementation will result in the shortest possible impulse-response, which is desirable if we choose to use an FIR implementation of the scattering filter. Some magnitude-responses and their respective minimum-phase impulse-responses are shown below.






Theoretical Magnitude Responses and Minimum-Phase Impulse Responses

for various Scattering Angles.



Preliminary Results


We implemented the system for several forest configurations using a simplified scattering filter, based on the low and high frequency limits used in geometrical optics. In these limits, high frequency sound (where the wavelength is small compared to the diameter of the tree) is reflected back from the tree, while low frequency sound (large wavelength compared to tree-diameter) passes through the tree relatively unaffected. The filter that we used was a one-zero filter, with the location of the zero depending on the scattering angle. With this setup, sound reflected off the tree goes through a high-pass filter, while sound which passes through the tree goes through a low-pass filter. For intermediate scattering angles, the filter varies smoothly from a high-pass to a low-pass. The layout of the forest was generated by starting with the trees lying on a uniform rectangular grid, and then adding a two-dimensional uniform random 'drift' to the location of each tree. The random drift was added to avoid any resonances that would occur from having the trees spaced coherently.

Some of the resulting system impulse-responses are shown below. It is believed that the final impulse-responses, with the inclusion of a more physically accurate scattering filter, will closely resemble these responses in several ways, including the general amplitude envelope and the echo density profile. The main difference should be the time-varying spectral characteristics of the response, which come about from the location of the trees and the structure of the scattering filter.



Sound Examples:


Original Sound (no added reverberation).


Reverberated Sound, 16-tree forest with up to 5-scatterings.


Impulse Response, 16-tree forest with up to 5-scatterings.


Reverberated Sound, 25-tree forest with up to 5-scatterings.


Impulse Response, 25-tree forest with up to 5-scatterings.








Bibliography:


[1] J. Borish, “Electronic Simulation of Auditorium Acoustics,” Ph. D. Dissertation, Stanford University, 1984.


[2] Davide Rocchesso, Julius O. Smith, “Circulant and Elliptic Feedback Delay Networks for Artificial Reverberation,” IEEE Transactions on Speech and Audio, vol. 5, no. 1, pp. 51-60, Jan. 1996.


[3] Philip M. Morse, Vibration and Sound, McGraw-Hill Book Company, Inc. New York, N.Y. 1948.