gradual Revert to rest value for sensitive controls

Issue #53 invalid
dan mackinlay created an issue

Between the somewhat imperfect tracking of Leap Motion, and the even more imperfect tracking of GECO there is a need for a more graceful failure mode when it suddenly loses my hand, especially suddenly.

(Aside: If this were a Kalman-filter-style bayesian sequential tracking of my hand, we could assign a low posterior probability to my hand suddenly exploding between two frames and thence not output point estimates for this nonsense case, but I digress)

So when the tracker suddenly loses my hand between two frames, it would be nice if it could do something other than instantaneously reset all values to the rest value, which is musically very jarring for all but the most cosmetic uses;

I imagine a sensible behaviour in the event of a sudden loss of tracking could be something like a gradual reversion to the rest value, and possibly a gradual return to the correct value when my hand has been found again.

Musically we usually treat this kind of value using "attack" and "decay" rates (e.g. in a compressor).

There is general smoothing in GECO which one might hope would do this, but it seems to apply some kind of linear low pass filter to all signals equally, meaning that if I turn up the smoothing substantially enough to smooth out "sudden hand explosion" events, then the controls are so sluggish that they are useless; Non-linear interpolation of missing data in the event of sudden hand vanishings would be a different thing.

Comments (3)

  1. Geert Bevin repo owner

    The advanced settings of each data stream (the three bottom dots) allow for attack and decay values, as well as different curves. This seems like it would do what you want.

  2. Log in to comment