Forums > MaxMSP

Ensuring a (hand drawn) table/buffer has no repeat values?

December 7, 2012 | 8:36 am

So I’m using multislider, listfunnel and peek~ to create a buffer filled with a hand-drawn table.

The idea is to use table interpolation for moving between a large number of parameters, but without having everything move linearly. All the tables are slightly jittery versions of linear/log/quartic curves.

Since I’m using linear interpolation between table values, having repeated values makes my interpolator ‘stick’ for sections of the sweep.

I can remove duplicates easily enough using zl objects, but is there a way to take repeated values, and move them up or down slightly to as to have no repeated values in the table at all? (while still having exactly the same amount of entries)

I can fill it using a function, but that would remove the jitter from the table.

Here’s the patch:

– Pasted Max Patch, click to expand. –

December 7, 2012 | 3:52 pm

This could be one solution.
But i am not sure if it is what you’re searching for in a sweep-kinda context.

– Pasted Max Patch, click to expand. –

December 7, 2012 | 5:45 pm

Something like that could do the trick, though it seems to be clipping the length of the table, and I can’t figure out why.

It can also randomly vary the amount it changes by (+/- 0.05 kind of thing)

This is the kind of sweep I mean.

– Pasted Max Patch, click to expand. –

December 7, 2012 | 5:52 pm

Never mind, it was the zl objects 256 item limit thing.

Here it is shrunk to 256 entries and with a random amount +/-

– Pasted Max Patch, click to expand. –

December 7, 2012 | 7:13 pm

Hi,

Nice one, Nicolas.
This was my zl-less approach.

– Pasted Max Patch, click to expand. –

December 8, 2012 | 12:00 pm

Some real elegant solutions in here. Thanks guys. (I ended up going with one of the first versions, and saving a bunch of buffers to disk to load them up that way).


December 29, 2012 | 8:39 am

Just for the fun, another one…

– Pasted Max Patch, click to expand. –

Viewing 7 posts - 1 through 7 (of 7 total)