Jump to content

Status of Logic MIDI 2.0


hkremer

Recommended Posts

Now that there are a couple full size midi 2.0 keyboard controllers out - Korg and NI - I'm wondering what that means for Logic, since there's tick box for it in prefs. Any news on this? I'm looking at both, but want to be sure that there are enough 2.0 plugins. Will be interesting to see how long various companies take. I imagine Arturia will be announcing an MPE/MIDI 2 keyboard along with their plugins being 2.0. I tried using their integrated keyboard/plugin mapping, but without an indication on the keyboard, it's too much looking up and down and trying to figure what goes with what on each different plugin. Serum will probably be soon, as it was with MPE. I'm not a Kontakt user, but I know their stuff is. News from any others? 

Link to comment
Share on other sites

 

I don't see the Korg Keystage as currently available and is only listed in smaller non-professional form factors with less than 76 keys. Those claim MIDI 2.0 integration.  Neither do I see the new NI S-series mkIII controllers available.  NI lists MacOS 13.5 (Ventura) or newer as a requirement for MIDI 2.0 support.  I take that to mean updates in MacOS and/or the included Core MIDi framework in that release of Ventura or later is required for the NI controller to work with Logic (and probably other DAWs).  MIDI plugins would also likely use Core MIDI in MacOS and so could have a similar dependency.

So while you can already check the box for "MIDI 2.0" via the pull down menu "Logic Pro" --> Settings --> MIDI  ... I suspect it is pretty useless unless you are running Logic on the correct version of MacOS with Core MIDI *AND* you have a MIDI 2.0 controller running firmware known to work with some combination of Logic/MacOS.

Back in 2000 Roland listed the A-88 mkII keyboard controller as "MIDI 2.0 ready".   I have not checked if the release notes mention MIDI 2.0 , but Roland released firmware/driver updates thru MacOS Ventura.  Roland also makes the code available under a typical open source license.

You should read the keyboard controller info carefully as language like "MIDI 2.0 ready" or "MIDI 2.0 integration" may not mean it is a fully functional MIDI 2.0 controller.  I would wait for some review/test report to come out about a new MIDI 2.0 controller.  I would not be eager to buy a MIDI 2.0 controller that does not allow firmware upgrades given early 1.0.X firmware versions will likely be buggy and need fixes.

 

Link to comment
Share on other sites

Hi there, thanks for the long reply. Unfortunately it didn't address my question, rather instructed me how to think about it. I've been doing this a long time, as have many on the forum, so you really needn't have taken the time. A couple follow up comments. How is fewer than 76 keys not professional? Countless professional keyboard players use synths that are fewer than 76 keys. I can't even think of a synth with 76 keys other than the hydrasynth deluxe (73) and workstations, which are synth(ish). Certainly no analog synths that I am aware of have >= 76 keys. Many organs have fewer than 76 keys. Most synths are typically 61, 49, or 37 (e.g. Mini Moog, known to grace the stage and studio of at least a few professionals). A quick check of any online store would confirm that. Maybe you're talking about pianos? If so, why would you need MIDI 2.0 for a piano? I suppose there would be some cases but it's not really the point. 

NI Kontrol 3 is available now. Sweetwater, 61 keys available now. Korg Key Station in a few weeks. And of course probably everyone on this forum knows about the perils of V1 of anything, but thanks for the reminder. And yes, everyone "should read" about what they are buying and how various technologies interact, which of course I do. But thanks for the reminder.

So my questions remain: Has anyone heard anything about the status of Logic instruments and MIDI 2.0? Second, does anyone know of other virtual instruments that are or are planned to implement it soon?
 

 

 

 

 

 

 

 

 


 

 

Link to comment
Share on other sites

I haven’t found anything from NI yet that explains what the MIDI 2.0 support entails.  They put this in the S61/88 mk3 manual:

ScreenShot2023-11-03at10_10_57AM.thumb.png.5e7a8289ecc3f216b9a47904fa6f8d4b.png

So I clicked on the link to the Knowledge base and searched for MIDI 2.0…nothing.  That’s the only mention of MIDI 2.0 in the entire manual. No mention of MPE, etc.

