Notifications
Clear all

Unify, MPE Controller and Non-MPE Soft Synths

18 Posts
5 Users
1 Likes
314 Views
(@chris2048)
Active Member
Joined: 2 years ago
Posts: 5
Topic starter  

I have just ordered myself an MPE keyboard (Joue Play) to play with. I believe standard MPE VSTs (such as Pigments and some other Arturia synths, Surge XP, Vital, etc) will play as an MPE instrument without problems within Unify, but I was also thinking about non-MPE VSTs working and getting them to work as MPE synths or maybe partial MPE. I know Kontakt can be made to 'sort of support' MPE with a few patch edits and then creating multiple instances (e.g. 6 instances for 6 note polyphony) as shown in a useful Roli YouTube video, and I have seen a (very expensive) program called MPEfy which appears to layer multiple instances of the same VST and add a little magic so the instrument plays and responds to an MPE keyboard (the video demonstrated it with Massive).

Given Unify allows us to create and layer multiple instances, I am hoping it can help in this context. Has anyone tried setting up non-MPE synths within Unify to work as a pseudo MPE instrument with an MPE controller, what level of success can be achieved, or any tips on the use of MPE with Unify

In particular, I like the look of the Joue guitar pad in MPE mode and would like to create some MPE guitar-like presets for it.

Thanks.

 

This topic was modified 7 months ago by Chris2048

   
Quote
(@getdunne)
Illustrious Member Admin
Joined: 5 years ago
Posts: 4410
 

Posted by: @chris2048

I believe standard MPE VSTs (such as Pigments and some other Arturia synths, Surge XP, Vital, etc) will play as an MPE instrument without problems within Unify...

They should.

...I was also thinking about non-MPE VSTs working and getting them to work as MPE synths or maybe partial MPE.

There is limited support for this in PolyBox. In particular the "MPE Kbd" mode, but note this remains experimental. I'm interested in feedback about what works and what does not, when trying to use a MPE keyboard to control a stack of non-MPE synth layers.

 


   
ReplyQuote
(@chris2048)
Active Member
Joined: 2 years ago
Posts: 5
Topic starter  

Thanks for the reply. I have not looked into Polybox before but just had a quick look and can see the option you refer to. I'll spend some time getting my head around how best to use it and look forward to seeing what I can do

 

 


   
getdunne reacted
ReplyQuote
(@chris2048)
Active Member
Joined: 2 years ago
Posts: 5
Topic starter  

I have had a play with Polybox and it looks helpful. I'm still waiting for my MPE controller for final testing of my patches, and suspect it will be few weeks before being delivered, but this looks like it will be fun. (by the way, you can sort of test MPE patches using this web based MPE tester  https://studiocode.dev/mpe-tester/ and loopMIDI or similar. 

I’ve also just seen the interesting message someone left in the Facebook Unify Group about using Unify with Geoshred and the comment "not a lot of users of Unify are aware of the MPE capabilities inside Unify", I would be interested in anyone else’s experience of MPE with Unify, and as per the Facebook post it would be great to see John do a video on the subject.


   
ReplyQuote
(@getdunne)
Illustrious Member Admin
Joined: 5 years ago
Posts: 4410
 

Posted by: @chris2048

...it would be great to see John do a video on the subject.

As far as I know, John does not have any MPE controllers, and hence has no experience with MPE. It would be great if someone could do an "MPE and Unify" video, though.

 


   
ReplyQuote
mschiff
(@mschiff)
Member
Joined: 4 years ago
Posts: 450
 

This was done on a QuNexus MPE keyboard in Unify with Plasmonic. It works beautifully.

https://soundclick.com/share.cfm?id=14466927

 


   
ReplyQuote
DOMINIQUE
(@dominique)
Reputable Member
Joined: 4 years ago
Posts: 196
 

Here is my experience with MPE (sorry for my english )

in MPE Osmose mode I tried Pigments, Plasmonic, Surge, Memorymode, Dreamsynth, Sine, Generate .

Omnisphère or GX-80  doesn't have an MPE mode at the moment but responds well to polyphonic aftertouch (and that's already great!). For now it's Pigment and Plasmonic that I find super powerful to use in this mode. You can almost everything affect the initial pressure and it's really great. the results are quite incredible. At the slightest pressure the sound transforms in a very progressive expression .

The only problem is that osmose has this double advantage in MPE mode of having 2 distinct expression controls: MPE initial pressure + polyphonic aftertouch. Whereas the VSTi that I tried in MPE mode only have one. For example, Pigment considers that the MPE pressure of Osmose is aftertouch for it. Likewise, Plasmonic in MPE mode only offers one control (MPE Pressure) and deactivates aftertouch.

