How to Select a Virtual Instrument in Logic Pro X. Is It Possible?

I figured out how to get Kontakt as an instrument.

Is this what you want to do? I brought up Soul Treasures (George Duke) as an example. You can even have a Prompt for selection if you want. This is the slower version because I needed you to see what Keyboard Maestro was doing. Otherwise, I'm sure I could have shaved 2-5 seconds.


KC, firstly, many thanks for taking such trouble to help. I'm afraid I have no interest in command lines, etc. I simply do not understand it well enough. I'm solely interested in getting the feature I described up and running within Stream Deck.

Secondly, we might have communication difficulties if you don't know Logic. Your movie. Sorry to say, it's rather hard to see, but it definitely looks like you called up an FX plugin on an audio track, exactly as i showed in my screenshot. I hardly ever use audio, but the principle is exactly the same for software instruments. If you check my new screenshot, I hope it's clearer.

It's a channel strip. The highlighted two slots are the ones in question. If you click on, say, Instrument , it'll pull up what I attached previously, and one can scroll up and down , until the desired instrument is located . In this case, it's software instruments, but the process is identical for FX, also.

My primary intention is to be able to access AU software instruments, like Kontakt, and other AU instruments, with one click of a Stream Deck button. Therefore I would wish to set up about six most commonly-used software instruments, and the same for FX. Simple, but I know for certain there is no keystroke function in Logic to do this. I, along with the many users, have petitioned Apple to implement this, but they have not yet.

The key command you included, does nothing on my Logic. The other stuff below it is pretty much meaningless to me, which is what I feared. I'm sure it's possible to achieve what I want, but personally I would not be able to figure it out.

I really appreciate your taking to trouble to help!

OK, I've just seen you second post, so please disregard what I first wrote. You definitely got it right. Yes, that's the way to call up software instruments. It's not the libraries, per se, I'm wanting to call up: just Kontakt. I will then choose what library is required.Channel

PS, I should say I've managed to get Stream Deck to open an instrument, or effect with one button push, but that's ONLY when the instrument or plugin are already present in the selected track. This is easy, but, though useful, it's not what I'm looking to set up.


