[PD] overdriven speaker
crinimal at gmx.net
Fri Oct 22 01:42:28 CEST 2010
On 21.10.2010 07:17, Mathieu Bouchard wrote:
> 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 exp(0*t).
nice way to look at it. I used the formulation y[n] = x[n]+ a[n] *
y[n-1] in the help files and some semi-knowledge about filters...
> 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.
yeah, but this is often the case when messing things up in pd. I tried
rpole~ 1 with sinewaves first which worked as integrator, but already
had different results for the output of rpole~ if the wave started at 0
or pi/2 (which is logic, but I didn't think about it first...)
>> [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)
I thought about lop~ doing similar things too, but didn't know what lop~
is doing and I'm sure I wouldn't have figured it out in any reasonable
time this morning. thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pd-list