You are here

Identifying & Solving MIDI Problems

Tips & Tricks By Martin Walker
Published September 1998

Check if your sequencer has any in‑built track priorities. Cubase gives higher priority to the top eight tracks on the screen — these are therefore prime candidates for drums and bass.Check if your sequencer has any in‑built track priorities. Cubase gives higher priority to the top eight tracks on the screen — these are therefore prime candidates for drums and bass.

If your MIDI data refuses to emerge properly from the end of the cable, why not try these handy tips. Martin Walker helps you thru your Ins and Outs.

For every musician, there comes a time when MIDI tracks start to exhibit strange glitches — notes get cut off in their prime, go missing altogether, or simply refuse to stop, providing unwanted and endless drones. Sometimes these strange happenings occur on every playback, at a specific point in a sequence; at others you can listen for ten minutes with no problems, and then without warning one or more notes will misfire.

The ones that make you tear your hair out are those glitches that corrupt MIDI data — notes can turn into controller messages, and sometimes a MIDI device may even crash, requiring a full reset by switching off the power for a few seconds, and then powering up again. The worst case is a normally well‑behaved synth that starts to crash on a regular basis (thankfully a fairly rare occurrence). This can be the symptom of some stray corrupted data permanently stored in its memory, which requires a special combination of front panel controls to be pressed simultaneously to reset the device completely.

There are various things that you can do to track down all of these problems, and to help prevent them in the first place. The first thing to do is to narrow down the cause of the problem.

Occasionally Missing Notes

Reducing MIDI Controller Data can help to prevent glitches — here the black areas in the pitch bend data are redundant, and stripping them out (see main text) will reduce the load on your MIDI Outs.Reducing MIDI Controller Data can help to prevent glitches — here the black areas in the pitch bend data are redundant, and stripping them out (see main text) will reduce the load on your MIDI Outs.

These can often be caused by note‑stealing, which happens when every note available on a synth is already playing, and you try to play another. When you reach maximum polyphony something has to give way, and normally it is the oldest note that gets discarded to make way for the new. Despite the fact that modern synths have a typical polyphony of 32 or even 64 notes, it is surprising how easy it is to use up this quota when monster patches use two or four layered voices just to play a single note. The problem may be more obvious when you are working in multi‑timbral mode, since playing an extra note in a busy keyboard pad part may completely cut out a one‑note bass line on another track.

If you suspect that your playback timing is suffering due to a large amount of MIDI data, make sure that the drum and bass sounds get the highest priority.

If you think you have heard an odd note in one track cut off unexpectedly, but it sounds fine on the next run‑through, try to isolate the problem area by temporarily turning the volumes of any other sounds played by the same MIDI device to zero. You can do this by editing the appropriate synth parameters, or by sending a MIDI controller message. The object is to leave all the other channels playing (so that they still consume notes), but actually listen only to the problem channel.

There are various simple ways to minimise the risk or cure it if the worst happens:

  • The easiest option of all is to find out if your sequencer has any in‑built priority settings. For instance, Cubase is supposed to give higher priority to the topmost eight tracks in the Arrange page. It makes sense, therefore, to use these tracks for sounds where note‑stealing would be most obvious — drums and percussion first, then bass — and let the chordal sounds move down a bit (see figure 1). These tracks will then be dealt with first, and any note‑stealing should occur elsewhere, where it is less noticeable.
  • Avoid overlapping notes by taking advantage of any Legato functions in your sequencer. These adjust note lengths to reduce the total number of notes playing at any time, though if there is any decay after the Note Off you will still be using more than one note until the end of the decay phase.
  • If you record from a guitar synth or wind controller (or even a keyboard), it is worth examining your performance in a piano‑roll‑style sequence editor, and stripping out any stray notes at low velocities, or with very short lengths — these are rarely heard in the final mix, and the cleaned up version will sound a lot better, as well as requiring less polyphony.
  • For bass and melody lines, use a Monophonic mode if one is available. Many real‑world instruments can only play a single note, so why waste polyphony? Many analogue sounds will also benefit from this, as the lines will emerge more cleanly, and you may even have a portamento function, so that you can glide in pitch between notes in this mode.
  • Most synths offer some sort of priority system to ensure that the method of note‑stealing can be set to suit the user — there may be options to switch between oldest note or quietest note when note‑stealing happens. Depending on the sort of music you are playing, you may find it useful to change the default option.
  • Remember that real drummers normally possess no more than two arms and two legs — for a more realistic performance that reduces polyphony, try to ensure that your drum patterns have a maximum of four simultaneous notes (unless you are using extra percussion sounds).

MIDI Glitches

If you have problems receiving large SysEx dumps, you may have to increase the size or number of software buffers. MIDI Quest has options for both of these.If you have problems receiving large SysEx dumps, you may have to increase the size or number of software buffers. MIDI Quest has options for both of these.

If your notes dry up altogether, it could be due to a dodgy MIDI cable, but this rarely seems to happen in practice. Much has been written over the years about overloading a MIDI interface by trying to send more data through it than can be handled by its memory buffers — if too much data is sent, and the buffers overflow, it is possible that a MIDI message may emerge in a corrupted form, leaving a note hanging because its Note Off message was not received by the synth. Stranger things may happen when corrupted bytes emerge from your MIDI Out that are interpreted by a MIDI device as other commands — volume or pan changes for instance. Sometimes you might get a sudden burst of unexpected sound from your synths, or the sequencer may stop altogether.

Luckily, running out of MIDI bandwidth in this way doesn't happen as often as some people think, but unexpected glitches can be caused by attempting to run several synths from a single MIDI Out, while simultaneously sending lots of real‑time MIDI controller information, or lots of real‑time SysEx data. The solution to this sort of problem is to remove the logjam by 'thinning out' the MIDI data, which can be done in various ways:

• Make sure that any synth that is being sent a lot of real‑time controller information is connected via a dedicated MIDI Out which is used only for that synth, and consider buying a multi‑port interface for this purpose if you don't already have one.

Try delaying lower priority tracks such as keyboard pads by a few ticks.
  • Check in your sequencer editor that you are not pressing too hard on your keyboard during recording, and thus generating lots of extra aftertouch information. If you do find unwanted aftertouch data, most sequencers will allow you to selectively filter it out and delete it, while leaving the remaining data untouched.
  • If you are using a lot of real‑time controller information, try thinning it out if there is a suitable option in your sequencer. Don't worry that you will lose any expressive nuances — these algorithms normally scan for and remove identical adjacent values, which can often be created when drawing in ramps of controller values. The extra bytes don't do anything, and can be safely deleted.
  • If you suspect that your playback timing is suffering due to a large amount of MIDI data, make sure that the drum and bass sounds get the highest priority, since timing problems with these will be more obvious. Use the same solution in your specific sequencer as for note‑stealing, for the same reason.
  • Try delaying lower priority tracks such as keyboard pads by a few ticks — this will also ensure that the sounds that need the tightest timing are dealt with first. Since the timing resolution of many modern sequencers is of the order of 384 ppqn (pulses per quarter note), it is unlikely that the overall tightness of your song will suffer, but at least you will ensure that the sounds you have prioritised are further ahead in the MIDI queue, so that they emerge first.

Sysex Problems

While missing notes and timing problems are annoying, there are at least plenty of solutions to try out. Where SysEx data is concerned, the problems can be harder to track down, and many people find downloading large banks of synth patches a hit and miss experience, with random crashes and lockups at the synth end due to corrupted data being received. Some older computer soundcard MIDI designs left a lot to be desired, and caused many problems where SysEx was concerned. Thankfully, most modern MIDI Ins and Outs can cope with even the larger SysEx dumps with few problems. If you suspect a SysEx problem, try the following:

  • Avoid long daisy chains of MIDI cables connecting a series of synths to a single MIDI Out. Whilst this setup may work fine for MIDI recording and playback, SysEx transfers are particularly demanding of both software and hardware. Make sure that you have enough MIDI Ins and Outs to keep a maximum chain length of two or maybe three synths, or failing that, use a MIDI Thru box so that your connections spread out from one point rather than in a long line.
  • If you have one synth that has particularly large SysEx data banks, and have it connected in a MIDI chain, make sure that it is the device that is closest to the sequencer MIDI Output — this will ensure the cleanest signal.
  • Make sure that you have the latest version of your MIDI driver, and that it is set up correctly — some provide special options for dealing with the special problem of large SysEx dumps. I remember
    reviewing an interface that exhibited all sorts of problems until a tick box was checked in the driver software.
  • Modern SysEx software tends to default to high speed settings that may cause problems with an older MIDI interface, and particularly those on early PC soundcards. By reducing the send speed you may get more reliable dumps — check the manual or helpfile of the SysEx software you are using to see if you can reduce this data transfer rate.
  • If you have a synth that sends particularly large SysEx data banks, you may have problems receiving them reliably, even if you have no problems with any other synth. It may be possible to cure these problems by increasing the size or number of the input buffers in the receiving software (see figure 3). Alternatively, some synths may allow you to send the same data in several smaller chunks, rather than in a single huge one.
  • If you are having problems downloading sounds to a particular synth, and have access to the Internet, see if there is a user group for this model. Once you subscribe to the list, you can post a question to other users who may well already have found a solution for your particular combination of hardware and software. Remember that many groups post FAQs (Frequently Asked Questions) or monthly digests — it is polite to look here first before steaming in and asking the same question again.

Getting Further Help

Curing obscure MIDI problems can be time‑consuming, but most of them succumb in the end. Most manufacturers have websites, and these usually contain technical support information. Many also have telephone helplines, but these are often extremely busy. Do keep trying if you can't get through at first, but when you do get through, try to keep your query short and to the point, and have the gear in question powered up and near the phone. If you still can't find the answer to that elusive problem, you can often email the symptoms to a technical support person, but do bear in mind that email queries are often handled by the same tech people who answer the telephone helplines — they may only have time to answer emails when the phone stops ringing. Good luck!