Yeah, I should have cropped in on the video quite a bit. My bad. However, the video can be expanded. As far as it not working for you, my set up is different because my screen resolution/dimension is most likely different from yours (iMac 5K that's scaled). To fix it, you would have to change the Move and Click action by clicking the Get button and hovering over the area you want clicked.

Apparently, I misinterpreted you saying that you wanted to select specific AU Instruments to be called which is exactly why I went to a specific AU instrument (i.e. Kontakt/Soul Treasures). Since that isn't what was needed, the Macro would be just a few steps shorter. Keyboard Maestro can click either the Instrument or the Audio FX button. You can set up the two different macros and associated buttons (or for each individual instrument).

As far as you not being interested in writing command lines, I'm 100% sure that I didn't write a command line. I don't want to do that either, that's why I got Keyboard Maestro. But, you have to learn the basics of telling KM what to do OR you can have Keyboard Maestro record your steps as you do them. For what you are trying to do, the learning curve is not complicated.

By the way, the set up above was a one button click from my StreamDeck. Just add the hotkey, Keyboard Maestro plugin, KM Link or trigger file to the button of your choice. The picture, of my button, is below. Keyboard Maestro can EASILY do what you want and 10000x more. I don't even know Logic and I whipped that demo up in less than 2-3 minutes.

Thanks for the idea. I will be setting up all my favorite Kontakt instruments, on my StreamDeck, for Maschine Studio.

Good Luck!


Don't worry about the video. I'm most appreciative that you've taken the time. I was only viewing from the website. Perhaps if I had it on my computer it would be better. I'll try that later.

I'm very impressed with what you achieved. I'm afraid I'm still none the wiser as to how you achieved it, though. When I wrote command line, I really mean anything of this nature. Command lines, logo, instruction sets. I'm afraid God didn't bless me with easy comprehension of this kind of thing. On semi-regular occasions I have to go into the Terminal to do stuff for Kontakt libraries, but it's really a copy a copy and paste routine, that's the same each time. Your first example of KM was almost meaningless to me. I wouldn't have a clue where to begin, and still don't.So, right now I guess I'll have to leave it.

Sorry if I wasn't clear. From my point of view, Kontakt is an AU instrument, and Soul Treasures is a patch.What I'm after is a one-click opening of an empty Kontakt instance (instrument). It would be unrealistic to have individual Kontakt patches available like your example, because I have around 8 terabytes of sample libraries, and most of my work is with Kontakt in Logic. I think this would be great for a live set though! Then, most of the rest would be soft synths ( like Omnisphere,etc), and other instrument plugins. FX plugins are more specific, and would probably require a dedicated folder.

The fact that you mention one can record actions has given me hope, though. For me, if if that's really possible it would probably avoid my having to burn my brain, figuring out the manual entry approach.

As for:

Didn't mean much to me. What's a Keyboard Maestro plugin? Sorry. I don't get how you get it from KM into Stream Deck. I'm envious that you can do this.

As you can see, my Stream Deck Logic page is coming along well, so I'm not totally averse to setting up things. KM is another matter right now, however.

Many, many thanks for taking the time and contributing. I'll carefully reread your initial post and example.

I know you said you don't have easy comprehension but the below area will help a lot. In order for this to be a success, then we will have to get to a baseline level of communication on the capabilities of Keyboard Maestro. If not, we will talk pass each other. I think your proficiency, in using Logic Pro X, qualifies you to figure out how Keyboard Maestro can help you. You have to invest the time to learn the basics. If you can bounce tracks, side chain compression, quantize, mix tracks etc, you can do it.

Here are some links that would help you (complied by @JMichaelTX) :

Getting Started with Keyboard Maestro

For more help, see Getting Started with Keyboard Maestro and the Forum .

The Plug-ins:

There are two main Keyboard Maestro plugins available for the StreamDeck.

The Keyboard Maestro team created one.



These StreamDeck plugins allow you, within the StreamDeck Application, to add your Keyboard Maestro Macros to StreamDeck buttons.

The above links should help.

If you learn better by video, check out this one from David Sparks' Keyboard Maestro Field Guide.

The bottom line is that Keyboard Maestro can do exactly what you requested and will take very minimal effort to do so.


You are too kind, Kenneth, thank you. So much great information. Most generous.

What you write is true. I've been a Mac/Logic user since the 90's and, along the way, there have been challenges but mostly pleasant surprises. I've made it through, unscathed, and with no (permanent) damage to my career.

Frankly I don't really need to use KM, or even Stream Deck. But already, in less than a week of purchase, Stream Deck has sped up certain tasks. My simple, outstanding requirement is what my post is about. If I can crack that, I'm in button-push heaven. Stream Deck is highly addictive. And damn cute. It's great to see KM supporting it, because it's here to stay.

I'm going to do as you advise, so I'll start with a trial version of KM. I really do want to get this AU opening thing accomplished ASAP. After that, it's a matter of "at your leisure". I'm not really that interested in conjuring up elegant answers for intricate, fiddly key commands, because I don't really work that way. But I'm sure, the more I look, the more I'll see a use for KM. I think voice command is the future, by the way.

Thanks once again, for the wonderful advice and links. I've already got your plugin and the KM one installed. I'll update you on my progress.


Hi, Kenneth. Success! After much hair-pulling and head banging I got it to work. Now I can use the attached as a template to create others, like softsynths, other players, and FX plugins.Much quicker than manually invoking plugins.It's a thing of beauty.

I have two questions. If you compare mine to your original Guitar Rig example, you'll note that your trigger contains: "(when Logic Pro X is at front)". I've been unable to find out how you did this part.

Secondly, and this may be connected to the first question: my first action differs from yours in the "relative to the" part. Mine is: Main screen's corner. Yours is: front window's corner. In all other respects, I've been successful in getting Kontakt multi and stereo to open.I even got it to work in Stream Deck, thanks to your excellent custom link.

I couldn't quite fit all my macro's details in the screenshot. The final, "Return" action is missing, but you get the picture.

I hope you can clarify my queries.

Many thanks for helping me get this far! Don't know what all the fuss was about :neutral_face:



Michael, I'm a longtime Logic user too and got curious about setting this up for myself. Thought you might find the following helpful. Really... I can't say enough good about KBM. Yes, there's a learning curve, but there is with Logic as well.

To walk you through my macro (see image below), I've put a comment prior to each action that KBM takes. Most importantly, the very first action shows KBM an image of the Instruments slot (button) and helps KBM find it with some screen coordinates narrowing down where it should look. I've just made a bunch of these – for Retro, ES2, Sculpture, and now Kontakt, which is nested under Favorites on my setup – and tested it with a range of 0 to 5 audio fx already loaded, meaning that the Instrument slot's vertical position varies pretty nicely and it still works. And it's fast.

Here is video of it in action. I show a track with no audio FX, then 3, then 6. The green highlighting results from checking the Display checkbox in the Find and click... action; it is a debugging tool, and it helps us see how accurately KBM is finding the sought image.


Hi everyone, I'm new to the Logic world, and I'm curious about instruments. I mean is there any difference between virtual instruments and real stuff. I have a chance to get an AKAI keyboard for a good price. But not sure if I need it cause it took me some time to get on well with virtual ones.

Hi. The keyboard to which you've linked is what's called a MIDI controller. It does not have its own sounds; it serves purely to trigger instruments hosted elsewhere – for example, the virtual instruments in Logic. You'd connect this Akai to your computer by USB, then when you play it, whatever virtual instrument(s) are currently record enabled in Logic would respond.
When you ask about differences "between virtual instruments and real stuff," I'm not entirely sure what you're asking. Would you please clarify?

Hey guys. Just wanted to share my method. My KM macro pastes the name of the desired Logic plugin into PlugSearch, after figuring out the best place to insert the plugin, using multiple found images and nested if/else actions. When a button is pressed, it will either:

a) insert a new instrument plugin if the visible track header contains an empty instrument slot or...
b) insert an audio plugin in the first available track header slot.

