MPE Compatible Synths as Target for Guitar to MIDI?

Started by scratch17, September 23, 2020, 01:11:54 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

scratch17

So I happened upon these videos and it got me to look into MPE.



Is this guy correct? Can MPE automatically map a separate MIDI channel to each string's MIDI output in a guitar to MIDI rig?

I tried to find the answer on the web and was completely confused. This quote from Sensel Morph's explanation of MPE seems to indicate he is correct:

QuoteThe clever secret is in "channel rotation." For example, when you play a chord, every new note with its unique bend, timbre, pressure, and (eventual) release is sent on its own MIDI channel. So instead of pitch bend affecting all notes, MPE assigns a unique pitch bend, timbre, and pressure value to each note.


Then I found this video. It seams to provide evidence that this will work for any polyphonic MPE synth.




If correct, this seems to make any synth with full MPE compatibility a perfect candidate for MIDI guitar, regardless of whether it supports MIDI Mono Mode (ie. Mode 2).

Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

Shingles

How is this MPE different to, or any better than, good old-fashioned MIDI mode 4 - Omni off Mono?
Nik
--------------------------------
Tonelab, VG99, Axon AX100, EDP, Repeater
Godin, PRS, Crafter and Roland guitars
Center Point Stereo Spacestation V3

scratch17

@Shingles asked:

QuoteHow is this MPE different to, or any better than, good old-fashioned MIDI mode 4 - Omni off Mono?

I am not saying that it is better. I just want MPE to work as an alternative to Mode 4. And I still haven't heard from anyone I trust as to whether it even works.

I am just asking and hoping that it does work. Because if it does work, it adds to the list of possible synths that will work polyphonically with MIDI guitar.

One of the sad things about Mode 4 support is that it seems to be a thing of the past. I've been reading MIDI implementation charts for a while now. Most new synths don't even mention Channel Mode Messages. They list the explanation of the modes at the end of the page, but there is no specific info on whether the messages are actionable.

If MPE can automatically send "every new note with its unique bend, timbre, pressure, and (eventual) release ... on its own MIDI channel. So instead of pitch bend affecting all notes, MPE assigns a unique pitch bend, timbre, and pressure value to each note" the target synth with MPE will act as if it is in Mode 4, even if it doesn't support it.

And if MPE synths are truly plug and play with any guitar MIDI controller, even a MIDI idiot like myself will be able to use it.
Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

gumtown

#3
I am quite sure that mono mode (Mode 4) sends pitch bend per string channel.
I use a Roland Fantom XR (rack version of the Fantom synth), and in performance mode I can have a different tone/patch per string with separate pitch bend and whatnot per string.
Maybe I don't understand the full specs of MPE, but good old Mono mode seems to do the same. Unless it is the same thing with a fancy name?

if MPE synths/sound modules support the extra 'stuff' then surely a guitar to midi controller also needs to support this format too?
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

scratch17

@gumtown said:

QuoteI am quite sure that mono mode (Mode 4) sends pitch bend per string channel.

So am I. But I'm afraid that you are missing the point. Bottom line is that most new synths are not Mode 4 compatible. I am not trying to bash Mode 4 compatible synths. I just want the ability to use other synths that are not Mode 4 compatible with a guitar to MIDI setup that works as well as a standard keyboard controller.

Quote
I use a Roland Fantom XR (rack version of the Fantom synth), and in performance mode I can have a different tone/patch per string with separate pitch bend and whatnot per string.
Maybe I don't understand the full specs of MPE, but good old Mono mode seems to do the same. Unless it is the same thing with a fancy name?

Maybe MPE is the same as Mode 4. If it is, I don't care. Because that would mean an MPE compatible synth is Mode 4 compatible. So it would work with a guitar to MIDI controller.

If it isn't, and MPE works as well as Mode 4 (but does so by using a different implementation), I don't care. As long as it works for MIDI guitar, I don't care.

I am no MPE expert. I've just started to look into MPE since I found the videos I referenced above.

From what I have seen, I actually think that MPE is a collection of protocols that translates hand motions into parameter control. It also seems to do per note MIDI channel when playing multiple notes simultaneously, like Mode 4.

