Cubase sending sysex messages to hardware

So what I am trying to do is have a way that my projects can store and load my Korg DW 8000 patches via syx when I pull up songs. The way I am hoping to do this is to store the syx message into the midi file.

So far I have been able to take some random Korg patches that were already stored into a midi file and it seems to work perfect. However, when I try to create a midi file, go into list editor and import a syx file, it doesn’t seem to work. These syx patches work fine in 3rd party apps so I know it’s not a problem with the syx patch. It has to be something with the syx and the way Cubase is sending it or maybe a setting I am missing. When I view the syx message after I import in in the List Editor, it looks okay but I am not a syx guru by any means. Again, the patches that I have that are already stored into a midi file work perfect. I just play the song, and the patch updates.

Any ideas of what I might look for or check?

Also, if there are better ways people deal with patches and songs on older hardware synths, I am all ears.

Just an idea, check midi filter. I remember Sysex being filtered as default.

good suggestion and you are correct that it is checked by default. Unfortunately, I already tried this and it wasn’t the issue.

I’m not familiar with this particular Korg instrument, but I do have some here that have more than one Virtual MIDI port over USB. In some cases not ‘all’ of the ports for an instrument can take a sysex dump, so I need to make sure I have the track’s MIDI output with Sysex data on it pointed to the correct MIDI port that CAN accept such a dump.

Some of my external MIDI instruments also have the ability to enable/disable their ability to accept sysex dumps. Double check that your Korg itself hasn’t been set to ignore sysex.

I also have some instruments that allow me to set a unique sysex ID for each unit. I.E. If I have two Fantom XR units connected in a daisy chain, I could set them to independent sysex IDs (different sysex dumps would then required for each unit), or have them set the same ID (a singe dump with the proper ID would be accepted by ‘both’ units). So, check that maybe your Korg’s sysex ID hasn’t been changed since you recorded those dumps.

thanks for the advice.

See, the thing is, I have Korg patches in .syx and .mid formats. When I use the .mid files in Cubase they work fine. Import them into a track and the patch changes once the midi file is played. However, if import a .syx directly into that same midi file (or a new one) it doesn’t work. These are .syx files that import into the Korg perfectly using 3rd party apps like SendSX, MidiOx, etc. so I know the syx files are fine.

I am just wondering if there is anything that might need be adjusted once the syx is imported into the Cubase Sysex Editor?

I see…

In this case try setting up an empty midi track in Cubase. Create an empty part on the track. Open this part with the "List Editor’. Insert a sysex event with the pencil tool and then double click it to edit. At this point try importing your raw syx file into the sysex editor.

If it appears to import properly, then simply set the tracks MIDI output to your Korg and it should be good to go.

and this is exactly what I have tried. I have tried with a new midi file exactly like you explained as well as adding it to one that’s already working and neither worked for me.

I have looked at both the working midi syx files in the editor as well as the non working imported syx files and I can’t see any glaring problems. That said, don’t really know what I am looking at because my sysex knowledge is very limited. I did notice that the ASCII is different with the working ones vs non working ones. I am not sure if that would make any difference. …?

I should add that it’s also possible to use your favorite Sysex librarian and just ‘record’ it into a Cubase track as needed. It might work out to be easier for you that way.

You’d just need a virtual loopback port directed from something like MIDI OX into Cubase. For Windows I personally like this one since it’s free, and offers an unlimited number of ports:
http://www.tobias-erichsen.de/software/loopmidi.html

That same site also offers rtpMIDI if you want to do it over Ethernet or a local ip.
http://www.tobias-erichsen.de/software.html

If you’ve a Mac, I’m not sure what all is out there for Macs. It might even have it built in to the OS itself…

I do this quite often with My Fantom XR, since it comes with a nice windows control panel and sysex manager. Rather than trying to reinvent the wheel inside Cubase, I just route the X Editor in via loopMIDI and record it as needed in a Cubase track.

Ah cool, I will try this method when I get home. I don’t care how I get the patch info into the song, just looking for any way really. I am on a pc so no worries there. This might be a good workaround.

Just one other idea if you haven’t already tried it…

What happens if you rename a copy of a *.syx file to *.mid or *.smf ? Will Cubase then import the file to a track as a MIDI file?

I suppose it’s possible that whatever librarian made the syx files uses the same full GM file format, but just names them differently? I dunno, but it’s worth a try.

Was worth a shot but unfortunately didn’t work. Tried both mid and smf. Tried importing, drag & drop and neither seemed to work.

Now I will attempt to try to use this loopback method. (fingers crossed)

hmm…couldn’t really figure out how to correctly use midiloop

Do I create a separate midi track and select the midiloop port as the midi input on that track, press record, then have midi ox send a syx dump via a midiloop port while Cubase is recording?

My Cubase, and system in general, seems to act up with this midiloop software. It’s probably because I am creating some internal midi feedback loop or something.

Any ideas?

Yes. Create a virtual port with loopMIDI and give it a unique name so you can find it easily.

