0
$\begingroup$

I've just begun learning about signal processing on my own, and after reading about convolution I'm curious about why convolution reverb works. That is given a recorded impulse $\hat{f}$ and an audio signal $g$, why does the convolution $$h = \hat{f} \circledast g$$ produce an audio signal which sounds like the signal $g$ was recorded in the environment $\hat{f}$ was recorded (based on $\hat{f}$)? If this question is better suited for sound design/physics stack exchange, feel free to redirect me!

$\endgroup$
2
  • 3
    $\begingroup$ The room is an LTI system (sort of), so the impulse response is sufficient to characterize it and convolution is the way to calculate the output. Are you looking for a mathematical proof? $\endgroup$
    – Hilmar
    Dec 15, 2021 at 10:05
  • $\begingroup$ @Hilmar I'm not really looking for a mathematical proof, but perhaps a detailed description on why the the convolution works physically when we look at the small details of the formula. That is, why in order to replicate how the sound $g$would have sounded in the room $\hat{f}$ was recorded, we begin by multiplying and summing the first pressure values of $g$ by the last pressure values of the recorded $\hat{f}$. I do accept the high-level description of the phenomenon as systems, but I would just like to examine the situation in low-level. $\endgroup$ Dec 15, 2021 at 15:22

2 Answers 2

1
$\begingroup$

A room consists of many hard surfaces. When you generate a wideband click sound in that room («perturbations about the mean pressure»), those waves will travel into the room, be reflected by surfaces, travel once more, be re-reflected etc. As time goes by, the wave tends to diminish due to spherical expansion, and because of losses in reflections (and in the air).

For any observer in the room, some set of reflected waves will hit his ears. This is the reverb as a function of space, time(-shift) and an impulse input. Because the function is close enough to linear, you can generalize to any input by convolving with the impulse response. Ie treating the input as lots of little impulses and sum a scaled and shifted set of impulse responses tracking the input.

$\endgroup$
2
$\begingroup$
  1. The sound pressure is a scalar - it can be superposed linearly.
  2. The acoustic system can be assumed as a linear time-invariant (LTI) system in the most situation.
  3. The output of an LTI system is equal to the convolution of input and the impulse response.
$\endgroup$
4
  • $\begingroup$ Pressure is not really a superimposable quantity. (And I'm not sure what you're trying to imply with "scalar". Do you mean "scalar" in the sense of frame independence? If so, that is neither strictly true nor related to linearity). The reason why pressure waves can be superimposed is that small pressure changes (compared to the equilibrium pressure) can be linearized. $\endgroup$
    – Jazzmaniac
    Dec 15, 2021 at 13:26
  • 1
    $\begingroup$ @Jazzmaniac Sound pressure describes the variation in atmospheric pressure caused by sound and it is small pressure, so the sound wave equation can be approximated under linear assumption. By scalar I mean the sound pressure is not a vector, it has no direction. $\endgroup$
    – ZR Han
    Dec 15, 2021 at 13:35
  • $\begingroup$ @ZRHan While I do accept the high-level description of the situation, do you happen to know any source which examines the phenomenon in low-level? I mean that why in order to replicate how the sound ggwould have sounded in the room $\hat{f}$ was recorded, we begin by multiplying and summing the first pressure values of $g$ by the last pressure values of the recorded $\hat{f}$? $\endgroup$ Dec 15, 2021 at 15:24
  • $\begingroup$ @EpsilonAway Reverberation is nothing but sound reflection (and scattering), and convolution is exactly the delay and sum process. $\endgroup$
    – ZR Han
    Dec 15, 2021 at 22:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.