Combining series and parallel processing in mc.land?

Rodrigo's icon

After a long while of holding out, I'm finally updating some of my poly-based patching with their mc.equivalents. This is super convenient for, for example, polyphonic sample playback as it can live in a single patcher without any poly/abstraction dependencies, you can copy/paste it, etc...

Now where I'm getting a bit jammed up is one of my use cases has a series of cross~ filters that cascade into one another to create a dynamic filter, per voice. Essentially the patch around it takes some pre-analyzed melbands for a sample, as well as realtime melband analysis to apply a filter to the sample such that it closely matches the realtime input (almost like a matching EQ, per sample, per voice).

In order to do this I have a poly~ patch that looks like this:

Max Patch
Copy patch and select New From Clipboard in Max.

I want to try and have this work in an mc. context where each voice from mc.play~ would go into this cascade of crosses:

This starts bending my brain as mc.cross~ is meant to create a bunch of parallel voices, rather than series ones. And in this use case, I would have a bunch of series cross~s, which themselves run parallel per sample voice....

So, um, is something like this possible? If so, what objects should I be looking at here?

Rodrigo's icon

I managed to get this working but it's a bit, inelegant, to say the least...

Max Patch
Copy patch and select New From Clipboard in Max.

Wetterberg's icon

okay, that question broke my brain a bit, as well. I think I have reassembled it now.

In looking at it, I can't seem to find a simpler way to solve this with cross~.

Have you dismissed the idea of using mc.cascade~?

Rodrigo's icon

Hehe, tell me about it!

The thing is it needs to be series processing, so other than chaining a bunch of mc.cascade~s instead of mc.cross~, I can't picture how it would work differently.

I'm essentially recreating an fffb~, but that does't sound horrible.

Asher's icon

what about encapsulating that part of the patch in mc.poly?

Rodrigo's icon

I have a version of this that works without mc, which has a couple nested poly~s, but I feel like it defeats the purpose of using mc if I then also have to use a poly~ (since you can't just copy/paste code and have to manage a subpatch/dependency).