Jump to content
amsdenj

Helix Native MIDI Operations in Logic Pro X

Recommended Posts

Knowledge base article Helix Native Midi Operations in a DAW provides instructions on how to use MIDI messages to control block bypass and parameter values in a number of common DAWs, including Logic Pro X. The instructions for Logic Pro X don't actually make use of the new feature in Helix Native 1.60 and beyond that allows direct use of MIDI CC messages for block bypass and parameter control. This is because Logic Pro X does not send MIDI messages to audio track plugins, you have to use controller assignments that map to the Helix Native switch and knob automation parameters which are then configured as automation assignments in Helix Native.

 

There is however a way to use this direct MIDI CC control of block bypass and parameters in Logic Pro X. What you do is use a software instrument track instead of an audio track so that the MIDI messages will be sent to the track, and you can choose which MIDI channel to get the messages from. Next you select the Instrument slot for the software instrument track, and add Helix Native. Now Helix Native isn't a tone generator, and generally won't respond to MIDI messages the same way a software instrument would, but it will respond to MIDI CC messages that are mapped to block parameters, and that's just what we want. 

 

Unfortunately, software instrument tracks don't support audio inputs, so no sound comes out of Helix Native since your guitar isn't connected to that track. But there's a work around for this - software instrument plugins include a Side Chain audio input that can be used to control the software instrument tone generator based on an analog input. If you set the Side Chain input to the audio interface input your guitar is connected to, then your guitar will be input into Helix Native. Now you have both audio inputs and MIDI messages being sent directly to Helix Native - not as an Audio FX plugin, but as a Software Instrument with an analog side chain input.

 

There are however a couple of complications you should be aware of. First, if you have any controller assignments configured for the same MIDI device and CC messages, you won't see the MIDI messages in the software instrument track. All MIDI messages that are mapped to controller assignments are consumed by the controller, and are not sent to any software instrument track. So be careful about overlapping controller assignments and Helix Native direct MIDI CC assignments, the track won't see any of the overlapping assignments.

 

The second complication is recording. MIDI tracks only record MIDI, not audio. So although the software instrument track with instrument set to Helix Native will provide monitor sound, this sound won't be recorded. To record you need to create an audio track for your guitar input, record that track with dry guitar, and route the output of that track to a bus which is then used as the input to the side chain. Now when you record, one track will record the audio, and the other will record the MIDI CC messages. On playback, you'll be playing the audio track through Helix Native since the track is going through the bus into the software instrument's side chain. Recorded MIDI messages will also be sent to Helix Native, essentially playing back the button presses you did when recording. 

 

This is a little complicated, but works great and is very flexible.

 

Why is this useful? Really three reasons. First, controller assignments are pretty tricky with Logic Pro X (MainStage is much better). You might find direct mapping of MIDI CC messages to Helix Native parameters a lot simpler. Second, Helix Native only supports 16 switches and 16 knobs that can be the target of controller assignments in order to configure plugin parameter automation. That might not be enough control for complex patches. Third, it can sometimes be quite difficult to get plugin automation to record and playback properly. For some plugins, the state of the automation parameters is not known until the track gets the first MIDI message. This can for example cause a distortion block that you turned on for the first chorus to be turned on from the beginning of the track - the automation parameter didn't get initialized properly. You can easily fix this by manually adding the missing automation point, but this adds more work.

 

Hope you Logic Pro/Helix Native users find this helpful.

  • Upvote 4

Share this post


Link to post
Share on other sites

This is IMMENSELY helpful. Very clever workaround. Thanks for sharing!

 

For what it's worth, inserting an instance of the Logic I/O plugin appears to work as well. 

Share this post


Link to post
Share on other sites

Hi guys 

I was trying to control Native with an fcb1010 midi pedalboard, but it seems I cannot get it the right way. Probably I'm doing something wrong, but here is what I've done:

- in logic I set an instrument track, with an instance of Native: here the pedalboard works, I can change snapshots, bypass and all the stuffs needed from the fcb

- set an audio track ( audio 1) with another instance of Native

- side chained the midi track to audio 1.

Doing this way the fcb1010 changes parameters only on the instance of Native on the instrument track but won't change anything in the Native on the audio 1 track.

Where am I wrong?

Thanks a lot

 

 

 

 

 

Share this post


Link to post
Share on other sites

Read the post above carefully. Logic Pro only sends MIDI messages to plugins in Software Instrument tracks, not Audio tracks. You need to use a side chain input to get audio input into a Software Instrument track, and you need to use a buss on that track to send the audio output of Helix Native to an audio track for recording. The Software Instrument track only records MIDI messages, not audio.

 

Share this post


Link to post
Share on other sites

Top job!!! I had never found out how to solve this problem! But now I enjoy playing Wah-Wah and can use several other options in Helix Native.

 

I can't say HOW helpful this is! :-)))

Share this post


Link to post
Share on other sites

I like this method better for numerous reasons. Use whatever method suits your needs....

 

 

  • Like 1
  • Upvote 2

Share this post


Link to post
Share on other sites
On 6/23/2019 at 9:08 AM, amsdenj said:

Knowledge base article Helix Native Midi Operations in a DAW provides instructions on how to use MIDI messages to control block bypass and parameter values in a number of common DAWs, including Logic Pro X. The instructions for Logic Pro X don't actually make use of the new feature in Helix Native 1.60 and beyond that allows direct use of MIDI CC messages for block bypass and parameter control. This is because Logic Pro X does not send MIDI messages to audio track plugins, you have to use controller assignments that map to the Helix Native switch and knob automation parameters which are then configured as automation assignments in Helix Native.

Great instruction actually, thanks for sharing it, it helped me a lot. 

Share this post


Link to post
Share on other sites

@sounddog, the video you referenced does indeed work. But it has a few problems as I noted in the 2nd to last paragraph in the original approach. Controller assignments in Logic Pro aren't localized to the project - they are essentially user preferences that apply to all projects. So what works for one track in one project might not be appropriate for another track or another project. This is both a limitation and feature of Logic Pro depending on your perspective. Its a limitation if you want to use MIDI controllers for very different things in different projects. Its a feature if you want your MIDI controller to work the same way in all projects. You can do most anything you might want by editing the Logic Pro MIDI Environment, but it isn't easy.

 

The second problem is that the when recording the audio track with parameter automation controlled by a controller assignment, often the automation parameter is not properly initialized at the start of the track. The automated parameter may pickup the value from the first MIDI message it receives and apply this change way back to the beginning of the track - usually not what you want. 

 

And of course there are the limits of 16 knobs and switches for parameter automation.

 

As I pointed out above, there are ways to work around this, but it tends to be a bit complicated and unreliable.

 

  • Upvote 1

Share this post


Link to post
Share on other sites

That's great info ... didn't realize the project-specific limitation (I bounce/commit after I get a track where I like it). And thanks for your write up; its really useful!

Share this post


Link to post
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.   Paste as plain text instead

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