You are here

Midi CC learn with control surface

For current or would-be users of Apple Mac computers, with answers to many FAQs.

Re: Midi CC learn with control surface

Postby kinglouis » Mon Jun 01, 2020 3:09 pm

Hi Andy,

Thanks! That's a useful video - so it looks like you can use it for midi cc, if you change the Control Mode. I suspect the whole thing is a bit easier to use if you buy the display that goes with it...

Great help, thank you.

Alex
User avatar
kinglouis
Regular
Posts: 222
Joined: Mon Sep 12, 2005 12:00 am

Re: Midi CC learn with control surface

Postby kinglouis » Mon Jun 01, 2020 3:10 pm

(If you do this, and it keeps getting re-installed when you launch Logic, I'll tell you what to do...)

Legend. Thanks Desmond.
User avatar
kinglouis
Regular
Posts: 222
Joined: Mon Sep 12, 2005 12:00 am

Re: Midi CC learn with control surface

Postby kinglouis » Tue Jun 09, 2020 8:47 am

Another quick question please if anyone has a second:

I have made reasonable friends with the control surface icon Platform M+. It talks to Logic fairly consistently, and if it doesn't, unplugging it and rebooting normally does the trick. Have found their support to be a bit iffy but at least they reply.

Two issues remain - the faders grind ever so slightly a lot of the time. There's a handy 'how to recalibrate your faders' video which I have followed the advice on but they still do it. Its not a huge deal but it would be nice not to have it. Is this normal for flying faders?

And secondly - something that really trips it out is turning on another midi controller, ie a 32 key keyboard. It doesn't seem to mind my 88 key Yamaha but nosedives entirely if my little controller is on. Which makes me wonder if it'll deal with a new master keyboard... my old Yamaha is looking creaky and is starting to get hinky. If it decides it doesn't like the replacement 88 key controller then we're in a bit of bother. Again is this common? is there a reasonable workaround?

With many thanks as always
User avatar
kinglouis
Regular
Posts: 222
Joined: Mon Sep 12, 2005 12:00 am

Re: Midi CC learn with control surface

Postby blinddrew » Tue Jun 09, 2020 9:36 am

Not directly comparable I'm afraid, but the faders on my Behringer BCF2000 don't 'grind' (I assume we're talking about a consistent micro-movement here?) at all with Reaper.
User avatar
blinddrew
Jedi Poster
Posts: 10893
Joined: Sun Jul 05, 2015 12:00 am
Location: York
Ignore the post count, I have no idea what I'm doing...

Re: Midi CC learn with control surface

Postby desmond » Tue Jun 09, 2020 9:54 am

kinglouis wrote:Two issues remain - the faders grind ever so slightly a lot of the time. There's a handy 'how to recalibrate your faders' video which I have followed the advice on but they still do it. Its not a huge deal but it would be nice not to have it. Is this normal for flying faders?

No idea about the Icon, I've not used one. The MCU is idle if the faders aren't moving.

kinglouis wrote:And secondly - something that really trips it out is turning on another midi controller, ie a 32 key keyboard. It doesn't seem to mind my 88 key Yamaha but nosedives entirely if my little controller is on.

I can't really translate "nosedives" into any meaningful behaviour which would let me troubleshoot. I have 6 different controllers connected to Logic that all have some degree of control surface support, be it MCU, HUI or other functionality - not to mention a bunch of other more traditional MIDI controllers. All work fine.

If you want to troubleshoot what's going on, you'll need to be more specific about your devices, how they are connected, what MIDI ports they are on, what behaviour you see and so on.
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby kinglouis » Tue Jun 09, 2020 2:14 pm

Typically, as soon as I pop up a post, the icon and 32 key midi keyboard are now both working in perfect harmony in Logic.

The issue was, if both the keyboard and the icon were both switched on whilst Logic was running, the icon was getting all its transport controls mixed up: press play and the cursor doesn't know what to do because the icon is now flashing on play, stop and record.

I have a Motu midi express 128, only using 1 port, running the Yamaha 88 key controller into the Mac. The icon is in midi channel 9, the Arturia keyboard in at 10.

If it gets tangled up again I'll holler, being as descriptive as I can ;)

Many thanks
User avatar
kinglouis
Regular
Posts: 222
Joined: Mon Sep 12, 2005 12:00 am

Re: Midi CC learn with control surface

Postby redlester » Wed Jun 10, 2020 11:47 am

As someone who is a bit baffled by the technicalities of MIDI CC, can anyone explain here in layman's terms (if possible) what is the difference between "MIDI CC data" and "host automation data"? I think a lot of people (including myself until recently) seem to confuse the two because I see the same questions cropping up all over the internet time and again.

Background: I was working on a track in Logic 10.5 using orchestral sample libraries, and wanted to add automation for dynamics, expression and vibrato using fader controls with TouchOSC. But as I'm a rotten keyboard player, the workflow of using faders while recording the performance is out of the question for me. I need to get the notes recorded, then go back in and add the automation.

If I play back the track and set the automation switch to "Touch" I can do this by moving the relevant control with the mouse on the plugin interface, and it gets saved as automation to the track. I'm assuming this is "host automation"?

However, if I try to do it with an external MIDI controller rather than with the mouse on the plugin interface although the effect is heard and the relevant controls on the plugin react to my fader movements, this is not saved as automation data unless I afterwards hit Capture Record. It's then saved as automation data but only as region automation, not track automation.

I only found out this after discussing on another forum, having almost given up with trying to get TouchOSC to do what I wanted, but am now using it successfully as described above - without fully understanding why it behaves this way.
redlester
Regular
Posts: 207
Joined: Fri Dec 30, 2016 5:50 pm
Location: East Midlands, UK

Re: Midi CC learn with control surface

Postby desmond » Wed Jun 10, 2020 11:57 am

redlester wrote:As someone who is a bit baffled by the technicalities of MIDI CC, can anyone explain here in layman's terms (if possible) what is the difference between "MIDI CC data" and "host automation data"? I think a lot of people (including myself until recently) seem to confuse the two because I see the same questions cropping up all over the internet time and again.

Sure. Yes, this is quite a common area of confusion.

redlester wrote:If I play back the track and set the automation switch to "Touch" I can do this by moving the relevant control with the mouse on the plugin interface, and it gets saved as automation to the track. I'm assuming this is "host automation"?

redlester wrote:However, if I try to do it with an external MIDI controller rather than with the mouse on the plugin interface although the effect is heard and the relevant controls on the plugin react to my fader movements, this is not saved as automation data unless I afterwards hit Capture Record. It's then saved as automation data but only as region automation, not track automation.

I'll come back to these specific questions.

Consider the oldschool recording system - you'd have a multitrack tape recorder for audio (or substitute a hardware MIDI sequencer for recording MIDI), and you'd have a mixing desk.

You don't record your keyboard parts into the mixing desk, you record them into the sequencer. The sequencer is recording and playing back regular MIDI data.

When you mix, you mix on the mixing desk, and use it's automation system (completely independent of that hardware sequencer) to store the movements of it's own faders, EQ knobs etc.

Nowadays, of course, all these components are smooshed together in a DAW, so sometimes it's difficult to understand what's conceptually going on, but it broadly follows this paradigm.

More in the next post:-
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby desmond » Wed Jun 10, 2020 12:05 pm

So, in Logic, you can record MIDI into regular regions (using transport Record controls), and you can use the automation to record Logic's mixer/plugin changes (using the automation system, with modes such as read/touch/latch etc).

In general, this automation is saved to the underlying "track", not within regions. (Let's skip Region-Based Automation for now to keep this manageable!)

You're probably happy with the concept of dropping Logic into Touch mode, using the mouse to move faders etc, then going back to Read mode and having those movements play back, alongside your audio and MIDI sequences.

Ok. Where it can start to get confusing is using MIDI-based controllers. Let's say you have a fader that generates MIDI CC#7. In Logic, you can go into Record mode, just regular MIDI into a region as normal, move that fader, and it will be recorded as MIDI CC#7 data into a region.

*Or*, you can, using Controller Assignments, *learn* that MIDI CC#7 message to the volume control / fader of the selected channel. Now what happens is different. When the MIDI CC#7 data comes in, Logic sees that there is an assignment for this MIDI message. At this point, it *blocks* that MIDI CC#7 data from ever reaching the sequencer (if you Record into a region, your MIDI twiddlings on the fader will not show up there).

Instead, internally it maps those CC movements into moving the channel fader directly - just like if you were using the mouse. And now, because your MIDI control is directly manipulating Logic's channel fader, those movements can be stored using the automation system, just as above.

Are you with me so far?
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby desmond » Wed Jun 10, 2020 12:53 pm

Hmm, think I might have lost him... :think:
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby AlasdairEaston » Wed Jun 10, 2020 1:52 pm

Don't worry, keep going Desmond, please! I think this is going to help me understand my Nektar Panorama P6, its Mixer, Instrument and Internal modes. I've settled down too many times with it, Reaper and some plug-ins, thinking "Right! This time I'm definitely going to work out what the hell's going on". I always admit defeat some time later.

Individually, I'm ok with the concepts behind MIDI CC, control surfaces, Reaper automation and plug-in parameters. But put them all together and place my P6 at the head of the chain and I'm often in a tangle.

I bet there are thousands of us in a similar struggle.

Thanks for you insight.

Cheers,
Alasdair.
AlasdairEaston
Poster
Posts: 36
Joined: Fri Feb 10, 2017 2:17 pm

Re: Midi CC learn with control surface

Postby desmond » Wed Jun 10, 2020 2:16 pm

redlester wrote:Background: I was working on a track in Logic 10.5 using orchestral sample libraries, and wanted to add automation for dynamics, expression and vibrato using fader controls with TouchOSC. But as I'm a rotten keyboard player, the workflow of using faders while recording the performance is out of the question for me. I need to get the notes recorded, then go back in and add the automation.

Is this with Kontakt? Or some other plugin?

Because plugins, like Logic, can both respond to incoming MIDI data, *and* changing parameters directly (ie, with the mouse).

And there are usually a variety of ways you can set up "MIDI control". You can send MIDI to the plugin, and have some mod setup that uses that incoming MIDI, say a mod wheel, to do something (say, add modulation depth to some vibrato).

This is regular MIDI you'd record in a region.

Some plugins have their own "MIDI Learn" system. So you could MIDI learn, in the plugin, CC#19 to a "Dynamics" parameter/slider. This would still be sending regular MIDI data, recording it in regions, and on playback, that MIDI data is interpreted by the plugin to change the dynamics parameter. (Whether the movement of this parameter would also result in automation events - as if you were moving it with the mouse in automation latch mode - probably depends on how the plugin is implemented. In some cases, it might, for others, it might not.)

You could use *Logic's* controller assignments to map the incoming MIDI directly to a plugin parameter (as long as the plugin exposes that parameter for automation - sometimes you might find that some parameter you want to control in this way is not automatable). This happens in exactly the way I described for the channel fader - Logic hijacks the incoming MIDI for the learned message, and changes the parameter directly in the plugin. As the MIDI won't reach the sequencer, it won't be recordable, so you'd use automation modes to record the movement of the plugin parameter in the plugin as it is controlled externally by your MIDI CC message.

Some plugins have a *lot* of potential parameters (like, 10's or even 100s of thousands), or have some dynamic instrument loading system where multiple different instruments can be loaded. In these cases, you often have to choose *which* plugin parameters you want the plugin to expose to the host and make automatable - again, this is really plugin dependent.

redlester wrote:If I play back the track and set the automation switch to "Touch" I can do this by moving the relevant control with the mouse on the plugin interface, and it gets saved as automation to the track. I'm assuming this is "host automation"?

Yes. The plugin parameter is being directly manipulated by the mouse, and it's generating automation events which the host records. It's the changing of (automatable) plugin parameters which generates these events - it's part of the plugin spec.

redlester wrote:However, if I try to do it with an external MIDI controller rather than with the mouse on the plugin interface although the effect is heard and the relevant controls on the plugin react to my fader movements, this is not saved as automation data unless I afterwards hit Capture Record. It's then saved as automation data but only as region automation, not track automation.

So now, given the description of the various control schemes outline above, you can see how you have rigged things up, and get an idea of the various paths of data, and therefore explain the behaviour you get.

(It may not yet be what you *want*, but at least you should hopefully understand a bit better what is going...)
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby desmond » Wed Jun 10, 2020 2:20 pm

You're probably going to ask about Region automation next, and how does that relate to Track automation... :wave:
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

Re: Midi CC learn with control surface

Postby redlester » Thu Jun 11, 2020 12:17 pm

Desmond - apologies, I had no time to come back to this yesterday - just trying to take it all in now... thank you so much for this! :clap:

OK, the analogy of the sequencer and mixer/tape machine setup is very good and I understand better now. I'm still a bit lost with some of the detail though.

The specific setup which triggered this is that I was using Logic Remote with Kontakt, on Spitfire's Albion One plugin, and with that I can open the plugin settings in Logic Remote and move the dynamics slider while the track is playing in Touch or Latch mode, and have it save that as track automation.

However, the sliders for this in Logic Remote are quite small and fiddly horizontal ones, I wanted large vertical sliders, so I downloaded TouchOSC to the iPad and created a simple layout of three sliders - dynamics, expression, vibrato - mapped to CC1, CC11 and CC21, which are the default Spitfire settings. As long as I have TouchOSC Bridge running, this works - I can see the sliders for dynamics, expression and vibrato moving on the plugin and hear the effects, while I'm playing back the track.

I was scratching my head as to why Logic wouldn't save this as automation until someone on the VI-Control forum mentioned MIDI data being separate from automation data and helpfully describing the capture record method of saving this as region automation.

This is good enough for me, I can work that way no problem. I just struggle to follow the details. I will go back and re-read what you've said above several times and try to take it in.

I should add that I also had the same issue on non-Kontakt plugins (BBC SO to be precise) the behaviour was the same.

In the Kontakt browser, it can be switched from viewing the libraries to viewing the automation settings, and there are two panes; MIDI Automation and Host Automation. Which I suppose is the giveaway that they are different things! Is there any way of fiddling with these to enable my TouchOSC setup described above (or similar) to be able to record automation into the track using touch or latch mode, instead of having to use the capture record method?
redlester
Regular
Posts: 207
Joined: Fri Dec 30, 2016 5:50 pm
Location: East Midlands, UK

Re: Midi CC learn with control surface

Postby desmond » Thu Jun 11, 2020 1:11 pm

redlester wrote:The specific setup which triggered this is that I was using Logic Remote with Kontakt, on Spitfire's Albion One plugin, and with that I can open the plugin settings in Logic Remote and move the dynamics slider while the track is playing in Touch or Latch mode, and have it save that as track automation.

If you're in plugin edit mode here and are controlling the dynamics parameter, then you are generating automation as the plugin parameter changes. In this case, the "Dynamics" parameter is exposed to host automation - and that is what you are using.

*However*, the "Dynamics" control *also* responds to normal MIDI - the mod wheel. So - as an alternative method - you can play your eg string parts and use the mod wheel to control dynamics instead. In this case, the CC#1 data is controlling the Dynamics slider, and is recorded in MIDI regions in the normal way. This is straight MIDI control of a plugin parameter, not automation. When you move the mod wheel in this case, and the Dynamics slider in Kontakt is changing, Kontakt/Albion *is not* generating automation events (because otherwise, you could end up with two sets of conflicting data trying to control the same parameter).

(Now - you could, if you want to, use Logic's controller assignments to directly learn MIDI CC#1 to the Albion Dynamics parameter. In this case, as we've seen previously, the CC#1 is blocked from reaching the sequencer, and instead controls the Dynamics parameter directly, and thus generates automation events.)

So, you have three ways of controlling Dynamics. By using the plugin on screen controls with the mouse to generate automation. By using the mod wheel to control Dynamics via CC#1 as regular MIDI data (no automation), and lastly, by using the mod wheel to control Dynamics via controller assignments to generate automating (no regular MIDI data).

I get that this seems complex, and why bother - the bottom line is, so you can choose which methods to use that best suit your needs. And once you understand how these things work, you are able to make an informed choice about what to do, and the behaviour you expect, rather than going "huh?! what the hell is going on here..?!!" :)

redlester wrote:However, the sliders for this in Logic Remote are quite small and fiddly horizontal ones, I wanted large vertical sliders, so I downloaded TouchOSC to the iPad and created a simple layout of three sliders - dynamics, expression, vibrato - mapped to CC1, CC11 and CC21, which are the default Spitfire settings. As long as I have TouchOSC Bridge running, this works - I can see the sliders for dynamics, expression and vibrato moving on the plugin and hear the effects, while I'm playing back the track.

So, given what we know above - I don't use TouchOSC but I'm assuming this is sending regular MIDI CC#1 to Kontakt - as you see, the Dynamics slider responds, but this is regular mod wheel data you'd record in a region, and is not generating automation data.

redlester wrote:I was scratching my head as to why Logic wouldn't save this as automation until someone on the VI-Control forum mentioned MIDI data being separate from automation data and helpfully describing the capture record method of saving this as region automation.

We'll come on to Region automation, don't worry, but it confuses some of these concepts a little so I'm hanging off until we have these initial concepts down! ;)

redlester wrote:I should add that I also had the same issue on non-Kontakt plugins (BBC SO to be precise) the behaviour was the same.

This is still a Spitfire plugin, so they've likely implemented the same behaviour in it for consistency with their other libraries.

redlester wrote:In the Kontakt browser, it can be switched from viewing the libraries to viewing the automation settings, and there are two panes; MIDI Automation and Host Automation. Which I suppose is the giveaway that they are different things! Is there any way of fiddling with these to enable my TouchOSC setup described above (or similar) to be able to record automation into the track using touch or latch mode, instead of having to use the capture record method?

From the above examples, you should hopefully now see how to implement this.

If you use Logic's controller assignments to *learn* the incoming MIDI messages from your TouchOSC controller, and map to the Dynamics parameter from Kontakt, the sliders will now be directly manipulating the Dynamics parameter, and thus Kontakt will be generating automation events.
User avatar
desmond
Jedi Poster
Posts: 9923
Joined: Tue Jan 10, 2006 1:00 am
mu:zines | music magazine archive | difficultAudio

PreviousNext