Echo State Network Segmenter

Hello all,
Ages ago, @tutschku asked me for the segmentation patch from the piece I talked about in Huddersfield. Apologies to him that it’s taken me so long to pass it along.

I’ve saved it as a Max project in order to manage the dependencies. Some of these dependencies are externals of mine that I’ve not even pretended to start documenting or making configurable. Maybe one day.

It segments by trying to make predictions about the input signal, first at the sample level, and then by modelling the measured energy of the slices from the first stage. Expect it to be weird. Want shorter slices? Lower the thresholds at the top, and in the lower “prediction errors to bangs” subpatcher (it’s measured in standard deviations), and likewise make the debouncing times smaller.

Things it doesn’t do, yet:

  • Handle wrap-around on buffers (in the piece I’m using a single big ol’ buffer for the whole thing)
  • Estimate offsets distinctly from onsets (so slice durations are all onset->onset)

https://huddersfield.box.com/s/ae0y2wm27nf64ykrpke9v8j982odeqnr

1 Like

Hello Owen,

Just taking a gander at this you say it doesn’t do onset -> offset only onset -> onset. how come the dict has onset and offset arrays in them? Did you make a change to the patch?

Not looked at this patch in a while, but is it just start/end pairs like in fluid.buftransientslice~?

yes, and at the moment IIRC it is only starts (the end will always be the next start) but it is great fun! @weefuzzy will confirm though

1 Like

Cool thanks for the clarification. It is quite intelligent in many ways and the segmentation renders areas that are musically separate from each other. At times its quite bad though which is fun too!

Hi @jamesbradbury, @tremblap is quite right. The seperatation of on / offset is there as a statement of aspiration at the moment :smile:

Interested to hear that you’ve been getting entertaining results from it – I really never tried it on anything except the bowed box. I should emphasise that it’s quite intelligent in precisely 0 ways, so on that basis I’m kind of surprised it’s not quite bad all the time! It’d be valuable to see what it does and doesn’t seem to work with though. Then, I guess, I could think about making it, uh, better.

1 Like