I think my Sort module is a more direct implementation of this idea: A gate/logical polyphonic pattern on the “Select” input will selectively include or exclude entire channels from the “Data input” through to the output (not just muting them to 0v, but removing the channel itself).
These inputs:
| Data | Sort | Select |
|---|---|---|
| x | 2v | 10v |
| y | 3v | 0v |
| z | 1v | 10v |
Would output:
| Output |
|---|
| z |
| x |
However, it doesn’t have Moots’ “empty cable” behavior; if you pass through all zeroes to the Select input, it outputs a single channel of 0v- I looked at trying to mimic Moots behavior for that case, but it just didn’t quite fit in with the types of places where I wanted to use Sort. You could combine it with Moots though.