I think these are very good statements of use case (and also relevant to the thread!)
I think if we were to break it down and look around, it’s good to first analyze where we can already patch 9x arbitrary color components from those multi-phase VCOs…
-
You could patch them all into SMX3. This gives you full tunability of an RGB additive/subtractive mix of all 9 sources, and creates a “complex mix” of the results.
-
You could patch them all into FKG3. This gets us closer to a multiplier based transform. One set of three outputs is going to crossfade/key/blend between two other sets of outputs.
Both of these techniques are going to create complex, interesting moving patterns or RGB modulation sources. Both patches extend each other well (add SMX3 to the FKG3 inputs and you’ve got more destinations for control and mixing.) But neither is giving you the full cross-modulation capabilities over some external source. But both can support the functional footprint (9x inputs), which is something!
Also, what you’re imagining is a larger module – which is fine! But if we’re going to go there, we want to layer in the functional density where ever we can. So I am imagining something that’s not just a matrix multiplier, but more of a “Matrix Operator” where multiply may just be one supported blending mode. In other words, if you’re going to pay the infrastructure cost to have 9x CV + Gain + Bias controls (at least a 24HP module) then you may as well try to maximize what the application circuit (the actual multipliers) can do. A good way to do that is to implement different blending modes – Multiply being among them. But also there could be Screen, Difference, Additive, etc.
So in that case, for example, you could set up your patch one way, but thru the blending modes you get several different modes of operation. If we really wanted to go far with that, we’d even consider an individual blending mode switch per 9x components.
Another idea is that we do a digital/FPGA based 9x Matrix Modulator with different modes available. This would open up some new options beyond all the blending mode possibilities, but wouldn’t respond the same way an analogue operator would. But what made me think of this is the idea of a Convolution Matrix Filter we’ve wanted to implement for a while. This would be by nature a digital function, but it would also require 9x control inputs in Matrix. So that’s a case where the “functional footprint” (9x control inputs, RGB source, RGB out) may cross apply in interesting ways.
Another concept to throw out is “Matrix Animator” – integrate multi-phase generators or LFOs into the matrix itself. This is where you really get to the point of being able to fit a big function behind a kind of “super control”. IO cost goes down, whereas the power of the function is still very powerful – we’re just saving some cost by integrating it.
This was a bit of a runaway brainstorm of course – and we should absolutely continue it – maybe in a thread just brainstorming advanced RGB techniques, after we’ve got the basic modules out there in everyone’s hands. The main takeaways for me are that 1. This use case isn’t directly covered elsewhere and therefore has merit, and that 2. There is some overlap with ideas related to analogue RGB operators in general, meaning that a multi-mode operator is instantly appealing, 3. This could potentially be a very big module. It would be good to do a study on “how big does a system need to be, to properly make the most use out of this big module.” 3. It’s likely to be the capstone module of any small-ish system, if present, so, in that light, what does that whole small system look like? What does it do? 4. Concepts that condense functionality and make for a smaller module definitely make it more feasible. Are there any of those that don’t alter the conceptual basis for the module? Or is “big boy with 9 of all” kind of the point? And of course 5. Are there existing historical devices or even software operators that excel at this? Is there something to learn from, that can help us understand our implementation better?
Anyway, this is generally how we try to filter the ideas and start to work on them, when it comes to new module concepts. After developing this out and thinking for a while, I bet some obvious answers will emerge that make everyone happy and excited.