Jump to content

MIDI improvements in Logic?


EdgarRothermich

Recommended Posts

Is it me, or did Logic stop improving the MIDI implementation years ago. It seems that the only thing they touched in the last few upgrades was "Renaming Matrix Editor to Piano Roll Editor"

 

There were great new/improved features (GUI, AppleLoops, new Synth, Take Folder, Quick Comp, etc) in Logic lately but what happened to the MIDI implementation. No innovations or improvements, not even long overdue additions (multiple controller lanes anybody?)

 

One major area of problem is how to deal with Samplers that deal with complex keyswitches and controller architectures. Vienna Instruments is one example but there are many other plug-ins that allow to manipulate their sounds with more than just the ModWheel and PitchBend.

 

I wish that Apple would realize that ever growing problem and proactively would come up with a solution. Right now if you control an Instrument with more than one CC, you constantly have to switch the Controller lane in the editor and there are only a few ones available for Key Commands. At least if Apple would add Key Commands for all 128 CC then I could speed up my workflow and save me a couple of thousands mouse clicks until they finally add multiple Controller Lanes (One of the few features I miss from Cubase since I switched a couple of years ago). How hard can that be? Logic provides the functionality in the Arrange Window for Track Automation. Bingo, get an intern and have him copy paste that code over into the Piano Roll Editor - Done. OK, maybe it is not that easy, but, please!

 

Key Switching:

This procedure (started by GIgaStudio?) is now used in every sample player. Great idea, but it was a workaround/compromise or lets call it what is is: a "mis-use" of a note-on messages. This creates a lot of problem if you are using them extensively : copy paste issues, display issues in editors, etc. It is so wide used why isn't there already an addition to the MIDI specs or an application based solution (Innovation!) to deal with that controller more like a ProgramChange.

This is a missed opportunity for Logic to come up with something real useful.

 

Control Change:

All those 128 CC messages, some of them defined, some not. Most of the Software Synth and Sampler let you assign CC to any knob or fader very quickly (learn function). How about a feature that lets you custom name the CC so you can see right away when you are editing CC 94 that it controls the Attack Time for example. Think of it as "I/O Label" page for MIDI CC.

 

Visualization/GUI:

I mentioned the lack of multiple Controller lanes before. But why not go one step further and create a controller track that displays all the non-Note events in a lane (like the automation track) that can be extracted and rearranged depending on the needs of your instruments. The Hyper Editor might have some ideas in it, but that Dinosaur hasn't been touched in what, 20 years. How about a start and getting rid of that "Hyper"-this, "Hyper"-that naming. This is so 70s and demonstrates who long it has been that anybody has visited the deep dark dungeons of the Logic code.

 

Old MIDI corners:

The Hyper Editor is just one example that shows how far back Logic is stuck in the MIDI past. "I present Exhibit B", the Chase tab in the Projects Settings. The only additional checkbox in the past few years "In no Transpose ..." just adds to the confusion. The "Chase on Cycle Jump" is completely misleading in the overall functionality of the rest of the buttons.

 

 

So what's my point is ...

After adding more and more bells and whistles to Logic, the sentiment over the last few years was "make it more stable" before introducing the next cool synth. Now I would wish they would take a look at the MIDI functionality and take it out of the dark ages into the 21st century. Maybe Apple has forgotten that there are plenty of Logic users out there who "play" MIDI notes and not relying 100% on dragging around canned AppleLoops to create music (not that there is anything wrong with that).

 

So please if you haven't done so, visit the Logic Feedback page and express your feeling in that regards in the Feature Request section.

http://www.apple.com/feedback/logicpro.html

 

 

Besides, I would love to know how you guys are dealing with complex setups of key switching and controllers in Logic.

Link to comment
Share on other sites

Control Change:

All those 128 CC messages, some of them defined, some not. Most of the Software Synth and Sampler let you assign CC to any knob or fader very quickly (learn function). How about a feature that lets you custom name the CC so you can see right away when you are editing CC 94 that it controls the Attack Time for example. Think of it as "I/O Label" page for MIDI CC.

 

+1

 

For now you can use that hack:

 

http://logicprohelp.com/viewtopic.php?t=14808

Link to comment
Share on other sites

Edgar, I hear ya.

 