Set your sysex librarian so that its MIDI output is that port you just made. Be careful not to create feedback by looping the Korg back into the librarian at this time! For now, make sure the Korg’s output is NOT connected to the sysex librarian’s MIDI input.

Set the input of a Cubase track to the loopMIDI port you created and named. This is important, do NOT leave it set to ‘ALL MIDI Inputs’, because if the Korg is set to Thru mode, and you’re using it as a controller, then you might get MIDI feedback. Also be careful that any other tracks that might have the Korg set as the ‘input’ are NOT armed, or in ‘monitor’ mode at the time you do this recording.

You can go ahead and set the output of the Cubase sysex track to your Korg if you like. Set the MIDI channel for the track to ANY.

Arm the track and start recording, then initiate the dump from your sysex Librarian. If you’ve connected the output to your Korg you should see that’s taken the dump.

Stop Cubase. There should be sysex data in a part on the track now, and it should work when played back. You can name the part and slide it around in time if you like (I.E. create an instrument setup section at negative bar numbers, or way past the official end of the piece, or as a couple of prep bars at the start of the piece, etc…).

If this is working, you can also experiment with retrospective recording of sysex data. You’ll want to get an idea of how large your sysex dumps are and set the retrospective buffer to be large enough to take them if you’re wanting to make use of this method. Retrospective recording in Cubase allows you to dump the buffer to a selected track at the cursor by pressing shift + num-pad * . This can come in handy with smaller sysex dumps, as you don’t have to arm and hit record…simply place the cursor and paste the buffer right in.

So I made progress and was able to record the sysex to a midi file through midi ox + midiloop. The info seems to be there in the List editor, but unfortunately like before, it won’t send it back to the Korg. Exactly the same results as I was having when I was importing the syx info into a midi track.

I triple checked my preferences to make sure sysex wasn’t being filtered. I also made sure my output ports were connected to the Korg when I was trying to send it back. I can get completely out of Cubase and send syx dumps to the Korg with any other 3rd party librarians and it works fine but it’s just doesn’t seem to be working in Cubase. Except, of course, those patches that I have that have syx patch info in them already. Any syx info I seem to put into a midi file by either importing or recording doesn’t seem to work sending it back.

Very strange.

Strange,

I’ve never had these issues before, but something is now wrong here as well.

I can get a dump recorded, but when I try to play it back it doesn’t go in real time. Once I hit ‘stop’ and then tap num-pad 1 or 0 to go back to my beginning marker, there is a sudden dump as if the thing is treating all but the first bit of sysex like ‘chased controllers’, but it doesn’t go until after I ‘stop’ the sequence and back the cursor to the beginning.

I’m trying some things to see if I can get it working again. I’ll have to dig up some older projects with lots of sysex dumps to see what’s going on. Could it be a new bug with some of the 8.5 updates?

I’m looking at things through a MIDI Monitor insert on a track with as sysex dump…something isn’t right!

Interesting.

Well, I will see what you figure out. I am not giving up yet. I still have hope I can get this sorted out.

On a side note, have you checked out Ctrlr? Works pretty great but unfortunately the Korg panel was made about 3 years ago and it doesn’t seem to support any kind of snapshot.

OK, I’ve tinkered about with it and it seems to be working here again.

First I loaded up some old projects with sysex already in them. They still work.

Next I loaded up my old Fantom X Editor and did some real time fiddling in that while Cubase was recording, and that worked fine as well. Quite a few things in that Editor use sysex commands, and I made sure to tweak them about while recording…

I went back to my initial problem test of simply recording a bank dump from my MPK2 into Cubase and playing that back. At first this was not working for me, but now I’ve found that if I drag the part a bit later in the sequence it plays back fine. I can then move it back to where I want it, but it seems to work best if I make sure to leave a little gap of time between the very beginning of the sequence and the part with sysex in it.

So give this a try…

After importing a syx file try moving the part to a later point in the timeline. If it plays back at that point, try moving it to where you want it.

Likewise, try this with the recording method.

I’m starting to suspect that if a sysex event is in a part that touching the start of the sequence, it might be trying to treat it like a chased controller or something (even though I have chase sysex disabled). It was strange, but it seems to work OK now if I make sure the part that contains MIDI is NOT touching the starting measure of the sequence.

BTW, I’m on version 8.5.20 … the .20 patch came out pretty recently…

Okay Brian, so it looks like I have a lot of individual syx patches that don’t seem to work, not only in Cubase, but some of my 3rd party librarian apps as well. My main librarian (UniSynth) rejects all the same ones that Cubase doesn’t respond to either. Strange cause they load into some other librarian apps. :unamused:

The good thing is I have Cubase working now with syx as long as I use the patches from my main librarian. I assume (haven’t tried yet) that I can midiloop that librarian into Cubase and record syx. Yesterday I had tried sending from midi-ox and using patches that I know now to be “different” and not work in Cubase.

Phew

So once I get it set up to where I can record syx to whatever’s in the memory buffer, I will be a happy camper. I think that I will be able to achieve that the way I described above.

Anyway, I appreciate all your help on this, thanks a million!