(Potentially basic?) question about recording midi with XG settings

3 posts / 0 new
Last post
andy's picture
(Potentially basic?) question about recording midi with XG settings

First of all, apologies if this is a dumb question. I'll do my best to articulate what I'm trying to do and what my confusion is.

I'm currently using XG Manager in combination with Ableton Live, a midi interface and an MU10. Basically Ableton sends midi notes to my interface, and my interface sends midi and XG settings to my MU10. This is working great for writing and testing out sounds, however I would like to be able to end up with a midi file that I can simply play on my MU10 (or for sharing with other people so they can play it on whatever midi player they want) and I'm not totally sure what the best way is to do that. Using MIDI Tools I am able to record the XG setup signals (by restarting XG Manager) and then I can press play in Ableton to record the notes but this makes for a somewhat awkward midi file where there is a moment of silence at the beginning corresponding to the time it takes XG Manager to start, and then the music starts playing.

Aside from manually programming all the program numbers, bank numbers, and control signals for each channel of each midi file I want to create (which I'm certain isn't the solution to this problem XD), what is the best way to simply create a MIDI file that uses a given XG setup? I'm new to the world of XG, so again, sorry if there is some totally easy way to do this that I'm overlooking.

Mark van den Berg
Mark van den Berg's picture

It is possible to include System Exclusive ("SysEx") messages in MIDI files containing "songs".
However, this is inherently dangerous:
The standard MIDI protocol only allows about 3000 bytes to be transmitted per second. Thus, long SysEx messages can easily cause congestion in a MIDI file also containing "song" messages (Note On/Off, Control Change etc.).
For instance, an XG setup sent by XG Manager consists of about 6000 bytes, so it takes about 2 seconds to transmit this setup. Therefore it's probably a bad idea to include this in a MIDI file also containing "song" messages.

So it's probably better to put the XG setup in a separate file.
In theory a MIDI file could be used for this, but MIDI files contain some overhead (like tempo and timings) that isn't needed for SysEx dumps.
This is where the "syx" file format comes into play: a syx file just contains a bare sequence of SysEx messages, without any of the MIDI file "nonsense" like tempo and timings.
As it happens, a few months ago someone asked for a facility in XG Manager to save XG setups as syx files: Saving of Sysex Files. This led me to release XG Manager 1.7.0 Alpha 1, which does that.

So you can distribute two files to other people: the syx file and the MIDI file.
People will then have to first send the syx file to their XG synth, then run the MIDI file (from Ableton Live or whatever).
I don't know whether Ableton Live is able to open and send syx files, but in any case the "MIDI System Exclusive messages" window of MIDI Tools makes this very convenient.

Hope this helps,

andy's picture

Thank you, excellent info! That clears things up for me.