Send MIDI track data to Unreal Engine

Hi,

Is it possible to send MIDI information data in real time during the playback of MIDI track from Ardour into another application eg the game engine such Unreal Engine ? ( I already know that UE supports now MIDI input )

Routing audio or MIDI data between applications is the main (and usually only) reason to use JACK.

Now the question is: does the Unreal Engine support jackaudio.org ? If so it’s a easy, you can directly connect a MIDI track’s output.

If not, it depends on the OS that you are using.

  • On macOS this is possible (using apple’s virtual MIDI device) with Coreaudio + CoreMIDI.

  • On GNU/Linux it is tricky but possible if UE support ALSA-sequencer:
    You’ll have to use JACK with Ardour, then a2jmidid to expose the Ardour’s jack-midi port as ALSA-seqeuencer MIDI port and then connect it.

  • On Windows this is probably not possible. Ardour directly communicates with hardware devices.

Alternatively, you can always get a cheap MIDI device and a MIDI cable. Ardour → MIDI out → MIDI cable → MIDI in → UE.

Hi Robin,

Thank you for details. Much appreciated. I see that Unreal Engine is not currently supported by JACK but Blender is. I could give go with this setup on macOS for as test environment.

On MacOS, open Apple’s “Audio/MIDI Setup”, then Window > Show MIDI Studio and connect it using the “IAC driver” for inter-application-communication:

Thank you very much Robin. I made my first steps in Ardour regarding MIDI setup. Now I how to investigate sending MIDI data to Blender.

Unsure if Blender does anything with MIDI honestly. It supports Jack audio and time code but not sure about MIDI at all.

That being said Robin’s suggestion was about getting MIDI from Ardour into Unreal Engine like you were originally looking for I believe, which likely does support the IAC Driver (Part of Coreaudio) as long as it supports MIDI.

   Seablade

Hi Seablade,

Thank you for your reply.

I was thinking to try with this addon for Blender:
https://docs.animation-nodes.com/tutorials/midi/

Also I’ll as well what Robin initially suggested regarding Unreal Engine

Either way I’ll have to explore both and see what I get.

Glancing at that documentation, it seems that only reads MIDI files, not takes live/realtime MIDI data as input. Maybe I missed something though. But if that is all you want though, you could bounce the MIDI data from Ardour and then open it in Blender or Unreal as a MIDI file obviously, but it doesn’t sound like that is what you wanted.

    Seablade

My bad. I misunderstood a usage of MIDI nodes for Blender. That’s not what I wanted initially so I’ll have to skip Blender for now. My first focus of interest is still UE.

Then yea give Robin’s instructions a shot and see how you do there. I don’t have any direct experience with UE sadly but the instructions he posted should work in general for most Mac apps that can handle MIDI.

  Seablade

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.