Same thing for the other VSTs mentioned of course we can reassign the osmose aftertouch to a different CC (cc74 by default in osmose) but this one is monophonic and the results are zero, the last press canceling the previous one. As a result, we lose the potential for a double simultaneous expression generated by osmose. I reported this to Arturia and Rhyzomatic (plasmonic). They recognize that this is a lack at the moment, osmose being a new product this was not planned. If there are numerous requests, an update may be considered. Likewise, I noticed that with the Haken Audio engine the sustain pedal works perfectly on all sounds while it is inactive externally (always in MPE). And that's a shame because it's really a function interesting. This would avoid having to maintain constant pressure on the keyboard to prevent the sudden drop in sound in the case of a pad or an evolving texture.

Dominique
WIND 10 Reaper 6 Kronos / Osmose / Motif / Vsynth / Karma / Omnisphere 2.8 / Keyscape / Nylon sky / Undercurrent /Stylus / UVI Ravenscroft & Orchestral suite, Spitfire Originals collections & Labs , BBCSO core ,Abey road 2, Frozen strings , Albion Tundra , Solo strings, Chamber strings evolution, British drama tool kit, Fragile strings evolution , Aperture , Appassionata ,Mercury Solar, Orchestral tool Habitat & Salu, Arturia Pigments , Rapid Parawave , Plasmonic, Surge , Descent Sampler, Flow motion, Pianoteq pro, Memorymode, Sine ,Bx_Oberhausen, FM8, Eight voices, Dreamsynth, GX-80, Lion, Byome, Triad, Royal Albert hall Organ, Kniffonium, Vital, Minimonsta 1&2 , Imposcar ,Surge ,Generate , Oddity 3 , PhasePlant


   
ReplyQuote
DOMINIQUE
(@dominique)
Reputable Member
Joined: 4 years ago
Posts: 196
 

I wrote to Expressive E about MPE sustain issue . Here is the exchange below 

 

"Good morning ,

I commonly use Osmose in MPE mode on Pigment or Plasmonic to control many parameters such as volume, filter etc. The problem is that in this case the sustain pedal does not really have any effect because the channel preasure command drops suddenly when the pressure is released.

Are you considering adding to the MPE parameters the possibility of applying a sustain or at least a release to the channel preasure in order to either maintain the sound level or allow the release of pressure to return to zero more or less progressively? ? like a sort of “ADSR”?

With the Haken audio engine there is no this problem. The sustain works perfectly.

 

answer

Hello Dominique ,

Thank you very much for your message. It's always a bit complicated to integrate sustain in the MPE context because the nature of sustain is more of something that is "on" or "off" without the intensity details of the sound. The sustain in the EaganMatrix is very specific but not implemented in the MPE standard. The inertia feature that you describe as a compromise is something that we also recommend to developers of plugins and hardware that support MPE, but it is more of a feature that should be integrated on the sound engine side, not the controller side because that it makes sense to have different behaviors for each preset.

I'm sorry I don't have a better answer.

Sincerely,

Chris Hans

so wait and sea 😏 

 

Dominique
WIND 10 Reaper 6 Kronos / Osmose / Motif / Vsynth / Karma / Omnisphere 2.8 / Keyscape / Nylon sky / Undercurrent /Stylus / UVI Ravenscroft & Orchestral suite, Spitfire Originals collections & Labs , BBCSO core ,Abey road 2, Frozen strings , Albion Tundra , Solo strings, Chamber strings evolution, British drama tool kit, Fragile strings evolution , Aperture , Appassionata ,Mercury Solar, Orchestral tool Habitat & Salu, Arturia Pigments , Rapid Parawave , Plasmonic, Surge , Descent Sampler, Flow motion, Pianoteq pro, Memorymode, Sine ,Bx_Oberhausen, FM8, Eight voices, Dreamsynth, GX-80, Lion, Byome, Triad, Royal Albert hall Organ, Kniffonium, Vital, Minimonsta 1&2 , Imposcar ,Surge ,Generate , Oddity 3 , PhasePlant


   
ReplyQuote
mschiff
(@mschiff)
Member
Joined: 4 years ago
Posts: 450
 

I just purchased a Seaboard Rise 2 keyboard, and have been experimenting with MPE and Unify. As mentioned, all the MPE instruments I have found work just fine in Unify. I have tried Roli Studio, Equator2, Plasmonic and Serum. 

There is one issue that I have not been able to isolate yet. 

Here's the setup:

A new project in Cakewalk.

Add a Unify instrument track.

Click on the button to change the instrument, and add Roli Studio

Select a patch (I selected one from Equator 2)

Add a patch to the current set

Record some sounds in a clip

