Is there a way to externally reference a MIDI file?

I’m in a situation where I’ve got many midi files and tracks that I’d like to constantly update. Since the MIDI is being generated, then these files are not living or being edited in Nuendo. I’m using Nuendo to read them in and trigger samples with vst instruments from there and route that to mix channels.

It would be incredibly valuable if I had a way to externally reference the midi files instead of importing them. Meaning that if I updated the midi file on disk, it would play different notes in Nuendo.

I first looked around for a way to externally reference this in a track. That doesn’t look obvious. Next, I’m searching for perhaps a midi insert where its playing a midi file into the track, also nothing. Does anyone have experience or a workaround in this area?

Maybe one of the (partially quite obscure) plug-ins that can serve as MIDI playback engine will do the trick? I seem to remember that it should even be possible with NI’s Reaktor.

A few ideas…

I’ve done some searching for a good plugin dedicated to the job. The things I could find are VST2 only, and haven’t been touched since like 2012! Maybe there’s some stuff out there I just don’t know about.

Groove Agent SE can load MIDI loops on a pad to be triggerd at will by a MIDI or instrument track, and it also provides an ‘output’ that can be set as the ‘input’ of other tracks. You won’t get a built in editor though.

You could import or make your loops on any ole MIDI track, and simply ‘drag the event(s) from the project editor’ to a pad in Grove Agent. Delete your scratch track when done. You can also drag MIDI files to a GA pad straight from your OS file selector.

With SE, you do need a kit loaded to get things to pass through. You can keep GA itself from sounding by soloing some empty pad. I.E. Just make a simple kit with only one instrument, maybe out of the way up on the very last pad (midi note 128), mute it, and then solo any other pad. Here I just drug any ole snare sample onto the last instrument pad. Muted it, and soloed the next pad down.

Now patterns will pass their output through a special GA MIDI output that other tracks can use as an input.

At that point you have several different methods to trigger such ‘pattern pads’ and route them to sounds in GA, or back out to ‘other tracks’. They can be looped, one shot, etc. Pad can be set to ‘touch one time’ and they play through or loop indefinitely until toggled off, or set up in a way that the pad must be ‘held down’ to keep the pattern playing. etc.

If you happen to have full Groove Agent, it has everything Groove Agent SE does times 4, plus a built in a diamond editor thing that can view, build, save, load and play back MIDI loops. Patterns can be passed to the MIDI outputs in full GA without having a kit loaded. The output can be connected as the input of other plugins/ports (and if not, a virtual port can make it happen). You get a bit more flexiblity in many areas than with the little brother SE.

Another Idea…

Run another MIDI sequencer/DAW in the background. Maybe one of the smaller/leaner versions of Cubase (AI/LE/Elements). Your Nuendo key should cover it.

If you need to play from this ‘second sequencer’ directly into Nuendo in real time, use a virtual MIDI port. It’d also be possible to sync the transports via MTC or VSTLink.

I have something called Bidule that can play and record MIDI and audio files or loops internally. They can sync with the DAW, or you can set up internal sync sources. It has some simple arp and step sequencers that allow you to edit what they do and save their states (no editors for a full MIDI file though). The full registered version can be loaded as both instrument or effect plugins. Multiple instances can communicate via OSC and/or over virtual MIDI ports.

Not sure if Bidule fits your particular need here since it doesn’t include a ‘MIDI file EDITOR’, but It’d take several books to describe what all Bidule can do. It might be that you could do the ‘editing’ in a fresh and totally clean/empty Nuendo project with no plugins loaded, and have bidule instances play back the results back in your main project.

I asked ChatGPT and I got this answer. I haven’t tried it - maybe this will work:

  1. Create a new MIDI track: Click on “Project” in the menu bar, then select “Add Track” and choose “MIDI.” This will create a new MIDI track in your project.
  2. Open the MediaBay: Click on “Media” in the menu bar and choose “MediaBay” to open the MediaBay window.
  3. Locate the MIDI file: Navigate through your file system in the MediaBay until you find the desired MIDI file. Right-click on the file and select “Add to Project” from the context menu.
  4. Choose “Insert as Reference”: After selecting “Add to Project,” a pop-up window will appear. Here, you can choose the option “Insert as Reference.” This will create a reference to the external MIDI file in your Cubase project.

Check it out.

Thanks Brian and Dietz for the ideas. That certainly lets me know some ideas to try and also that it’s not a straitforward thing with an easy answer.

I don’t have any need to edit the midi files, since they’re being generated in my own solution. I really need Nuendo for the VST instrument + mixing abilities.

Thanks for giving that a quick ChatGPT THambrecht. I didn’t think to do that. It might be a viable solution for cubase, but that option doesn’t seem like it’s available in Nuendo unfortunately.

:smiley: ChatGPT in its inventive mood.

1 Like

I once had to route a literal ton of real world synths and sequencers. I used three Unitor 8mkii MIDI routers to get the job done, into one DAW.
In the DAW (not Nuendo but it should work the same), we had some VIs running as well. These were just input enabled, to listen to the MIDI from real keyboards and hardware sequencers. These would either have internal memory banks for the sequences, or were played live.

The trick is knowing how to assign and name each MIDI output so it is unique, then routing it via controller software to the correct destination, oin the case of hardware, or simply having it chosen as the correct input in the DAW, instead of using “MIDI ALL” as the input.

So, your first step is getting a hardware MIDI router, like the Unitor, or a Motu, which is more modern.