Regarding key switching, some thoughts... There is no keyswitching "protocol" as there is for, say, the Roland drum mapping "standard" (kick = C1, snare = D1, etc.) And even there, Korg doesn't adopt that standard, nor do MPC's with their freely assignable pads, just to name two. And when it comes to keyswitching, no two sample libraries have the same articulations nor the same number of any given articulation. So I think plugin manufacturers would be hard-pressed to agree, for example, that on a violin patch, C1 = sustained, C#1 = pizz, etc. because it would present too many limitations. A library like Kirk Hunter's, for example, features some keyswitched string patches where adjacent keyswitch notes provide a choice between as many as 5 different attack articulations, all of which could be considered sustained sounds.

 

And then of course there's the problem of having different areas of the keyboard for keyswitching for instruments of high register (violin, flute, etc. where the keyswitches are in the LH) and low register (bass, contrabassoon, etc., where the keyswitches are in the RH).

 

And let's briefly look at articulation-via-velocity switched patches. It would be impossible to standardize velocity values such that a ppp sample could only occur within a range of v=1 - 10, say. Not all string patches even have a ppp sample. So standardizing this stuff would be eminently difficult.

 

As I'm sure you know, there are currently at least 6 ways to switch articulations, including:

 

• velocity

• via some kind of CC (and even pitch bend in some cases)

• program changes

• key switching

• channel changing

• via text or symbols added to the score (Meta Event-->articulation switch by some means)

 

Being 7-bit, it would seem that there's no room in the MIDI protocol to accommodate a new type of command for articulation switching. All 7-bit command bytes are already allocated:

 

[ $0 - $7 (data) ]

 

$8 - Noff

$9 - Non

$A - poly aftertouch

$B - cc

$C - program change

$D - aftertouch

$E - pitch bend

$F - system

 

If I'm not mistaken, there are two or three reserved $F commands available. So even if one of them were made available to do some kind of "standardized" articulation switching scheme (which I don't think would be a good idea anyway, as you may have inferred from the above) there would still be room for only 128 possible articulations to span all known orchestral instruments.

 

Finally, and while not meaning to be a rebuttal to what you said about note messages being "misused", I want to proffer that I don't think that's really the case. While the MIDI protocol defines specific commands to particular functions (i.e., $9n = Non), it doesn't dictate that those commands must be dedicated to those functions. Some mixing boards, MIDI-controlled lighting rigs, and even RME's TotalMix utilize Non messages to execute functions that have no sound-generating properties. And besides, playing a key to call up a different sound is not only natural, but has history in the black keys of the Hammond, to name one.

 

Right now, yes, I know, it can be a nightmare to control articulation switching amongst a variety of libraries (hence my "I hear ya" statement at the top of this post). I just don't see any alternatives that would be a) easy to explain (though I have some ideas) or b) taking into consideration the seemingly innumerable methods for articulation switching listed above, easy to code.

Link to comment
Share on other sites

Edgar,

 

I'm sorry but I can't agree with on any of this actually.

 

I'm not sure what host you've seen that "deals with keyswitching" because having just sold DP6, and shelved Nuendo 4.

Unless I'm daft, there are none that do. If you're talking about the ESX, well. Have you tried VI's in some of the other DAWS out?

They are pretty laughable, and none come close to Logic, not really fair to complain about a VI feature I feel.

 

On general midi implementation,... what DAW has better midi implementation?

not DP, or Nuendo. Option Clicking brings up multi automation lanes on midi tracks in Logic.

 

As for stability,. jeez,. I have no complaints whatsoever, Logic is so optimized for Macs it's ridiculous, compared to anything else... I dunno?

 

Not trying to be a contrarian here, but I'm really happy, having tried a few of the other options. IMO Logic is the best music making DAW out.

My complaints are in the clumsy way L8 deals with Multi VI,

the CC7 & 10 automation.

Now,.. That !,.

is behind the times..!

 

I guess different needs, and such.

 

 

peace,

Link to comment
Share on other sites

i think I messed up my previous post (It was a little late). Here is what I wanted to say:

 

I'm not sure what host you've seen that "deals with keyswitching" because having just sold DP6, and shelved Nuendo 4.

 

Like I said I'm only referring some features I liked in Cubase before I switched to Logic. But my point is to push Logic to update or implement its MIDI functionality, even if it is already better than the other DAWs. I pretty much don't care about those other DAWs because I only use Logic and my requests are based on limitations of Logic based on my workflow.

 

 