Add a PluginGuru patch to the same unify instrument

Play the project

The Roli track plays, but the PluginGuru one does not

I have not tested to see if this happens with every other instrument track, just a few like these. 

-- Martin

 

 

This post was modified 4 months ago by mschiff

   
ReplyQuote
mschiff
(@mschiff)
Member
Joined: 4 years ago
Posts: 450
 

I don't know what it was, but today when I add other Unify native patches, they work fine along with an MPE patch from Roli Studio.


   
ReplyQuote
mschiff
(@mschiff)
Member
Joined: 4 years ago
Posts: 450
 

Still finding that some patches don't want to play at first in Cakewalk in a Unify track with the Rise 2. If I load another patch, then go back, it almost always plays. I will need to see if I can track down what is going on.

Any plans to add MPE to Unify? That would give John tons of new stuff to play with for new libraries and a new market. Roli uses Juce for Equator 2.


   
ReplyQuote
(@getdunne)
Illustrious Member Admin
Joined: 5 years ago
Posts: 4410
 

Posted by: @mschiff

Still finding that some patches don't want to play at first in Cakewalk in a Unify track with the Rise 2. If I load another patch, then go back, it almost always plays. I will need to see if I can track down what is going on.

Please post a simple patch so I can try to reproduce this.

Any plans to add MPE to Unify? That would give John tons of new stuff to play with for new libraries and a new market. Roli uses Juce for Equator 2.

MPE is for synths and other instruments, which allocate and manage instrument voices. Unify is a host; it does not have access to voices within hosted instruments. In theory we might do something with Guru Sampler, but since Unify v1.8.2 you can already do some things with PolyBox, using two new items at the bottom of the Mode menu as follows:

  • MPE Synth helps when using a non-MPE keyboard to control MPE synths. Use one instance of PolyBox driving one instance of the MPE synth plug-in, to separate input MIDI notes out onto multiple MIDI channels.
  • MPE Kbd helps when using an MPE keyboard (e.g. Roli Seaboard) to control a stack of non-MPE synths. Use one instance of PolyBox on a MIDI layer, driving multiple INST layers set to different MIDI channels. In this mode, PolyBox passes MIDI notes through without altering channel numbers, but duplicates input CC, Pitch Bend, and mono/poly aftertouch to all channels.

These modes remain experimental, until I can get enough feedback to determine what further changes may be needed.

 


   
ReplyQuote
(@laidbackdood)
Active Member
Joined: 2 years ago
Posts: 13
 

Hi Shane,

There is still one big issue with MPE controllers and Unify and that is even thought the controller is supported, MPE sends data on all channels. This makes it difficult to isolate one layer to on controller. We cannot use channel to split items, only note ranges.  In one scenario, let's say we have a seaboard or osmose to control one MPE instrument such as Pigments, the layer would have to accept ALL channels. Now I create a second layer that I want any other controller to work on (either MPE or not) and we set the channel to 2 for example, the controller that sends on 2 will trigger both layers and there is a possibility that the MPE controller that's controlling the 1st layer will also trigger the 2nd layer when it sends a note on channel 2. This is an issue that was brought up a year ago and I'm hoping that the new Unify "PRO" will allow me to specifically assign controllers and not just channels/note ranges to layers *crosses fingers*. 

As for combo box, it works, we have to filter each channel 1-16 to go to its own instrument instance and MPE will work. On the other side, poly box will also work for non-mpe controllers but sometimes there's a chance for note-off glitches.  Thank you for mentioning the two options on the bottom, I didn't know about them and will try it out (the duplication of cc values would be useful).

Looking forward to your next release and happy new year.

Mike


   
ReplyQuote
(@getdunne)
Illustrious Member Admin
Joined: 5 years ago
Posts: 4410
 

Posted by: @laidbackdood

...MPE sends data on all channels. This makes it difficult to isolate one layer to on controller.

...I'm hoping that the new Unify "PRO" will allow me to specifically assign controllers and not just channels/note ranges to layers *crosses fingers*.

I'll make sure this is on the to-do list. It will only work for the Unify stand-alone app, because plug-ins have no way to distinguish the source of MIDI messages.

As for combo box, it works, we have to filter each channel 1-16 to go to its own instrument instance and MPE will work.

This is exactly what the PolyBox "MPE keyboard" mode is designed for, but with the advantage that instruments are on separate layers and hence benefit from parallel processing on multi-core CPUs.

...poly box will also work for non-mpe controllers but sometimes there's a chance for note-off glitches.

What have you observed? Details please.

 


   
ReplyQuote
(@laidbackdood)
Active Member
Joined: 2 years ago
Posts: 13
 

@getdunne 

