How do I add more resolution / taps to an analog -> digital filter? (I am trying to create an IIR audio filter that adds reverb to an initial sample)

Say I designed an analog filter to model acoustic attenuation based on the following mathematical model:

$$
I = I_0 e^{pt},
$$

Where $p$ is some constant such that $-1 \leq p &lt; 0$.

In the laplace domain, this is simply

$$
\mathfrak{L}\{I\} = \dfrac{1}{s-p}
$$

Using the impulse invariant transform, I get the digital equivalent

$$
Z\{I\} = \dfrac{z}{z-e^{pT_s}},
$$

Which inherently has one pole.

How do I add more resolution to this filter? Implementing this as a digital filter makes my audio sample sound like garbage. Would adding arbitrary taps keeps it from modeling the original analog decay?

Using experimental attenuation data and frequency sampling for an FIR equivalent, I can easily obtain 50000 poles and create a very clear reverb-adding filter.

Both IIR and FIR methods were tested in MATLAB, with the FIR using MATLAB's built-in church impulse response.

(Sorry if the question is unclear, I'm a bit new at this.)
Doing a decent sounding audio reverb with IIR filters is difficult. You need way more poles that you can generate with a normal IIR structure and you need a way to do it efficiently.


There is a significant trade off between sound quality versus MIPS, memory, latency &amp; controllabilty
A good starting point is the original Schroeder reverb, which uses comb filters and warped allpass filters. See for example: https://ccrma.stanford.edu/~jos/pasp/Example_Schroeder_Reverberators.html
You want to get lots of poles cheaply. For example, wrapping  a feedback loop around a long delay will create lots of poles with just a single multiply + add.
Ideally the poles are randomly distributed and have no regularity to them. The simple Schroeder algortihm doesn't quite do this, so it tends to sound "ringy" or "metallic".
A better alternative are feedback delay networks. See for example https://ccrma.stanford.edu/~jos/pasp/FDN_Reverberation.html. These work by having multiple delay lines of different lengths with a feedback matrix: i.e. each delay is fed back into all delays. This creates a very large number of relatively low Q poles.
Finally you can dial in all the frequency dependencies and also add some early reflections as sparse FIR filters (with IIR frequency shaping on the spares tabs)