VCV Poly: ideas for a new standard polyphonic utilities plugin

Hopefully by the time Rack 1.0 releases, @sempervirent and I will have a new plugin featuring utilities for polyphonic cables. So far our ideas are

  • Muxer: combines up to 16 inputs to a single polyphonic output port
  • Demuxer: converts a polyphonic input to 16 outputs
  • Unity mixer: unity sums a poly input to a mono output
  • Rotator: like a sequential switch with N inputs, N outputs, and clock/reset inputs

We’ll probably think of a few more, but before we dive into designs, I’d like to ask the community to imagine that polyphonic cables have been in Rack for years. What poly-related utilities would you expect to use in Rack after many hours of heavy use?

See How polyphonic cables will work in Rack v1 for information on polyphonic cables.

Edit: VCV Poly will be a plugin specifically containing utilities that wouldn’t make sense in monophonic form. In other words, if your idea is an extension of a possible idea for a monophonic module, it should not be added to VCV Poly. This plugin will instead give you the tools for handling polyphonic cables as a new concept by combining, twisting, and expanding the channels so you can integrate them into your workflow.


Some initial thoughts:

  • A multichannel sample and hold, e.g. x groups of in, trig and out.
  • x groups of multichannel audio signals that can be cross faded via modulation.

For a sample and hold, I feel it would be better to just transparently add support to an existing S&H, and then add a “Poly” tag to it in the Module Browser so people can find it.

For the crossfader, that could work, but I’m not sure of the use case. You’re talking about about crossfading N channels into 1 channel, right?

N channels into one or two. An existing arrangement would involve multiple stereo audio channels being input into a mixer such as Console and then CVs being used to “pick” which stereo pair is output or “moved” to. I’m possibly misunderstanding the intent of polyphonic cables, so ignore if I am. :slight_smile:

In: N unipolar signals. Out: and, or, nor, xor, xnor, any rise, any fall, any edge, …

In: N bipolar signals. Out: sum, max, min, mean, median, max magnitude (biggest distance from zero), …

This sounds just like adding polyphony to a module that already exists. I’ll edit the original post.

Poly-Rotate: Rotates 16 channels over 1 output. With different rotation types, that could be synced to clock/lfo/s&h.

1 Like

Good idea, added to post.

1 Like

A poly scope would be nice, though truth be told I have no idea what that would look like. I realize this is something that could justifiably be left to the community, but some sort of reference implementation may prove useful.

While possible using the above mentioned Mux DeMux a module to take 1 poly signal in and 2 out at a given number may prove useful (say I hold 3 notes and the first 3 output on Output-A and any more on Output-B)

Finally, with the addition of Poly I think multi line selects, and ploy-aware copy paste may make sense, as manually routing 16 inputs to 16 outputs may get old. For example, If I could ctrl-click-drag two outputs from a module currently meant for stereo and directly connect them to a single poly-in that would be great. As for poly aware copy/paste I mean this by making it so when pasting a module can be pasted in a way to retain as much I/O as possible. I’m not sure how this would be done to not interfere- maybe holding shift while pasting?

I have absolutely no idea how difficult it would be to implement any of that, but maybe it provided some inspiration.

Again, VCV Poly will be a plugin specifically containing utilities that wouldn’t make sense in monophonic form. This suggestion is just an enhancement to the existing Fundamental Scope.

I’m not sure you’re on the same page with what polyphonic cables are. See the explanation of them linked in the original post.

Feature requests to Rack are off-topic in this thread, since this is about module suggestions for the upcoming VCV Poly plugin.

The utilities that spring to mind most with regard to polyphony are what would traditionally be called midi utilities in a DAW (CV facsimiles being more apt here).

These utilities would cover:

  • note velocity curves
  • polyphonic aftertouch setup
  • key zones and splits (thought of strictly in terms of note range rather than keyboard control as keyboards are not necessarily the input source with modular)
  • a monitor of CVs relating to polyphonic output much like the midi monitors in a DAW
  • an inbuilt ability to convert between triggers and gates (useful when polyphonic keyboards are used for percussive input (not necessarily drums as the signal path may involve FM and LPG’s)

All of your suggestions are just enhancements to existing monophonic module concepts. VCV Poly will be a plugin specifically containing utilities that wouldn’t make sense in monophonic form. These are reasonable ideas for other plugins but beyond the scope of VCV Poly.

Not a utility but a concept variation
an alternative midi out on the poly midi out module with another standard:

  • CH1: midi note to cv
  • CH2: midi gate to cv gate
  • CH3: midi velocity to cv
  • CH4: aftertouch to cv
  • CH5: pitch bend to cv
  • CH6: mod wheel to cv
  • CH7: CC 7 to cv
  • CH8: CC 8 to cv

This big polycable full of information could be plugged into synthvoices modules like vult incubus or impromptu/south pole synth voices

We could also imagine another standard for controlling sequencers with one poly cable:

  • CH1: midi clock std
  • CH2: midi clock 24ppn
  • CH2: play
  • CH3 pause
  • CH4 reset

Polyphonic aftertouch only makes sense in non monophonic contexts.

I don’t want to standardize something like that, since it’s anti-modular.

Connected to polyphonic aftertouch (per note aftertouch) would be alternative input modules for things like ROLI devices. I personally make use of both Animoog and Ribbons on iOS (Ribbons is by the Olympia Noise Co. These are both very similar (and have strong parallels to certain ROLI control devices) and allow the artist to modulate their chordal voicings on a per note basis as well as providing polyphonic pitch bend which facilitates Theremin/Ondes Martenot type performances (but obviously polyphonic). This is currently facilitated by 14 Bit midi (NRPNs etc) but this is likely to change as Midi 2.0 rolls out (which promises to greatly simplify high resolution midi - however much like you I haven’t fully read the recently published specification to fully take in it’s implications).

It may be that their are existing modules that facilitate ROLI/Animoog/Ribbons type polyphonic performance control but I haven’t encountered them as yet.

Err, “aftertouch” is not a modular concept. You can say that a signal originated from MIDI aftertouch commands, but it’s just a voltage signal. Anyway, that’s beside the point. The point is that I’m not looking for ideas that are simply N copies of an existing concept. A demuxer for example is not N copies of anything, i.e. it does not operate on N signals independently, so it’s a welcome idea to VCV Poly.

It’s probably just the case that I’m an old git that I beg to differ. Just think about classic Buchla input devices such as Thunder:

What I’ve linked to is its modern recreation via Sensel’s Morph. And again it’s worth reading the article to understand why Polyphonic Expression techniques are very much a ‘Modular Concept’

channel counter, output voltage based on number of active channels in the attached input.

splitter, separates an N input wire into two output wires with X and N-X channels where X is CV selectable using the same standard as the channel counter.

Re-reading the CDM article I just posted to reminds me a little of our interactions over the last 24 hours or so… :wink:

That just leaves the missing link – finding a hardware interface you like. ROLI are big advocates, yes, as are some smaller boutique makers. But what if you don’t like those options? (Musicians certainly don’t agree about … anything.)