I'm using a Stream Deck and the excellent "KMLink" plugin to assign a different Logic plugin name to each button. All you have to do to set up a button is enter the name of the Logic plugin name into that button's KMLink parameter box (in lower case), which is then passed on to KM to paste into PlugSearch.

Here's a demo of it in action.

Looks really slick. How is the first available plugin slot determined? Is that a function of PlugSearch or part of your KM macro?

I've made a few types of plugin selection macros used on various Stream Deck buttons (using the KMLink plugin), depending on the type of plugin being selected. The Stream Deck passes on the name of the plugin from the KMLink parameter box to Plugsearch via pasting in KM.

  • Insert plugin - inserts selected plugin or instrument in next available slot using Plugsearch.
  • Insert plugin (Waves) - as above, but also determines whether selected track is mono or stereo and selects the corresponding version of the Waves plugin.
  • Insert instrument - creates a new track if an empty instrument slot isn't already available, then adds the selected instrument plugin.
  • Insert Melodyne ARA - inserts Melodyne ARA by navigating Logic's plugin menu (due to a limitation of Plugsearch).
  • Insert Melodyne ARA and de-ess vocal - inserts Melodyne ARA and automates de-essing to -40%.

On top of all this, if I hit the regular keyboard shortcut for Plugsearch, it will function as normal, allowing me to manually search for any plugins not already mapped to Stream Deck Buttons. If the mouse is hovering over a specific slot, it will open the search box there. If not, it will move the mouse to the first available slot and then search.

To your question: the same mouse positioning macro is shared by all of these insert-plugin macros and uses a lot of found image and if/else actions:

  • Determines whether your mouse is over a specific plugin slot. If not, it selects the next one available.
  • Determines whether you're on an instrument or audio track (this is necessary in order to use the correct found image for finding the first available slot).
  • Positions mouse over the first slot, or if that isn't empty, the first available slot thereafter. If an empty instrument slot is available, it will default to this.
  • There are additional found images that ensure that the next slot will be selected whether or not it's after an enabled or disabled plugin.

Most of the complexity of the positioning macro comes from the use of found image. With a lot of thought and ongoing refinement, it's become quite reliable.

