So far we have been dealing only with finding the specular reflection paths. They give good basis for further analysis, but as such they don't serve any purpose but need further processing. In this section we show how an impulse response can be constructed and how it can be used for auralization.

The natural first attempt is to insert an impulse for each specular reflection path at the appropriate time event. However, this would neglect a basic phenomenon in sound propagation. When a spherical wavefront propagates in the free field, the energy gets spread to a larger and larger area. Due to the conservation of energy, the observed energy at a given listener location must be inversely proportional to the square of the propagation distance since the surface area of a sphere grows in proportion to $r^2$ where $r$ is the radius of the sphere. Remembering that the sound energy is the square of the sound pressure, this means that the sound pressure of a spherical wavefront is proportional to $1/r$. The next step to make the impulse response more realistic is to add this $1/r$ attenuation. You can play with the illustration below and see and hear how the response changes when this attenuation is applied.

- Below the room geometry you can see the impulse response.
- The 'Scale' slider scales the size of the room and thus the propagation delay of each path.
- You can select which attenuations are taken into account in preparation of the impulse response.
- By pressing 'Play impulse response' you can listen to the impulse response.
- The 'Play soprano' will play you a short sample of music convolved with the impulse response. You will hear the anechoic sample by turning off all the reflections and having only the direct sound.

Time:
Reflection orders: Direct sound 1st 2nd 3rd 4th 5th 6th to 7th 8th to 10th 11th to 15th
Visualization: Full ray paths Raylets | Attenuation: 1/r Material Air absorption General absorption:
Number of image sources: Number of ray paths:

Scale of geometry:

To make the simulation even more physically correct, the next thing to be included in the processing is the absorption caused by air. As presented earlier, air acts as a low-pass filter. At short distances it doesn't make any difference, but at larger distances the high-frequency content gets noticeably attenuated. Neglecting this will make the simulation to sound too bright.

The final element that should be taken into account here is the absorption of sound energy at reflections. Typical wall materials are of low-pass nature such that they attenuate high frequencies more than the low end. However, in this simulation all the absorption coefficients are assumed frequency independent, and they are just examples instead of representing any particular material. If the reflection path has undergone several reflections, i.e. it is a higher-order image source, then each of the reflections needs to be processed separately. In the simple case of plain reflection coefficients, the final reflected fraction is computed by multiplying the coefficients together. In the case of more accurate reflection modeling, each reflection can be characterized by a filter, and their final outcome is the convolution of all the filters.

It is easy to hear that the reverberant part of the responses sounds unnatural. There are plenty of clearly distinguishable echos, whereas in real rooms, this happens only very rarely. [You can increase the size of the space by the 'Scale' slider to notice this better.] In reality, the gaps between individual specular reflections are filled by diffusely reflected sound energy. However, the image-source principle is not able to model that, and, thus, there is a need for models that are able to handle diffuse reflections. Similarly, there is no actual reverberant tail in the response at all, and instead of gradually decaying and fading out, the response ends abruptly. This could be solved by increasing the reflection order but making with the image sources is computationally challenging, although a beam-tracing with full-beam clipping could perform well even in the case of modeling the whole response duration. In the following chapters, we move on and discuss methods that are able to handle diffuse reflections and are better suited for computation of the late response.