As for stability,. jeez,. I have no complaints whatsoever, Logic is so optimized for Macs it's ridiculous, compared to anything else... I dunno?

peace,

 

You are right. I'm pretty happy with Logic's overall stability at the moment. I'm not complaining

 

 

 

 

And when it comes to keyswitching, no two sample libraries have the same articulations nor the same number of any given articulation. So I think plugin manufacturers would be hard-pressed to agree

 

You are right, that is impossible and that is not what I had in mind. More of an open architecture and tools on the DAW side. Provide Controls that are more suitable for those tasks including the necessary GUI that has keyswitching technology and all those modern controls in mind.

 

 

And then of course there's the problem of having different areas of the keyboard for keyswitching for instruments of high register (violin, flute, etc. where the keyswitches are in the LH) and low register (bass, contrabassoon, etc., where the keyswitches are in the RH).

 

I agree and I think that hat one has to be handled on the plug-in level and can't be solved in the DAW. Right now I created my own keyswitch template for the VI and pretty much re-assign all the keyswitches and control once I load a new Preset in.

 

I just posted that on the VSL forum:

http://community.vsl.co.at/forums/p/19814/138014.aspx#138014

 

 

 

And besides, playing a key to call up a different sound is not only natural, but has history in the black keys of the Hammond, to name one.

 

Good point with that example, but I still think a key is there to play a note and a Keyswitch has the function of changing the sound/preset which would be more suitable for some sort of Program Change message.

The Major problems with note events for keyswitches show up when you edit Regions. Cut, copy parts of regions, you could miss the note event for the keyswitch and you are in for some surprises. Or you start your sequence somewhere in the middle and the Chase function didn't catch the most resent note for the key switch, etc. That's what I mean with mis-use. It is a compromise and therefore creates too many problems with regular MIDI tasks.

 

I don't say that I have a solution or that there even is a solution, I only see that Logic (and maybe the other DAWs too) don't have the appropriate tools to deal with modern plug-ins that provide all those complex control features.

The plug-ins like VI are getting quite complex if you want to make use of the available controls and when you are using compromises and "band aid patches" to control them then major frustration kicks in. And that was the trigger for my initial post.

Link to comment
Share on other sites

Here is an idea that could deal with the keyswitch/controller issue.

 

First lets look at Contoller vs Switches

We have to understand that there are continuos controller (rotary or fader) and switched controller (buttons). Changing the cut of frequency or volume requires a continuos controller. A Sustain Pedal requires two values and although program changes have the same amount of (128) values like a CC, they are considered switches. This has to be reflected in the graphical editing tool:

If there is one -6dB node on bar 1 on the automation track for a continuos controller (i.e. Volume) and I add another node at bar 5 with the value of -20dB, then the resulting graph is a straight line down (decreasing) from the first node to the second node, creating more "invisible nodes" that describe the function. (Visible in the List Editor)

However if this would be the "Mute" parameter (a switch), then the resulting line would be a straight horizontal line keeping that first value and at bar 5 the value would change to the value of the second node, looking more like a rectangle wave.

If you ever tried to use a CC like ModWheel to control the Keyswitches on a plug-in, then you know what I mean. You have to create more nodes to simulate the "switching" rectangle graph.

 

Now, may I present: The User Definable Controller Template

I know that changing the existing MIDI implantation is not possible. But if Apple would take the initiative to at least approach that problem, they wouldn't even have to touch the MIDI specs. There are already Logic specific META data that behave like MIDI events. Why not going this route.

Provide a user definable translation table that acts as a superimposed MIDI controller. Ok here is how it could work:

 

You have a table with all the available MIDI messages (notes, CC, etc). Each Event has the following columns:

1) A checkbox: Yes I want to mess with that message

2) Input message: What incoming MIDI message is assigned to it

3) Output message: What MIDI message does it send out

4) Name: What name you want to give that MEATA controller

5) Controller/Switch: Graphical behavior the way I explained above

6) Misc: Color code, etc

 

Each Track in the Arrange window then has a checkbox to activate that translation table either on the Instrument or the Region level.

 

I think this could be an elegant solution, because you don't have to touch the MIDI specs, you still record the original MIDI messages on the Region without creating a problem with exporting MIDI files to other platforms. It is complete user definable, so you define what suits your workflow and the specific plug-ins you are using. That means you don't have to wait for the plug-in vendor like VSL to come up with a front end solution to control their complex beast.

 