Here is the positioning macro. If you come up with a better way of doing this than using found images (I doubt it's possible as Logic is notoriously unscriptable), please let me know!

Plugin - Position Mouse.kmmacros (133.6 KB)

1 Like

Thanks for the thorough reply.

I'm just getting started with this so if I come up with a better way it will be only by stumbling across it by accident.

Just thought I'd update. I've been speaking to Rinus at PlugSearch for quite a while and he's implemented some things I've been asking for. Most importantly, it now automatically loads plugins to the next available slot. It's beautiful!! Combined with my Stream Deck and some simple macros, I can now easily set up a button to load a plugin by simply adding its name to the KM Link parameter box.

Plugsearch Macros.kmmacros (539.4 KB)

  • De-Ess: Inserts Melodyne ARA and reduces sibilance by 40%
  • Instrument: Adds an instrument, creating a new instrument track beforehand if one isn't selected.
  • Plugin: inserts a plugin in the next slot. It also removes the EQ that I have set up for every audio track by default if I'm inserting Melodyne ARA (as it has to be first in the chain) and sets the sidechain input for the Duck plugin to my trigger track. You can delete these groups if they're of no use to you.
  • Plugin (Waves): inserts a Waves plugin in the next slot and accounts for mono/stereo instances.
  • Search: uses PlugSearch with my chosen key command. This is because PlugSearch requires you to use a key with a modifier and I don't want to do that. I just want to hit the ` key.

In PlugSearch prefs, I have Universal set to ctrl+§ and Instrument set to alt+§.

Bonus 1: I've figured out how to easily load channel strips presets. All you do is type the folder hierarchy into the KM Link parameter box, separated by a comma and a space. As an example, let's say I want to load the Jazz Standard organ preset.

I'd type this into the parameter box:

leg, log, 05, 02, jazz

Load Channel Strip Preset.kmmacros (54.5 KB)

Bonus 2: I've also figured out a way to load library patches without having to click around the clunky library pane. This uses Alfred's search filter function, with this simple custom workflow:

Logic Patch (1.5 KB)

Make a Stream Deck KM Link button and enter the name of the patch you'd like to load into the parameter box. Link it to this macro:

Patch via Alfred.kmmacros (61.9 KB)

1 Like

Hey! Thanks so much for posting these and sharing your workflow. I want to, as you have described, launch plugins, instruments, and library patches directly from my Streamdeck (I have plugsearch, keyboard maestro, and the KM link plugin). Unfortunately, I haven't gotten any of your macros to work, and I was hoping you could help me figure out how to get up and running.

You mention that "In PlugSearch prefs, I have Universal set to ctrl+§ and Instrument set to alt+§." I don't have these options in the plugsearch preferences - I'm running version 2.12 of Plugsearch, which according to the Speakerfood website (at the time of writing this) is the latest version.

Also, I didn't quite understand how the "Logic Patch" file integrates with the "Patch via Alfred.kmmacros" file. What application am I supposed to use to run the logic patch search file? By default, it tries to open with text edit, but when I try opening the file, it says the format is incorrect.

Maybe there are some discrepancies between how I have things set up and your macro presets, but I'm not familiar enough with Keyboard Maestro to be able to diagnose a potential issue and/or re-create your macros from scratch to work on my system. Would appreciate any help, let me know if you need any information - thank you!

Thanks for taking the time to check it out. This was my first real post of my own macros on the keyboard maestro forum, and I duplicated some of the relevant ones here. There's a lot to keep track of and one thing I completely forgot was that the developer, Rinus, had sent me a beta version of PlugSearch, so the "universal" option won't be in your version I'm afraid. Apologies for the oversight. I'm sure if you emailed him, he'd be happy to send you the beta. I'm tempted to send it to you myself, but I don't think it's really my place to do so. Maybe he wouldn't mind, but maybe he would; I'm not sure on the etiquette there.

As regards the library patches, you'll see in the main thread I linked to above that I no longer use Alfred for that. This was mainly because I realise that not everyone has it, so I tried to come up with a method that's more universally applicable. Let me know if that method works for you instead.

1 Like

Thanks for the info! I e-mailed Rinus and he said the update will be out on November 1st, so I'll wait till then. I tried out the strip preset macro listed in the main thread but it still doesn't work - at first I was getting this message from KM: "Move or Click Mouse no unique image found..." and then when I tried it again a few times later my mouse cursor would just get stuck or glitch out and I'd have to restart my computer... so not sure where I'm going wrong. Please let me know if there's something obvious I'm missing/doing incorrectly, if not - I'll make sure I invest some time getting more familiar with KM and try to build similar patches from scratch and see if they work on my system specifically. Thanks!

Sorry, I only just saw this. Regarding the preset macro:

  • Check that the found image actions within the "Close Inspector?" group and the group below it are searching in the right screen/area according to your configuration.
  • If this doesn't remedy it, you may need to experiment with taking your own screenshots of the region drop down text and the top of the Channel Strip menu button. You'll want to capture the top of the button and some blank space above it, making sure that it crops above the top of any text on the button itself. Also, in order to differentiate it from the adjacent buss/output strip, either include a little of the screen edge and the border between the strip and the adjacent bus/output strip (as you'll see with the included image), or select "Leftmost" rather than "Best" in the action settings.
  • If you find your system ever locks up when running a macro, try this rather than a restart:

Kill All Macros.kmmacros (1.3 KB)

1 Like