A Question about Polyphony

Since I discovered the joys of polyphonic patches in VCV rack, I’ve been experimenting with my Beatstep Pro - using its three sequencers to produce nice evolving three note polyphonic sequences.

The issue I have is to do with the way the midi channels from the MIDI-CV module are assigned to the polyphonic channels in VCV. I’ve tried the Rotate, Reuse and Reset modes, and they all, in one way or another, assign the outputs from the MIDI-CV module to the next available polyphonic channel.

I understand how these modes are useful for playing chords on a keyboard, for instance, but I want to maintain each midi channel as a discreet channel throughout my patch. So Sequencer 1 on the BSP is on midi channel 1, and stays on polyphonic channel 1 all the way through the patch. I can do this by creating three MIDI-CV modules for the Beatstep Pro and giving each its own midi channel and then using a Merge module - but this seems a bit of an inelegant solution.

I’ve found that if I set the MIDI-CV module to MPE mode - I can get the desired effect. I understand that this isn’t really what MPE mode is for (from what I can gather it’s for Seaboard controllers and the like), so I wanted to ask if there’s any reason to not use this mode. It seems to work at the moment - but am I going to discover any drawbacks further down the line? Apologies for then long rambling post - and sorry in advance if I’ve missed something bleedin’ obvious… I’m quite new to modular. :slight_smile:

1 Like

Don’t know much about the MPE mode - I would use 3xMIDI>CV

Why ? - it gives 3 x 16 channels of polyphony on the beatstep pro. a note triggers a new channel each time it’s played - and don’t start stealing voices before the 17th Note on. Perhaps only useful for playing cymbals or gongs - but anyway.

Perhaps MPE mode does the same - but i think it assigns each note a different midi channel -as long as channels are available. Somewhat confused about it right now - have to investigate how it works - thank you for the tip.

It’s related to what I did here:

Thanks Jens - yes it makes a lot of sense, when you think about the polyphony and note stealing like that. I just get a bit obsessed with using as few modules as is possible, but you’ve given me a good reason to stick with the three MIDI-CV modules method.

not much on MPE in the docs yet

VCV Manual - Core Modules

No - I couldn’t find much either, specific to VCV. I was just looking at the info on the ROLI site.

1 Like

If I understand correctly, you’re setting each of the three MIDI-CV modules to “Polyphony Channels: 1 (Monophonic)” and then merging the outputs to a 3-channel polyphonic cable. If that’s the case, then you’re not getting any of the polyphony advantages that @Jens.Peter.Nielsen mentioned above.

But you stated that your goal is to wind up with just 3 channels, where each is always associated with the same sequencer on the BSP, so I think it’s OK to not worry about polyphony here.

(Unless you decide later that you do want multiple simultaneous notes per each BSP sequencer. In that case you could increase the polyphony on the MIDI-CV modules and use a “poly merger” module like Grande PolyMergeResplit – there were more modules for this that seem to not be v2 yet, but the resplit feature might make PMR the best choice for this particular task anyways.)

In that case, I think that your MPE workaround is a good way to go. It works like this:

  • In normal MIDI, the expectation is that a single MIDI channel corresponds to a given instrument, and there’s no particular limit placed on polyphony for that channel. That means you could have a dense 10-note piano chord coming in entirely on MIDI channel 1. When MIDI-CV receives that, it’s got to make it multichannel somehow in order to translate MIDI to CV. The different sorts of “channel-dividing logic” that are available are Reuse, Reset, and Rotate.
  • So what about the fourth option: MPE? This is different because it’s not really a channel-dividing logic. In MPE MIDI, the expectation is that there is one note per MIDI channel. If there’s a 10-note piano chord being delivered as MPE, it’s going to use 10 MIDI channels. Given that there is a max of 16 MIDI channels, and there is also a max of 16 Rack polycable channels (in fact by design mirroring MIDI), this means that when MIDI-CV receives the data its job is already done (in terms of channel assignment). The result is that MIDI channels get mapped one-to-one to Rack polycable channels.
  • In other words, the fourth option “MPE” could also be called “No Channel-Dividing Logic”, or simply “One-to-One”, and that happens to be exactly what you’re looking for (I think).

On a different note: if anyone with an MPE controller ever wishes that they could use Rotate, Reuse, or Reset modes together with MPE, my Duo MIDI-CV module has special MPE modes for this. I haven’t ported that plugin to Rack 2 yet, but if anyone is interested in it then please let me know and I’ll get started. :slightly_smiling_face:


Thanks for that, Anthony. You’ve cleared up what the MPE mode is doing (or not doing). I’m much clearer now on the end result of the two different methods I’ve been trying.

1 Like