One Euro Filter for Table Column

I have a TableDAT with two columns: channel and value. I would like to apply a 1 Euro filter to all value changes in column 1. What would be the best way to achieve this?

“data” table from the following:
FlowMachineMK2.toe (4.5 KB)

I hadn’t heard of a one euro filter but I did find this: https://cristal.univ-lille.fr/~casiez/1euro/OneEuroFilter.py

As a Python guy, if I were doing it, I might try using that code in a scriptDAT, at least to start. There’s probably a way to do it with nodes, too.

FilterCHOP has it if you want to use nodes. ScripDAT is probably what I’m looking for.

1 Like

Why not do a DAT to CHOP, filter it with One Euro Filter CHOP, and then CHOP to DAT and merge that back in?

Because I’m doing hundreds of parameters. Also, it’s faster to trigger actions from state changes or than to wait on a frame to bake.

I’m basically wanting to filter a state table without having to do a bunch of conversions, which is inefficient and doesn’t scale well.

2 Likes

Hundreds of parameters, or hundreds of cells of a table? Either way, doing that with python may be too slow.

Also, One Euro filter, like any filter that depends on the value in the prior frame, will not produce correct results if you drop any frames. Whereas the Filter CHOP is time-sliced and manages dropped frames correctly.

If you get all your items into a set of CHOP channels, it can all be filtered with one Filter CHOP, which scales well. as per marijaerceg’s suggestion.