[PD] smoothing things ...

Thoralf Schulze thoralf_schulze at yahoo.de
Mon Jul 25 16:10:50 CEST 2005


Hi everyone,

when working with GEM (and probably with pd in
general), one comes inevitably to the point where
input parameters need to be interpolated to make the
output looking / sounding halfway good - as a
prominent example, using cc's from a midi controller
to rotate an object around its axis in GEM will look
really ugly (the minimum change will be 360°/128 = a
little less than 3 degrees, resulting in jerky leaps).
Thomas Grill proposed using pd's built-in dsp filter
(lop~ in particular) to do the smoothing, this is a
technique which elegance I really admire (although I
must admit that I don't unterstand completely how it
actually works). It has a serious drawback, however:
it interpolates everything, even sudden parameter
jumps that would be better passed through unchanged -
imagine the following scenario: a geo is constantly
rotated by a counter that rolls over at 360 degrees.
Now, the lop~ filter interpolates this change that
really is a jump by spitting out some values in
between 360 and 0 degrees, which will make the result
look jerky again when the rollover occurs.
I tried to work around this behaviour by filtering
these values out or setting the cutoff frequency of
the filter during the rollover really high which
causes it not to interpolate anymore but ran into
timing issues ...  to do it the right way, one
probably would have to switch over to another
lop~-abstraction during the rollover, which seems a
bit like overkill to me. Additionally, someone stated
on the list that filtering in the dsp domain does
require a fair amount of cpu cycles.

So, at the end of this lengthy post:
- is there a possibility to amend Thomas' smoothing
abstraction with a "set x"-message that would cause it
to start interpolating from the x-value ? How
demanding  (in terms of cpu cycles) would that
abstraction then be?
- if not: is there an easy-to-implement algorithm that
does non-linear smoothing of yet-unknown parameters
and detects parameter jumps? My math is a bit rusty,
and googling only yielded stuff regarding the
interpolation of _known_ values.

Thank you very much in advance,
Thoralf.


		
___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com




More information about the Pd-list mailing list