Jump to content

Logic doesn't support MIDI output from plug-ins.


Mattinay

Recommended Posts

Hi,

I cannot find any way to record the output of a virtual instrument in Logic. What is recorded into the track is anything coming IN from an external source, but not something generated within the plugin itself.

 

---------

EDIT Jan 6 2016 (TLDR answer): passing out or recording MIDI from any AU Virtual Instrument - therefore everything in Logic - is not possible because the specification of AU does not allow it. Keywords to help people searching this issue include: Reaktor midi out, Kontakt Midi out, virtual instrument midi out, AU midi output, record MIDI from plugin, au plugin and midi output, issues with virtual instrument midi out, can't record midi from plugin. Hope that helps. I wasted days on this, may your journey be shorter. Love to all. :mrgreen:

--------

 

For example: Reaktor 6, when run standalone, can have its MIDI output seen by Logic Pro X as an external instrument via a virtual MIDI buss (e.g. IAC, or Reaktor Virtual MIDI or whatever). The process is easy, trigger from Logic, MIDI data output of Reaktor sent back to an external MIDI track in Logic, record the data and all good. BUT - I cannot do the same if I want to run Reaktor as a plugin. (Or any other Virtual Instrument that generates MIDI data running as a plugin).

 

Because the MIDI data generated within the Virtual Instrument is not seen as 'external' to Logic, (and here is the question): how can MIDI data generated with a Virtual instrument be routed so that it is recordable please? The Virtual Instrument track only sees MIDI input, not plugin output.

 

I have even gone so far as to try to use MIDI FX as a data router / send to another track. No go. Am I missing something simple?

thank you in advance.

Edited by Mattinay
Link to comment
Share on other sites

Connect the output of my . . . . . . ????

:-)

That bit would really help, thank you.

 

