Erratic MPE Pitch Bend Behavior (VST3, Ableton)

Hello all.

I’ve been attempting to use these two modules to feed MPE sequences into Rack from Ableton:

MIDIPolyExpression

MIDIpolyMPE

Both of these modules seem thoughtfully designed and come very close to working, but I’m running into issues with my MPE sequences causing erratic pitch bends and glides.

What seems to be happening is that when notes are terminating mid-bend, the bend value for that channel slews from an arbitrary value the next time the channel rotates around.

This intermittently causes a very audible pitch envelope on the transients, making MPE unusable for me. I bought the plugin version almost solely for this purpose so quite disappointing.

I don’t have a controller so I can’t confirm if the same behaviour applies to MPE input from other sources. I can’t be the only one to have tried doing this, have any of you had success using MPE in Rack via the modules mentioned above or other means?

Any input would be highly appreciated!

System Info:

Rack Pro 2.4.1, VST3, Windows 11, Ableton Live 11.3.13

Before each note-on (in your DAW) you have to set MIDI pitch-bend to the initial value. My module MIDIPolyExpression expects this behavior because the LinnStrument (and I think every other MPE controller) works this way.

Hi Ahornberg.

Thanks for the response and for your work on these devices :slight_smile:

I don’t have any reason to suspect there is anything wrong or out of spec with either of the modules. As I said they seem very well designed.

I’m more inclined to believe there’s some bug occuring in the interface between Live and VCV.

Yes in Ableton you need to reset pitch bends to 0 or they will stick, but that only applies to conventional ‘global channel’ pitch bends. The implementation for MPE bends appears to be different:

When manually sequencing MPE bends in Ableton, the bend curves are restricted to the boundaries of the note and will never stick or span multiple notes. Ableton seems to do a good job of inaudibly resetting the values.

I’ve programmed MPE sequences like this into dozens of synths for years and I’ve never seen this behaviour, something is definitely wrong.

Besides, this erratic behaviour is not just the values sticking. The jumps are occuring even when no pitch bends are present, although the bends make them much more frequent.

May I ask, in your testing, did you try programming sequences manually and playing them back into VCV via a plugin host?

It is late for me but let me get back to you with a better demonstration of this problem.

Thanks again for your response and for helping me get to the bottom of this.

Maybe an audio/video example could help.

Made a video to demonstrate the behaviour of various devices:

Modllz: Slewing / gliding of pitch bends on note onset.

VCV MIDI to CV in MPE mode: Not shown in video but same behaviour as Modllz.

Ahornberg: Instant resetting to 0 of all bends when notes terminate.

Video: VCV plugin MPE issue on Vimeo

Thank you for the video. Now I know the issue.

Usually (e.g. when using an MPE controller like the LinnStrument), you do not apply and ADSR-envelope. Instead you use the Z-output of my module to control the amplitude.

I’m going to take a closer look at this issue in the next days.

Interesting, so your device is built around the assumption that the inputs are being provided by a controller which generates its own volume envelopes on the pressure channel?

Learning this, I was able to get cleaner (though still imperfect) playback through your device by providing my own per-note envelopes on the pressure channel like this:

This stopped the bends from resetting to 0 on note off but still didn’t produce reliable playback.

What I need is for your device to mirror the behaviour of the other (non vcv) instruments I demonstrated, which do not rely on pressure envelopes.

As an aside, I still can’t determine what is causing the slewing bend behaviour on the Modllz device and the official MIDI > CV device.

Captured here: Square wave bend sequence fed into MIDI > CV turning into exponential ramps.

I discovered that all CC inputs are being slewed in this fashion. Modllz’ device has the same problem, I suspect they are sharing code. This seems like a bug does it not?


in the MIDI>CV right-click menu, smooths MPE per note pitch bend too.

3 Likes

Yes, I make my modules for my personal needs in the first place (I own a LinnStrument and there wasn’t a MIDI/MPE2CV module that fits my needs, so I created my own). And I give my modules open source to the community.

The slews applied to the incoming MIDI data are there to avoid glitches when playing on an MPE controller (my module also applies slews on pitchbend and CC messages). All the MIDI/MPE modules I know so far are not designed to work with MIDI data drawn/entered in a DAW.

The VCV “MIDI to CV” module has an option to disable smoothing for pitch bend and CC1 messages:

What you may need is a module that gives you raw MIDI data. Unfortunately this doesn’t exist at the moment.

1 Like

This was it! Many thanks to both of you.

MIDI > CV is now functioning as expected.

I don’t know how I missed that, so often the answer hides in plain sight.

1 Like