That allows controllers like the Roli, Haken, Sensel, etc. to provide the expressiveness of a guitar or other stringed instrument.

Quote
if MPE synths/sound modules support the extra 'stuff' then surely a guitar to midi controller also needs to support this format too?

The MPE hand motion protocols such as slide right/left (X axis), slide forward/back (Y axis), velocity, aftertouch, and lift (release) could be used by a guitar to MIDI controller, but I don't think the controller would have to support them.

As long as the guitar to MIDI controller can take advantage of the MPE capability to split a chord's notes and assign them to separate MIDI channels, the hand motion protocol support is not necessary. You still get the ability to assign a timbre, pitch bend, or any other MIDI parameter on a one channel per note basis.

I think of the hand motion protocols as individual assignable parameter controllers. Think of them as if you were assigning parameters for your MIDI rig with the Livid Guitar Wing. You don't absolutely need a Guitar Wing to have a great MIDI guitar rig. It just enhances your control abilities.
Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

scratch17

Eureka!!! I found my answer in the MPE spec published by the MMA. See it here:

https://d30pueezughrda.cloudfront.net/campaigns/mpe/mpespec.pdf

The bottom line is that

MPE capable hardware synths and MPE capable DAWS and software instruments will work as sound sources with a polyphonic guitar to MIDI controller. A MIDI guitar controller does not have to support MPE implementation in any way.

As long as a guitar to MIDI controller can send each string's MIDI data on a per string basis any MPE sound source will work polyphonically with it.

Having said that, some easy setup for an MPE sound source's Master Channel (in this case, channel 1) may be required to transmit various control change messages.

The point is that this opens up a huge range of sound sources to MIDI guitarists. As MPE compatibility is added to other sound sources that list will continue to grow.

Is MPE better than mode 4 for MIDI guitar? It is at least as capable. Until I get a chance to play with some MPE sound sources, I won't know.

I do think that anyone interested in guitar to MIDI should read the MPE specification document. It provides a lot of useful information, including info on Mode 4 and its similarities and differences as to how MPE and Mode 4 handle polyphony, voice allocation etc.



Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

kevorkian

I've been using my TriplePlay in hardware mode connected to one of my synths in MPE mode for some time now. It works just like Mode 4 however you have to watch out for pitch bend range compatibility. Many MPE synths are looking for a pitch bend range of 48 semitones which is double the max value  that the TriplePlay supports. I've been looking for a way to interpolate this on the fly but haven't found any obvious ways of adjusting pitch bend resolution on the fly (even though it should be mathematically possible). I started trying to use Bome for this but haven't followed through.

Anyway just something to look out for because otherwise MPE is just what we've been looking for.

scratch17

@kevorkian said:

QuoteIt works just like Mode 4 however you have to watch out for pitch bend range compatibility. Many MPE synths are looking for a pitch bend range of 48 semitones which is double the max value  that the TriplePlay supports. I've been looking for a way to interpolate this on the fly but haven't found any obvious ways of adjusting pitch bend resolution on the fly (even though it should be mathematically possible).

According to the MPE spec, you should be able to send a CC message to your MPE synth with RPN (0,0) to set pitch bend range. I looked at the FTP documentation, and didn't find anything that lets you send such a message to the target synth.

However, a MIDI application (maybe your DAW?) or a device such as my RJM Mastermind GT10 should be able to send such a message. As a MIDI novice, I can't help with specifics.

Maybe someone else here can help.
Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

scratch17

Ron at RJM Music replied to my question as to whether the RJM Mastermind controllers can send pitch bend range RPN messages. The good news is yes, they can!

QuoteYou'll need to add these actions somewhere (a macro, button or preset):

CC Toggle #101 off:None on:0
CC Toggle #100 off:None on:0
CC Toggle #6 off:None on:2

To select +/- 2 semitones

Now I have also found a reply to a question about some old MIDI files with RPN messages the user needed to understand. This is from the Midi Manufacturers Association forum:

QuoteRPNs

GM (General MIDI) defines several Registered Parameters, which act like Controllers but are addressed in a different way. In MIDI, every Registered Parameter is assigned a Registered Parameter Number or RPN. Registered Parameters are usually called RPNs for short.

Setting Registered Parameters requires sending (numbers are decimal):