(i.e. it can't be the output of the virtual instrument channel because that is audio only, and the output of VI is still enabled to send to all MIDI outputs but Logic seems to disable that signal flow as nothing returns down any virtual MIDI buss except if the instrument is external to Logic).

Link to comment
Share on other sites

Thank you Eric, much appreciated. Good find on that other post as well thank you. As I feared, Logic is not able to see MIDI output from a plugin. (quoted from the other thread: (Logic doesn't support MIDI output from plug-ins, unless the plug-ins use their own virtual MIDI port which appears in Logic's physical input object). In the hope this might help anyone else, this is not just relevant to reaktor, many of the plugins that modify or generate MIDI data (e.g. with inbuilt arpeggiators, randomisers, generators, groove boxes etc) only create their own "personal" MIDI out buss when used in standalone mode, if at all.

 

Not the answer I was hoping for, but lovely to have a resolution so quickly. Appreciated. Looks like I will have to move to another DAW for these projects.

Link to comment
Share on other sites

Thanks Eric. It turns out the reason is really obvious if you know that Apple has designed AU to not do MIDI (or words to that effect). I am told today that unless Apple change the spec of AU, Logic users will not be able to record or pass the MIDI output of any plugin to another plugin or track. Luckily all other plugin formats do not suffer this so this can be made to work in any other DAW but Logic for the moment. I will update the first post with some keywords to help others to find this info once it gets buried. Thanks for your help.
Link to comment
Share on other sites

There's much hidden under the hood of Core Audio that never gets used.

 

Audio interfaces can specify different latency figures for different audio streams (SPDIF, ADAT etc.). But the audio interface manufacturers never implement the feature in the Core Audio driver.

 

As another example, automated digital audio format conversion and mixing is practically built into operating system. But not many people, apart from developers, realise it.

 

And not many people are talking about the fact that the new Core Audio spec is (going?) to include the option to send 24-bit integer audio direct to the audio driver, without the need to mix, convert and clip from 32-bit float inside the driver. Is there a performance reason for this?

Link to comment
Share on other sites

I couldn't really understand the link.. I just want a simple way to get the processed midi out of a virtual plug-in.. For instance, REAL GUITAR by MusicLab has a cute system where it takes two midi inputs, the chord notes, and a strumming or picking pattern.. This method duplicates the guitar so that it has now turnend into a 6 operator midi devicex (each guitar string, has it's own separate midi string to play the notes.. Their vst and PC virtual plug-in lets you take those six channels of midi and assign to different virtual instruments, opening up a whole new world of sonic possibilities.. Since Apples Audio Units doesn't easily output the six streams of midi, this feature is not possible to use.

 

I've had several conversations with Music lab about this (but none since Logic 10.2 - and as far as they were concerned it was impossible to do in Logic because of how they decided to implement Audio Units.. They recommended me to switch DAWS..

 

If someone could provide a simple explanation, or a 'script patch' (I'm assuming how 6 independent midi streams of data would be available to patch into different, VI's.. I would be very greatfull

Link to comment
Share on other sites

angelonyc, the only thing I can recommend is that you need to politely suggest that Musiclab look at that link and see what they make of it (the info in that link is not for us mere mortals, it is for developers). According to Apple Spec on that link, AU plugins have allowed MIDI out from plugins since 10.5. I would be very interested to see what they come back with as an answer.
Link to comment
Share on other sites

The link basically means the Core MIDI and Audio Unit API's allow Audio Units to output MIDI. But Logic doesn't comply with that part of the Audio Unit specification.

 

So, plugins cannot output MIDI in Logic unless the plugin developers write their own custom Core MIDI code to transmit MIDI to a MIDI output. And if they aren't using an IAC port they'll have to write their own virtual MIDI driver to receive the MIDI back into Logic.

 

Also, plugins can't transmit MIDI into Logic directly. They have to use a MIDI driver loop (IAC ports, virtual MIDI ports), so that Logic can see the MIDI coming from a MIDI input.

 

So, the Audio Unit spec and API allows it. But Logic doesn't support or implement it.

Link to comment
Share on other sites

THANK YOU. !!

That is a very precise, concise and helpful answer. That is the most definitive answer I have seen, thank you.

I have been a Logic user and promoter since the days of notator and creator (1980s). As one of the originators of MIDI music making (at least Lengeling and Adam were), it is completely illogical that this application cannot deal with MIDI in such a basic fashion. MIDI generating plugins can not output MIDI internally in a MIDI-centric application and the MIDI centric host can't deal with it internally? Awesome. Oh well. Feels like having the only car on the planet that will only turn left - the only DAW on the planet (with MIDI capabilities) that can't do internal MIDI routing.

Link to comment
Share on other sites

Have you tried cabling Reaktor's channel strip MIDI output to the sequencer input object within the MIDI Environment?

 

Honestly though, using the IAC bus with an External Instrument plugin is pretty painless. You active the IAC Bus, and then create an external MIDI track. Then Logic receives MIDI from inside itself.

Link to comment
Share on other sites

Have you tried cabling Reaktor's channel strip MIDI output to the sequencer input object within the MIDI Environment?

Honestly though, using the IAC bus with an External Instrument plugin is pretty painless. You active the IAC Bus, and then create an external MIDI track. Then Logic receives MIDI from inside itself.

 

Is that possible ?

I mean, I thought you only could use midi fx plug-ins for this technique, not when the midi is

generated by a software instrument (or an audio plugin) ?

Link to comment
Share on other sites

For environment cabling:

 

Hit (Command+0) and then go to the Mixer layer.

 

Set it up as follows:

file.php?mode=view&id=30803&sid=dacb7a812224bd19e155890b4ee3a381

 

That should take any generated MIDI and input into the sequencer input for Record enabled software instrument tracks.

 

However, if that doesn't work...the IAC Bus/External Instrument method for sure will work. I use it regularly.

 

Let me know if you need help setting it up.

1587909715_ScreenShot2016-01-10at10_35_33PM.thumb.png.bcc98686f4543f218548a6b3065daab1.png

Link to comment
Share on other sites

Thanks, I don't have any 3rd party plugins like reaktor to try myself, I was just curious if this was possible :)

I guess there's no Logic stock software instruments that I could try this on ?

I also use the external instrument/IAC sometimes to print midi from the stock midi fx plugins, really like the stuff you can do with it :)

Link to comment
Share on other sites

Yes, totally possible.

 

And I just tested it with an ES2 and an Arpeggiator Object (NOT the one on the channel strip).

 

The only connection from the physical input is coming directly from the channel strip, through the arpeggiator first.

 

As you can see, it recorded Arpeggiated notes at the sequencer input. (Look at the arrange track behind the environment window.)

 

If MIDI is being generated from the channel strip, then you can route it to the sequencer input.

 

file.php?mode=view&id=30804&sid=dacb7a812224bd19e155890b4ee3a381

635810850_ScreenShot2016-01-10at11_16_37PM.thumb.png.fe2c0e5e22969ffead8ad30d11853f1e.png

Link to comment
Share on other sites

Have you tried cabling Reaktor's channel strip MIDI output to the sequencer input object within the MIDI Environment?

 

Is that possible ?

 

No.

 

Once again, Logic does not read MIDI from Audio Units. The plugin can comply with the Audio Unit API and generate the MIDI, but it will be ignored by Logic.

Link to comment
Share on other sites

So now I'm confused a bit.

 

If I create an external MIDI instrument track and output, say PC messages to the IAC bus, I can then route those PC messages back into Logic to effect things.

 

Reaktor, in particular, can actually generate MIDI data. So if that gets generated at the output of a channel strip object, and then routed into the sequencer input, from a signal flow standpoint, why doesn't that work?

 

In other words:

Currently- Physical Input->Arpeggiator->Channel Strip->Sequencer Input, and Logic records incoming arpeggiated MIDI data at the sequencer input.

 

If, within Reaktor, I have something generating MIDI, and I go:

Physical Input->Reaktor Channel Strip->Sequencer Input...what changed where it's no longer receiving MIDI at the sequencer input?

Link to comment
Share on other sites

So now I'm confused a bit.

 

Reaktor, in particular, can actually generate MIDI data. So if that gets generated at the output of a channel strip object, and then routed into the sequencer input, from a signal flow standpoint, why doesn't that work?

 

It never leaves the output of the channel strip object.

 

lol

Link to comment
Share on other sites

  • 11 months later...

Hey all, digging up an old thread in the hope that this info will be useful to someone. I managed to get MIDI (well, kinda) out from a plugin by writing it back to Logic as automation, which comes out of the output socket on a channel strip as fader messages, where it can be transformed to notes/CC/whatever.

 

I'm using it to do live drum sample replacement and control lights and video. Timing seems solid a little delayed. I am an expert at neither Reaktor (Automation module)  or Bidule (Parameter modulator), but it is possible in both.

Link to comment
Share on other sites

  • 3 months 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...