Posted by: @getdunne

I'll make sure this is on the to-do list. It will only work for the Unify stand-alone app, because plug-ins have no way to distinguish the source of MIDI messages.

I understand it will only work with the standalone which is fine. Right now for me to use it that way, I would need to use another application like GigPerformer to specifically route a device to a different instance of Unify but would prefer not to have to use this as it does contribute to instability. 

I do have a request, I know we have the option to duplicate layers to incremental channels based on an initial layer which is great, however if I want to make adjustments to the initial layer and propagate the changes to the sequential layers, I would have to delete each layer and recreate. It would be awesome if I can just overwrite the layers somehow to avoid having to delete each one. Another option would be to create a new Unify instance with all layers inside and deactivate the source layer so that I would only have to delete the Unify layer and recreate. Not so much an issue with 4 layers, but it's a lot of clicking around for 16 layers.

Posted by: @getdunne

This is exactly what the PolyBox "MPE keyboard" mode is designed for, but with the advantage that instruments are on separate layers and hence benefit from parallel processing on multi-core CPUs.

I tried the polybox in both MPE synth and MPE keyboard mode. The MPE keyboard mode works as I expect, with the channels used by the MPE controller being passed properly to the identical channel layer and forcing channel 1 cc to pass across the board, simply great! I'm not sure what the MPE synth mode is doing however, the output notes from a single channel controller (non-mpe) seems to just be passed on to the first channel which defaults to 2, maybe I set it up incorrectly?  

As a side note, both Seaboard and Osmose has a multi-channel mode which does send out cc messages to all channels while putting all notes on separate channels for compatibility with non-mpe instruments which is what I used not knowing about the polybox option. This mode also allows me to set channel ranges which is what I tried to overcome overlap between two midi devices, however it's not easy to select multiple channels as input to just one instrument, its either ALL or 1 channel.

Posted by: @getdunne

What have you observed? Details please.

I tried replicating my polybox note-off glitches in mono/ep mode but everything seems to be working right now. I'm using two controllers at the same time (both with 32-37 keys) to control different octaves on the same channel. Maybe I had the notes overlap in octave before which caused issues. Sorry.

Thanks again Shane


   
ReplyQuote
(@getdunne)
Illustrious Member Admin
Joined: 5 years ago
Posts: 4410
 

@laidbackdood

Re propagating changes to all layers in a PolyBox extended-polyphony setup: This makes perfect sense. My original idea was to create a special "extended polyphony" layer type, where you would see only the first plug-in instance, and any changes you made would automatically propagate to the other (hidden) layers. I realized this would be too much work, and a bit of a one-trick pony, and this led to the idea of PolyBox. Note that (as John has shown in many videos) you can reduce the number of clicks by ALT/Option-clicking INIT to delete all INST layers except the first, then disable the PolyBox instance and make your changes, then re-duplicate and re-enable PolyBox. It's not perfect, but it helps.

Re PolyBox MPE Synth mode: This is intended to allow using a non-MPE keyboard, which transmits on a single MIDI channel, to control an MPE synth which expects input note-events to be spread out across a range of MIDI channels. My understanding (correct me if wrong) is that by default, an MPE synth designates input channel 1 as the "master" channel (CC events on ch.1 affect all active voices), and channels 2-16 as the "MPE range". That's what I observed when testing the Roli Seaboard, and why PolyBox sends first on ch.2 (not ch.1) as you observed.

Re PolyBox note-off glitches with multiple MIDI controllers: Thank you for clarifying. PolyBox keeps track of which channel it assigned to each note-on, in order to assign the corresponding note-off to the same channel (and hence to the same INST layer in a stack). Multiple MIDI keyboards will confuse this, because if you press e.g. middle C on controller 1, then again on controller 2, then release the key on either, PolyBox has no idea which output channel to assign. The only way to fix this would be to have the MIDI controllers transmit on separate channels, then use two separate embedded Unify layers (each set to receive only on one of those channels), with a PolyBox instance in each one.

When you have multiple questions, please separate them onto individual comments. It took me quite a while to read your post thoroughly enough to parse out the three issues above.


   
ReplyQuote
mschiff
(@mschiff)
Member
Joined: 4 years ago
Posts: 450
 

@getdunne I am still trying to isolate the issue with a patch not playing. It is kind of random, so I need to be able to reproduce it before I send you down a rabbit hole.


   
ReplyQuote
(@laidbackdood)
Active Member
Joined: 2 years ago
Posts: 13
 

@getdunne Thanks Shane for the pointers. Unfortunately, I haven't had a chance to view all of the YT videos. I'll look more into it and get back to you on anything. -Mike


   
ReplyQuote
Share: