You are here

Transferring Song Data Between MIDI Sequencers

Tips & Tricks By Vic Lennard
Published April 1997

Need to transfer songs between an old sequencer and your new computer? Or between a sequencer at home and a MIDI File player for live work? Vic Lennard explains the procedure.

Sequencers have come a long way from the days when they really were sequencers — a set of simple steps of 16 or 32 notes with no change in level or note length. Years ago, many synths had their own on‑board sequencers and the scenario of needing to move a sequence from one synth to another simply did not occur. How times have changed. The combination of MIDI, the Atari ST and Steinberg's Pro 24 brought the affordable creation of music to the masses. The Atari ST was the perfect computer platform for two reasons: the in‑built MIDI ports, and a floppy disk drive for data storage. Many sequencing programs followed in Pro 24's footsteps, including, in the early days, C‑Lab's Creator and Dr. T's KCS. This led to a situation wherein you often found a different sequencing package in each pre‑production studio you went to — and almost no way to transfer your songs between them. For, while sequencing programs on the ST used the disk drive to save data to disk, you could not take a song recorded on one sequencer and simply load it into a different one, as the format of the stored data differed. The situation became even more awkward once other computer platforms started to become involved.

Standard MIDI Files

In 1987, a number of software companies decided that it was essential to have a common file format for the saving of songs on a sequencer. This led to the Standard MIDI File Specification which is now used by almost every sequencer writer, irrespective of the computer or sequencing program, so leading to a high degree of compatibility in the transfer of songs.

There are three types of MIDI File:

  • Format 0 saves the entire song as a single track.
  • Format 1 keeps sequencer tracks separate within a song.
  • Format 2 saves a song as a series of patterns — though this is very rarely supported.

Until the appearance of General MIDI (GM), the most commonly used type was Format 1. In essence, this has almost no limitation to the number of tracks that can be saved — unless around 64,000 can be termed a limitation. Most computer‑based sequencers give you the option of saving a song in either their own proprietary format or as a MIDI File. If you use the latter, you'll be 'exporting' the song on saving, and 'importing' it on loading.

When you load a Format 1 MIDI File, there are likely to be a few irregularities. The MIDI channel numbers that were previously associated with each sequencer track will have disappeared, and it's also quite possible that the track names will have vanished, especially if you are using an older sequencing package. This is because there are two ways of saving track names in a MIDI File, and, depending on the methods used by the sequencer for recording, and the sequencer you are now loading into, the names may or may not still be there. However, the tracks will still be in the same order.

Why do the MIDI channel assignments disappear? If you've recorded sequencer tracks from a keyboard, the MIDI channel for each track will be dictated by the MIDI output channel of the keyboard. For playback purposes, you then re‑channel the MIDI data so that the MIDI channel of each track matches up with the MIDI input channels of your sound modules. Such information, which is used solely for playback purposes, is not usually saved in a MIDI File. If the sequencer also allows you to use playback track delays, transposing and the like, the chances are that such information will also not be saved with the MIDI File. Why are most GM‑based MIDI Files saved as single‑track Format 0 files? Because this allows General MIDI playback devices to read a single stream of data rather than a number of parallel tracks.

There are two criteria for a successful song transfer: keep the sequencers in time with one another, and send the data across in a 'thinned out' stream.

If you work live, you may well decide to get a MIDI File player instead of using a computer sequencer. This has a number of advantages, not least of which is the hardiness of a small black box as opposed to the fragility of a computer and monitor. While a MIDI File player simply plays back MIDI Files from a disk, without allowing you to carry out any editing, it has the very real advantage of playing straight from the disk, so eliminating any unwanted pauses between songs.

If you intend to use one of these, check that the MIDI File format it uses coincides with those on offer from your sequencer. If the format offered is Format 0, you'll have to save your MIDI Files in this format on the sequencer. Many older sequencers do not give you any choice: if the song is made up of a single track, it will be saved as Format 0; otherwise Format 1 will be used. To force such a sequencer to save in Format 0 you may have to hard convert any playback parameters, merge all the tracks down to a single track and then save as a MIDI File.

Different Platforms

Many sequencer software manufacturers now support multiple platforms with the same package, and most have been sensible enough to ensure that the song data format remains the same irrespective of computer. This allows you to use a common floppy disk format — usually PC — to save a file on one machine and load it directly into another. PC‑formatted floppies will be recognised by Atari STs, Macs, Amigas (with a bit of help) and, of course, PCs.

However, there are many situations where neither floppy disk‑based transfer or MIDI Files are of any use. You may have purchased a new sequencing package and need to transfer songs from your old sequencer, which does not support MIDI Files. Perhaps you're using a budget non‑disk drive‑based sequencer for live work, while creating your files on a computer system. Or maybe you want to back up precious song data on a non‑disk drive‑based sequencer. You might even be using an old computer‑based sequencer that has a poor MIDI File implementation — Steinberg's Pro 24, for instance, has been known to show a different number of tracks on loading in a saved MIDI File than the number originally saved!

Now there's the rub. Can you simply connect the MIDI Out from the transferring machine to the MIDI In of the saving one, then hit 'Record' on the second and 'Play' on the first? You can, but you're guaranteed to lose most of your song's nuances. As MIDI is a serial protocol, MIDI information is sent sequentially, so busier parts of the song will tend to lose their accuracy of timing through the weight of incoming data. One way around this is to send your song across track by track. Consequently, there are two criteria for a successful song transfer: keep the sequencers in time with one another, and send the data across in a 'thinned out' stream. This can be easier to achieve if you reduce the tempo of the song.

The Right Connections

The setup is as follows, referring to Figure 1 which shows the example of an Atari ST transferring song data to another personal computer (I've used the Atari in this diagram and explanation, but it could be any personal computer running MIDI sequencing software or MIDI hardware sequencer):

  • Connect the MIDI Out from the ST to the MIDI In of the computer. All MIDI song information will pass along this cable.
  • Connect the MIDI Out from the computer to the MIDI In of the ST. MIDI timing information will travel down this cable to keep the two devices in sync with one another.
  • Set the ST to receive MIDI sync, commonly referred to as 'External Sync' mode.
  • Turn soft Thru off on the computer — otherwise the song data received at the MIDI In will be merged with its MIDI sync messages and re‑transmitted from the MIDI Out. This will affect the regularity of the MIDI Clock messages and hence the timing of the transfer.
  • Set the computer to record. It will send out the necessary MIDI Start and Clock messages to keep the ST in time.

Other Possibilities

Protecting the absolute integrity of your song's timing is difficult, but you can try the following:

  • If all tracks on the ST have been quantised, reduce the tempo of the computer to 60bpm or slower, turn all of the ST's tracks on, record on the computer and re‑quantise. If, on playback, you find that the song has not quantised correctly, re‑transfer it, but either a few tracks at a time or at a slower tempo.
  • Any unquantised tracks should be transferred on their own and at 60bpm or slower.

Finally, most modern sequencing packages can unmix tracks according to their MIDI channel. If you are using a program that does not support this feature, and intend to carry out some further editing on the computer, transfer the song one channel at a time, recording each channel on a separate track of the computer sequencer.