[PD] overdriven speaker

Mathieu Bouchard matju at artengine.ca
Thu Oct 21 07:17:12 CEST 2010

On Thu, 21 Oct 2010, Martin Schied wrote:

> It shouldn't be too hard to do this integration with basic pole / zero 
> objects. A problem using integration only is the lack of mechanical 
> damping. A real speaker goes back to x=0 if no signal is present. A 
> simple integrator doesn't

right. That's why you can't just use [rpole~ 1]. Then, any [rpole~] with a 
value between 0 and 1 will act as a convolution with an exponential decay 
function. An integral is a convolution with a constant function, such as 

Because the integral of the exponential decay function is bigger than 1, 
the result of [rpole~] will have some amount of gain.

> - so the 'simulated' cone would just fly away slowly.

That's only in the case where the signal has a DC.

> [rpole~ 0.999] does it very well...

Note that [rpole~] is dependent on sampling rate. So, assuming you have a 
sampling rate of 44100 Hz, the rate-independent way to do it is :

   lop's gain compensation = 1 - 0.999 = 0.001
   rpole's gain to compensate for = 1/0.001 = 1000
   cutoff frequency = 0.001*44100/2π = 7.019
   therefore use [lop~ 7.019] with [*~ 1000] (in any order)

| Mathieu Bouchard ------------------------------ Villeray, Montréal, QC

More information about the Pd-list mailing list