Two Control Change messages using Control Numbers 101 and 100 to select the parameter.
[This is] followed by any number of Data Entry messages of one or two bytes (MSB = Controller #6, LSB = Controller #38).
Finally [send] an "End of RPN" message.

The following global Registered Parameter Numbers (RPNs) are standardized  (the parameter is specified by RPN LSB/MSB pair and the value is set by Data Entry LSB/MSB pair):

0,0 Pitch bend range
1,0 Channel Fine tuning
2,0 Channel Coarse tuning

For example: RPN control sequence to set coarse tuning to A440 (parameter 2, value 64):

101:0, 100:2, 6:64, 101:127, 100:127

So given the time frame and the fact that these are MIDI files, these RPNs were probably used to set the pitch bend range of the channels in GM sequences or for tuning/detuning tracks via Channel Fine Tuning or changing octaves or transposing a part in whole steps via Coarse Tuning.

Here is an excellent explanation about RPN and NRPN messages from Philip Rees:

QuoteThere are two main parts to each parameter change command. The first is the number, which identifies (or addresses) the specific parameter, and the second is the (data) value or variation to assign to the specific parameter.

A pair of MIDI Controllers are used to select each specific parameter number, and it is advisable that the pair should always be sent together.

NRPNs are specified by Controllers 98 and 99. RPNs are specified by Controllers 100 and 101. The most recently received parameter number becomes the active parameter number for the particular MIDI channel.

The fact that separate Controller pairs are designated for the NRPN number and the RPN number may suggest that a MIDI channel could have simultaneously a current NRPN and a current RPN. However, NRPNs and RPNs share a common mechanism for setting the parameter value. Therefore there is only one active parameter number per channel.

There are four MIDI Controllers involved in assigning a value to the active parameter. Controller 6 (called the Data Entry MSB) sets the parameter value directly, and Controller 38 (called the Data Entry LSB) may optionally be used as a fine adjustment to improve on the precision of the parameter value.

The Pitch Bend Sensitivity RPN (0,0) is also known as Pitch Bend Range. The high order adjustment uses Controller 6 (Data Entry MSB) to set the range in semitones. The low order adjustment uses Controller 38 (Data Entry LSB) to set the range in cents (that is hundredths of a semitone.

Master Fine Tuning (RPN 0,1) uses both Data Entry controllers to provide a fourteen bit value which represents the tuning displacement (up or down) in fractional parts of a semitone. Full range equals one semitone; a single step represents 100/8192 cents. The centre value (8192) corresponds to the standard (A440) tuning.

Master Coarse Tuning (RPN 0,2) uses just the Data Entry MSB controller to provide a seven bit value which represents the tuning displacement (up or down) in whole semitones. The center value (64) corresponds to standard tuning.

It is now widely regarded as best practice to Null (RPN 127, 127) the active parameter number immediately after sending the Data Controller(s). If the active parameter number is left open, and the equipment is not turned off, a parameter could remain set for years! A rogue Data Entry message on the corresponding channel could then cause unintended changes.

So translating these three pieces of info, I believe I have the actual RPN MIDI message that will set the pitch bend range to +/- 24 semitones on an MPE sound source.

101:0, 100:0, 6:24, 101:127, 100:127

From the MPE spec document:

Quote
1.3 Terminology

Active Note. Any note for which a Note On message has been delivered, but a Note Off message has not.

Occupied Channel. A Channel with at least one active note.

Released Note. A note for which a Note Off message has been delivered. A Released Note may continue to sound for considerable time, most often owing to the length of a release envelope or an interaction with the sustain or sostenuto pedal.

Zone. A group of contiguous MIDI Channels comprising a Master Channel and one or more Member Channels.

Lower Zone. The Zone that encompasses Master Channel 1, and is allocated MIDI Channels increasing from Channel 2.

Upper Zone. The Zone that encompasses Master Channel 16, and is allocated MIDI Channels decreasing
from Channel 15.

Member Channel. Any MIDI Channel within a Channel Zone that is not a Master Channel.

Master Channel. A MIDI Channel reserved for conveying messages that apply to the entire Zone.

2.1 MPE Mode Configuration

The MPE mode of operation ("MPE Mode") is enabled in a controller or a synthesizer when at least one MPE Zone is configured.

All MPE-compatible devices must support the MPE Configuration Message, in addition to any optional means (such as a power-up default, or via on-board selection) for configuring MPE Mode.

The MPE Configuration message is typically received from a digital audio workstation or a remote control application.


If your guitar to MIDI converter's base channel is MIDI channel 1, and channels 2, 3, 4, 5, 6, and 7 are used for each string's MIDI, you should use the lower zone on the target MPE synth.

Here is a message for creating a single MPE Zone with the master Channel on MIDI channel 1, with 6 member Channels (on MIDI channels 2–7). The second message turns off the upper zone.

B0 79 00 (B0)64 06 (B0)65 00 (B0)06 06
BF 79 00 (BF)64 06 (BF)65 00 (BF)06 00

This configures your MPE synth's zone and member channels to match the FTP's base and string channels.

Remember you need to send the pitch bend range message to all of the member channels of the sound source.

Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

scratch17

In the two years since I started this thread, there have been some great hardware and software synth releases that have included MPE support.

Of special note is the Eganmatrix Module from Haken. It is a Eurorack format 8 voice polyphonic MPE supporting synth with MIDI and CV control input and output.

The Eganmatrix is a bleeding edge synthesizer design. It uses mathematical formulae in its included editor to create its sounds. In essence the formulae are algorithms that cover various forms of synthesis types.

Eganmatrix engine is used in the Haken Contonuum, Continumini and the the soon to be released Expressive E Osmose. Osmose looks to be the most innovative keyboard based instrument released in years.

The module also has analog stereo I/O so it can be used as a stand alone multi effect with any audio source.

At $799 it is a true bargain in these days of high priced synths which are not much more than re-releases of previously designed synth types.

I will be buying an Eganmatrix Module this fall to start my hardware synth collection. Initially it will be the target of my FTP which works, but is prone to occasional glitching.

I also use Melodyne Studio 5 to convert hex audio from my Brian Moore i213. It does a fantastic job of conversion, but it does not work in real time. As a conversion processor I find it nearly flawless with few if any glitches.

So I am still considering a Sonicsmith E1 to drive the Eganmatrix module in mono in real time. That gets me lead lines in real time.

Of course I need a Eurorack case and power supply to house my nascent collection. I am still doing research on that.



Hamer Duotone, Brian Moore i213, Taylor 710 BCE 

VG-99, FC-300, RMC Fanout
RJM Mastermind GT10
Kemper Profiling Amp
Radial JDV Mk3, X-Amp
Mesa Recto Pre + 20/20
68 Fender Bandmaster (AB763)
Marshal AS80R

UA Apollo X6, Twin X, Logic Pro, Luna, Melodyne Studio

kevorkian

Quote from: scratch17 on September 28, 2020, 02:00:44 PMRon at RJM Music replied to my question as to whether the RJM Mastermind controllers can send pitch bend range RPN messages. The good news is yes, they can!

Now I have also found a reply to a question about some old MIDI files with RPN messages the user needed to understand. This is from the Midi Manufacturers Association forum:

Here is an excellent explanation about RPN and NRPN messages from Philip Rees:

So translating these three pieces of info, I believe I have the actual RPN MIDI message that will set the pitch bend range to +/- 24 semitones on an MPE sound source.

101:0, 100:0, 6:24, 101:127, 100:127

From the MPE spec document:

If your guitar to MIDI converter's base channel is MIDI channel 1, and channels 2, 3, 4, 5, 6, and 7 are used for each string's MIDI, you should use the lower zone on the target MPE synth.

Here is a message for creating a single MPE Zone with the master Channel on MIDI channel 1, with 6 member Channels (on MIDI channels 2–7). The second message turns off the upper zone.

B0 79 00 (B0)64 06 (B0)65 00 (B0)06 06
BF 79 00 (BF)64 06 (BF)65 00 (BF)06 00

This configures your MPE synth's zone and member channels to match the FTP's base and string channels.

Remember you need to send the pitch bend range message to all of the member channels of the sound source.



I missed these replies (for years apparently). This is all excellent info and is something that I was unaware of. Must give this a try with my RJM! Thank you!