It is a little bit like the "I/O Label" feature in Logic and if you think about it it deals with the same problem. Every Audio Interface is slightly different and different users have different Interface(es). To make it the most flexible, Logic could provide a framework like MIDI Preset Tables where the user can create multiple versions ( for different plug-ins) and when you activate this functionality in the Inspector you just have an additional popup menu that displays your templates like Bank or Program Changes,.

 

Now when you are in the Piano Roll Editor, the controller Lane has that little triangle on the left where you can select which Controller you want to display. In addition, it would now also display META message that were activated on your Controller Template for that Track or Region. And of course the controller lane behaves like Logic's Track Automation lane, where you can see all the controllers in one lane color coded with opacity in one lane, or open additional lanes to display each controller in its separate lane.

Now you can finally see: together with the Notes (or Score) your complex controller data (Matrix Switch, Articulation Switch, Velocity X-fade, Filter Curve, Release Trigger Switch, etc). Whenever you copy paste Regions, you could see right away if all your controllers are in the right place. RIght now this is just a crab shoot and you have to click around until your finger is bloody to double check everything.

 

The more I think about, the more am I surprised that Logic doesn't have that feature already. I'm also surprised that there is not much more pressure from the user to urge either their DAW maker or the Plug-in vendors to come up with a workable solution. I saw some posts on the Forum where they discussed the how to use Logic's Notation META messages to link to keyswitches. That goes in the same direction and tat "User Definable Controller Template" could take care of that with just a another column in the table for Notation symbols

 

If I'm allowed to dream, then maybe some lucky guy is beta testing that feature right now and it will be available in the next Logic update.

Link to comment
Share on other sites

Couple of things, real quick...

 

The Major problems with note events for keyswitches show up when you edit Regions. Cut, copy parts of regions, you could miss the note event for the keyswitch and you are in for some surprises. Or you start your sequence somewhere in the middle and the Chase function didn't catch the most resent note for the key switch, etc. That's what I mean with mis-use. It is a compromise and therefore creates too many problems with regular MIDI tasks.

 

How true!

 

Next, I like your idea of the User Definable Controller Template! I'd like to point out just one thing about CC's though... As you pointed out, the MIDI spec defines certain controller #'s as "continuous controllers" (CC's) and others as "switch controllers". However, these are designations of convenience only. The MIDI protocol doesn't explicitly state that switch controllers can only attain data values of zero or 127. And likewise, Logic doesn't prevent or disallow the programming of intermediate values for switch controllers. Half-damper pedals are the most obvious (though little known) real-world application of this... CC#64 values between 0 and 127 are generated by such pedals. And now that I think about it, when you insert a Ped. marking in Logic's score editor, its value defaults to (an annoying) 64, not 127. This is, IMO a long-standing bug, but regardless, it's yet further proof that so-called switch controllers don't have to switch only between zero and 127.

 

Not that I know of any that fit the following description, but if there are any keyboard controllers or other MIDI devices with programmable sliders/knobs that prevent a user from assigning switch controllers to them, it would represent too literal an interpretation of the idea of "switch" controller, and represent a pretty big limitation to the end-user.

 

Anyway, I'm going to go back and read your last two posts and absorb more. Cheers!

Link to comment
Share on other sites

A few more thoughts...

 

I don't know if this would help you out with your work, but I made an environment where the capslock keyboard is used to change the channel of notes coming into Logic. In this template, changing channels ends up accessing wholly separate instances of EXS, with the idea that each one woudl be loaded up with a different articulation. Or, with a minor amount of re-programming of that template, a single EXS loaded up with multiple articulations (and with its groups set to select by MIDI channel) will function perfectly using this scheme.

 

Personally I don't like the idea of tying in score symbols to articulation switching. While I admire this very clever approach, I don't like the notion of having to tweeze the position of articulation symbols twice: once to ensure that they're not positioned ahead of the note(s) to be switched, and again to graphically position them to look right in the score. Too much room for error.

 

And the advantage to using channel switching is that the data will translate perfectly when exporting a MIDI file of a score to a 3rd party notation program. However, this approach is not universally applicable. I just looked at the VI plug and there isn't even provision for switching articulations via MIDI channel! :(

 

It's never easy, is it? :lol:

Link to comment
Share on other sites

  • 1 month later...

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...