A fluid.datasetfilter~ object for conditional querying

Yeah I got my rows and columns confused.

I gotcha.

I’m just picturing a workflow like in example11, which is a bit more real-world in terms of chaining things together.

You analyze “everything”, and can then label things accordingly up front (via the abstraction above). So you’d have pitch[28], loudness[28], and timbre[168].

In the next stage you filter it down to just the mean and std which…um, I guess indices tracking is still unavoidable (you’d have to know what is what inside the smaller subset of timbre[168]). So here you would addrange timbre[0] 24, addrange timbre[84] 24.

The second subpatch is much improved with the abstraction as you can specify filter duration < $2, and duration > $1 and then filter pitch[2], addrange pitch[0] 4.

Ok, that was me sort of thinking things through verbose-y.

So for querying/filtering off individual columns, and/or moving grouped sets of columns (e.g. “timbre”), this approach works really well. At a more microscopic level there is still the land of indices, stats, derivatives, where you have to know what’s what (e.g. which index is the median of the 1st derivative). At this point these are buffer~s, so the dataset wrapper abstraction wouldn’t really work there. I guess a similar abstraction could handle that too, where each column in a buffer~ is named and accounted for (e.g. “pitch confidence mean”, etc…).