I’ve been considering buying Novation Launchkey Mk4, but now my eyes are on Novation 61 SL MkIII, and in particular its ability to display every encoder parameter on the screen. It fixes a problem I have with the Launchkey, which is the fact that you can’t immediately see which encoder is mapped to what parameter.
However, I’ve been unable to find any Ardour users talk about the SL MkIII. Will the encoders “just work”, will they require me to write a MIDI map once and “just work” afterwards, or will it be a more tedious process? I would like to know what to expect, and I’m not very well-versed in how MIDI maps work in Ardour, so apologies if these questions seem silly.
I know that Ardour has support for the Launchkey Mk4 (and I am running kernel 6.12+, I’m aware of the ALSA issues), so perhaps the MIDI map would be the same or similar? I would appreciate a comment from someone with more experience. Or better yet, from an owner of an SL MkIII!
Thank you, if you don’t mind I would like to confirm that I’m understanding everything correctly:
LaunchKey has encoders that can be used both for DAW control (panning tracks is the default MIDI map, as I can see), but they can also be used to control plugin parameters. This second type of use does not appear in the MIDI map file. Is this because Ardour simply passes MIDI messages to a plugin, and it is the job of the plugin to read those messages correctly?
What I’m imagining is that every plugin that exposes some parameters, has an internal mapping of those parameters to MIDI CC or similar messages. This would mean that the operator of the MIDI controller, like the LaunchKey, has to know which messages correspond to which parameters. I don’t think it’s part of the MIDI protocol to send those mappings automatically, so I’m assuming frills like seeing parameter names on MIDI controller displays are a result of hard-coded presets onboard the controller. Is that right?
So, for example, if I open up ZynAddSubFX and I rotate the encoders on the LaunchKey, the screen will not display nice parameter names like “Gain”, “Envelope…”, “Filter…”, by virtue of MIDI capabilities alone. There are no MIDI messages coming from ZynAddSubFX/Ardour to the LaunchKey saying “hey, MIDI CC 13 on channel 1 controls a parameter named ‘Filter’”. To achieve this, the LaunchKey needs to contain an onboard preset for ZynAddSubFX and that preset has to be activated. But in Ableton demos in YouTube these things “just work”, and DAWs are somehow able to communicate to controllers that plugins are changing etc.
I think at this point I should just read the MIDI specification more closely. But I would appreciate a comment explaining how this works, because, again, I want to have reasonable expectations of whether this kind of thing will “just work” somehow, or require manual setup, or be impossible altogether.
My understanding is for that style of interaction the DAW needs to have a fixed set and order of plugins.
In Ardour you can map to something like channel 1 plugin 1, or channel 2 plugin 4, but Ardour has flexibility for every track of every session to have a different set of plugins inserted. Since a MIDI map is a fixed file there is not a way to make sure that if you select something like a Zyn preset on the controller that the plugin receiving the messages is actually ZynAddSubFX.
No, that is not a concept which exists in traditional MIDI. I’m not sure about MIDI 2.0, it has some handshake capabilities, but I don’t know to what extent.
That would be one way of achieving it, although I’m sure there are finer nuances as well, because otherwise it would be very limiting, given there are only 16 MIDI channels and far more plugins that you can have present in a session. I would sooner expect that proprietary DAWs have proprietary protocols built on top of MIDI that handle this type of communication, and they make deals with controller vendors to implement them for a nice integration.
Either way, this clears things up for me. I think I should ditch this idea of nice displays for every encoder and seamless mappings, because with the current technology this is always some sort of hack and it cannot be trusted to work in FOSS. A bit of a shame, but at least I can stop endlessly searching for controllers that do this (maybe that’s why there are so few of them, huh).
Take a look at Novation Launchkey MK4 still not working?
and the earlier post linked in it. Basically, not so long ago there was an issue in the Linux ALSA driver that prevented Ardour from differentiating between some MIDI signals, making some features of the Novation LaunchKey Mk4 not function correctly. I stumbled upon it while doing research on the LaunchKey.
the issue with the LK Mk4 was that the port names were inappropriate, preventing Ardour from auto-connecting. The data flow was fine, if the port connections were made manually.
The sort of support you are looking for requires dedicated code-level support for the 61SL MkIII. That does not exist at this time. Anyone could create it, but it’s not on our roadmap right now.
Hmm, could you elaborate a bit more? Do you mean that 61SL MkIII uses an additional protocol on top of MIDI, that someone could reverse-engineer and implement? Would it be a per-board implementation, or is there a broader standard that would cover many boards?
Just an FYI, Novation distributes Programmer’s Reference Guides which explain the messaging protocols and how the control surfaces work under the hood. Maybe this is extremely common and I just didn’t know about it (kind of assumed companies would not care to share or keep it a secret deliberately).
I’ve been considering the same thing as OP. I looked into it a while ago: my understanding at that time was that this sort of DAW <-> keyboard bidirectional communication could be handled to a large extent by the old HUI or the newer MCU protocols, but the SL only supports the former and Ardour the latter ; am I correct?
According to my knowledge, you are correct. The SL manual only mentions HUI, and Ardour docs state that HUI is not supported. I’ve decided to get the SL anyway, because I like its other features and I’m fine with switching to the right template manually. It should arrive in about 2-3 weeks, I’ll be happy to answer questions if someone might have them then.