Has anyone located Apple documentation on MIDI 2.0 support in Mac OS beyond announcements that it is in the latest Mac OS and iOS versions?

 

 

Link to comment
Share on other sites

13 minutes ago, enossified said:

ScreenShot2023-11-03at10_10_57AM.thumb.png.5e7a8289ecc3f216b9a47904fa6f8d4b.png

Thanks for checking that. It sounds like a CYA for NI. They may not want to say much about it at this point since there aren't many 2.0 virtual instruments, other than Korg's Wavestate and I think the Kontakt stuff. Loopop, I think, was showing how the Korg worked with Kontakt plugins via 2.0. If they promise something in the manual, like controlling VIs, some people may complain about it not working with their plugins. 

Link to comment
Share on other sites

This document from the MIDI Association was released earlier this year. If I read it correctly,  USB connectivity is available today and they are working on Ethernet and wireless. No more DIN or TRS plugs.

It goes through in reasonable detail how it works from a user perspective. 256 channels (16 groups of 16), higher resolution controllers…16 bit velocity, 32 bit pitch bend, etc., new types of messages.

No Windows support until next year and I haven’t heard about any hardware instruments that support it yet.  Until it's in Windows, I expect the rollout of compliant plugins will remain slow. 

I assume that Mac OS and Logic support simply means they can deal with the new messages in the protocol. Since there’s been no mention of any of the native Logic devices, I assume that none of them are compliant and using a MIDI 2.0 controller today would just revert to MIDI 1.0 compliance with them. If either the controller or controlled devices are MIDI 1.0, it doesn’t matter that the other is MIDI 2.0. That’s always been the way MIDI has worked, the least featured device always dictates what works and what doesn’t.

Link to comment
Share on other sites

8 minutes ago, enossified said:

This document from the MIDI Association was released earlier this year. If I read it correctly,  USB connectivity is available today and they are working on Ethernet and wireless.

Cool thanks I'll check that out, wonder if wireless is bluetooth or wifi or both. 

I wouldn't doubt it if the elves on the Logic team have it pretty much ready to go for their instruments, as they did with MPE when MPE controllers first started showing up, Linnstrument, Keith McMillan, Roli. Apple has been announcing new Logic versions in the spring, but can't help thinking that if it's ready they would roll it out on an incremental. I imagine Arturia has it planned for a much needed new Keylab series, along with their vintage synth collection. All speculation, but I'm interested because it could get me back to using soft synths - I need knobs and sliders!

Link to comment
Share on other sites

rAC,

As always just because the spec has a max resolution number, that doesn’t mean devices will support it!  I remember early MIDI synths that only transmitted on channel 1 and received in Omni mode (i.e. respond to any messages on any channel).

I owned the late-80s Roland TR-505 drum machine that had the beloved “accent” feature. It was nothing but two bit velocity resolution! The non-accented level was any note velocity up to 64. Then the user could select the velocity level for accents in increments of 16…80, 96, 112, 127. 

MIDI 2.0 will be great, just not for a few more years.

Link to comment
Share on other sites

Not decrying MIDI 2.0 at all, but as I said I find heralding the change to 16bit resolution for velocity a bit weird given the lack of use of it’s current resolution in keyboards, but I suppose some other instruments like drums might well be different. Don’t get me started about the lack of devices/software that responds to note off velocity.

And yes, I too, can remember some of the early MIDI devices and their peculiarities.  

It is good to see that MIDI 2.0 has been agreed and I am hoping that it will be actively and rapidly embraced by hardware manufacturers. I’m sure that there are possibilities that it will open that the likes of you and I haven’t considered.

Link to comment
Share on other sites

Quote

... I can't even think of a synth with 76 keys other than the hydrasynth deluxe (73) and workstations, which are synth(ish)...

There's always been a market for the high end synths in an unweighted 76 (or maybe 73) key format from Roland, Korg, Yamaha, Kurzweil, etc.; those can double as master MIDI controllers.  Professionals in orchestras, ensembles, theater productions, touring bands often prefer 88 keys, but most of those models are weighted, less portable and may not hold up well.   Music is often expected to be played with, e.g., written for, more than 61 (if not 88) keys, so 76 is a good compromise.  The higher price tag for MIDI 2.0 keyboards means some vendors will initially offer them in smaller sizes to be more affordable and test the market.

Link to comment
Share on other sites

  • 3 weeks later...

I bought WoodTroller for iPad, since it has MIDI 2.0, and activated MIDI 2.0 in Logic... and I can't seem to get any of the MIDI 2.0 behaviors from Logic synths.

(This was an act of spite against GeoShred Control's horrific UI)

Happily I get the MPE mode to work with this combo, so I'm still better off than with horrific GeoShred Control.

Link to comment
Share on other sites

  • 4 weeks later...

well hey one thing I want to know is if LogicPro is supposedly 2.0 ready, then we should be able to create a midi region and add notes with 16bits of velocity resolution, etc...using the GUI..and right now...I don't see that possibility.  Seems to me that this checkbox will downgrade all incoming Midi 2.0 messages to midi 1.0 resolution in general.  I don't see Logicpro as being a full featured 2.0 midi sequencer end to end.  Midi 2.0 is able to carry both legacy 1.0 midi messages and newer higher resolution messages, its backwards compatible.  My guess is that LogicPro is just basically able to read incoming midi 2.0 messages, but internally, its still basically a lower resolution engine for storing and manipulating midi messages throughout the entire DAW.  Hopefully in the future they will increase internal midi resolution as it makes sense to do so, but really I don't think there are any AU plugins that have any idea what to do with that yet.  The environment will probably be stuck in lower resolution until it dies a grisly death once and for all also.  I just don't see this as being that big of a deal other than being able to accept native 2.0 messages from say a Roland keyboard controller that sends it.  perhaps eventually there will be some midi devices with proper 2.0 timestamping and maybe LogicPro will at least make use of that..or CoreMidi will...but ultimately the higher resolution midi and other features promised by midi 2.0 are years away from making any significant difference.  Its gonna take a while

Link to comment
Share on other sites

28 minutes ago, Dewdman42 said:

Seems to me that this checkbox will downgrade all incoming Midi 2.0 messages to midi 1.0 resolution in general.

Here's what the 10.8 manual says:

"Enhanced MIDI 2.0 support: Choose whether to display MIDI data in the List Editor and
other editors using higher-resolution MIDI 2.0 percentages or decimal numbers, or
using standard MIDI 1.0 values."

In Settings -> View -> General, there is a menu "Display MIDI Data as:"

"Display MIDI Data As pop-up menu: Choose with what resolution MIDI data is displayed
in various editors and help tags. The second and third options provide higher data
resolutions introduced with MIDI 2.0—16-bit for velocity and 32-bit for pitch bend,
aftertouch, and continuous controllers.

• MIDI 1.0: Values are shown in a 7-bit range from 0 to 127 as in previous versions
(based on the MIDI 1.0 standard).
• 0.0 - 127.9: The value before the decimal separator maps to the MIDI 1.0 value. The
decimals represent the resolution of the additional bits.
• Percent: Values are represented as percentages from 0% to 100% with varying
decimals, depending on the parameter.

Higher-resolution values for note velocity, release velocity, continuous controller,
aftertouch, polyphonic aftertouch, and pitch bend can be displayed in the following
areas:

• Event List. See Edit Event List events.
• Event Float window. See Use the Event Float window.
• Help tag for note events in the Piano Roll Editor and Score Editor. See Edit the
velocity of notes using the pointer.
• Velocity slider in the Piano Roll Editor local inspector. See Edit velocity in the Piano
Roll Editor.
• Velocity slider in the Score Editor local inspector. See Change velocity in the Score
Editor."

Is this not working for you? (I don't have any MIDI 2.0 controllers to try).

Link to comment
Share on other sites

Thanks.  I can't find that in 10.7.9 so must be new.  10.7.9 only has the one checkbox for midi 2.0 in the settings Midi pane.

 

still though, until plugins support midi 2.0 its kind of meaningless other then being in preparation for the future.

I was specifically curious about it because I want to see how Scripter has been updated for midi 2.0 and it might mean that higher resolution scripts can be written using bigger data ranges in certain ways compared to previously, but at least in 10.7.9 it doesn't appear to be the case, maybe in 10.8, but I'll be stuck on Monterey for a couple years...so (shrug)..end of that experiment.

Edited by Dewdman42
Link to comment
Share on other sites

1 minute ago, oscwilde said:

Nothing specific for it yet....but there are some bits and pieces here:
https://github.com/midi2-dev

I don't see initially anything related to LogicPro Scripter there.  ??

The main thing Scripter should have now in LogicPro 10.8, which I can't test but maybe some of you could verify...would be the ability to, for example, use higher resolution CC values in Event objects...and they would be passed down the midi plugin chain and into the instrument, notwithstanding the fact that an AU plugin probably wouldn't know what to do with that..but I digress... 

Link to comment
Share on other sites

8 minutes ago, Dewdman42 said:

I don't see initially anything related to LogicPro Scripter there

There are a couple of Javascript utilities there that might be useful for working out values, etc.
As I mentioned...nothing specific to Scripter and not a lot around for MIDI 2.0 in general.
Just pointed out the resource as something that might be of interest to folks who want to poke around / experiment with MIDI 2.0.

Link to comment
Share on other sites

I don't know any that can.  But anyway if you can change your display to let you edit midi events with 2.0 resolution then you can insert some midi events into a region with the pencil tool and edit them to have some big CC values like 1000 or something and some big velocity values, etc.. 

And then in Scripter on that channel use this:

function HandleMIDI(event) {
    Trace(JSON.stringify(event));
}

and watch the scripter console window to see what it says.

Link to comment
Share on other sites

22 minutes ago, des99 said:

If I can find something that will generate that data I can try, I can do some tests - but I'd be surprised if the Environment knew anything about MIDI 2.0 data...

And likewise to the above, what happens if you send midi events with bigger 16 bit values through the environment...  if you open transformer object, will it give you the ability to make transforms based on that?  How about 16 bit faders?  etc.  but it will an interesting question also to see if running any high resolution midi through the environment on the way to Scripter logging would strip it back down to 7 bit midi or what would happen.

 

Link to comment
Share on other sites

I don't know this for sure, but I rather suspect that those large resolution CC values and velocities will be represented in Scripter as floats, rather then 16 bit integers.  That way when entering the environment it will just round it up or down by truncating the decimal places..when running through 7bit code such as in the environment.  And that's how they would also truncate when going into AU plugins as well.  Just a guess.  

Link to comment
Share on other sites

Basically, what seems to happen is what you expect - the MIDI 2.0 data range is scaled to the regular 7-bit range, when going through the Environment - so you lose the extra precision of the velocity values *between* the 7-bit data. You can't do really large values - ie 100% = 127, and the same with a CC message. Basically, higher precision MIDI 2.0 data gives a finer resolution, it doesn't *actually* give you, eg a much higher velocity of 1000 - it still maxes out at 127, it's just there are more values between eg 126 and 127 (126.1, 126.2, 126.3... etc). This is I guess to keep compatibility with MIDI 1.0 devices.

And in MIDI monitor, you only see 7-bit values as well, as that doesn't support MIDI 2.0. Same with ShowMIDI too. It didn't matter whether I output MIDI from Logic via the Environment, or via the External Instrument plugin.

Thinking about it - does the IAC Bus on the Mac even support MIDI 2.0 traffic? If Logic can deal with it, then I guess CoreMIDI must have been updated to handle MIDI 2.0 data, and so the IAC Bus (and CoreMIDI ports in general) presumably must support it...

Link to comment
Share on other sites

2 hours ago, Dewdman42 said:

and watch the scripter console window to see what it says.

With two notes, one with a velocity of 62.7%, and one at 99%, (and a CC at 100% I get this kind of result:

{"detune":0,"pitch":61,"velocity":80,"status":144,"data2":80,"isRealtime":false,"data1":61,"data3":0,"channel":1,"port":1,"articulationID":0,"beatPos":0}
{"pitch":61,"velocity":64,"status":128,"data2":64,"isRealtime":false,"data1":61,"data3":0,"channel":1,"port":1,"articulationID":0,"beatPos":0}
{"value":127,"number":120,"status":176,"data2":127,"isRealtime":false,"data1":120,"data3":0,"channel":1,"port":1,"articulationID":0,"beatPos":0}

As I scale up the CC, I just get 7-bit data in the Scripter, just as with velocity.

Link to comment
Share on other sites

18 minutes ago, des99 said:

Basically, what seems to happen is what you expect - the MIDI 2.0 data range is scaled to the regular 7-bit range, when going through the Environment - so you lose the extra precision of the velocity values *between* the 7-bit data. You can't do really large values - ie 100% = 127, and the same with a CC message. Basically, higher precision MIDI 2.0 data gives a finer resolution, it doesn't *actually* give you, eg a much higher velocity of 1000 - it still maxes out at 127, it's just there are more values between eg 126 and 127 (126.1, 126.2, 126.3... etc). This is I guess to keep compatibility with MIDI 1.0 devices.

And in MIDI monitor, you only see 7-bit values as well, as that doesn't support MIDI 2.0. Same with ShowMIDI too. It didn't matter whether I output MIDI from Logic via the Environment, or via the External Instrument plugin.

Thinking about it - does the IAC Bus on the Mac even support MIDI 2.0 traffic? If Logic can deal with it, then I guess CoreMIDI must have been updated to handle MIDI 2.0 data, and so the IAC Bus (and CoreMIDI ports in general) presumably must support it...

Ah k so they are changing velocity and cc ranges to a percentage from 0-1 or 0-100 when using 2.0 resolution.  Looks like scripter is getting the rounded off 7 bit precision also. 
 

unfortunate

You can test IAC by doing a loop a record sending those events over iac and recording on a new track.  I would think CoreMIDI is already on top of it and should work but never know.

Keep in mind that internally logicpro is not really using the actual midi protocol.  It uses objects and its own internal representation of events, including extra meta data such as art id and other things.  When midi enters logicpro it is translated into internal representation possibly influenced by core midi API’s.  On the way out to real midi it would be translated again to midi 1.0 or 2.0 but IAC is not real midi its just core midi data structures unique to Apple that ideally are able to accommodate at least all the same level of detail as actual midi but its not really midi protocol per say at that point its just core midi data structure bus.  Iac, for example had a timestamp? Midi 1.0 does not.

so anyway I think basically real midi 1.0 or 2.0 comes into logicpro and won’t be real midi again until you actually try to send it to an actual 2.0 midi device.  
 

but its an interesting question whether iac can currently handle to increased resolution or will it get rounded down there also

Link to comment
Share on other sites

8 minutes ago, Dewdman42 said:

You can test IAC by doing a loop a record sending those events over iac and recording on a new track.  I would think CoreMIDI is already on top of it and should work but never know.

Ah yes - and yes, the extra resolution is preserved when going out of the IAC bus and recorded onto a new track, so that's good.

9 minutes ago, Dewdman42 said:

Keep in mind that internally logicpro is not really using the actual midi protocol.  It uses objects and its own internal representation of events

Sure, I know.

10 minutes ago, Dewdman42 said:

at that point its just core midi data structure bus.  Iac, for example had a timestamp? Midi 1.0 does not.

Sure, timestamps are a feature of CoreMIDI and the software layer that passes the MIDI events through. A timestamp is not a MIDI event, or part of one, it's part of the data structure that CoreMIDI is using to handle them - in short, it's a function of the software "pipe" the events are going through (in simple terms). It's not something that exists in a MIDI cable that's only passes MIDI events and nothing else is going on.

12 minutes ago, Dewdman42 said:

so anyway I think basically real midi 1.0 or 2.0 comes into logicpro and won’t be real midi again until you actually try to send it to an actual 2.0 midi device.  

Sure. It's only MIDI when it comes in, and goes out. Inside Logic, it's data, and that data will be represented by whatever data structures and object model Logic's using.

12 minutes ago, Dewdman42 said:

but its an interesting question whether iac can currently handle to increased resolution or will it get rounded down there also

So it seems from the above test it handles it just fine. 👍

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...