MIDI HICCUPS
You just finished your own MIDI sequence using your favorite killer MIDI sequencer. You were very happy and satisfied with what you just accomplished. It’s time to hear your masterpiece. You hit the play button on your sequencer. Suddenly, you heard that the instruments were not playing on the same beat, and it seemed there were MIDI hiccups or skips on playbacks. All of a sudden, you wondered what happened. You checked again the MIDI settings, the notes, the control changes, and all the events in the event list, but you could not find anything unusual. The worst thing is that when you forward to the bar number where you noticed the hiccups, it plays correctly, but if you started from a different bar before that, you will hear the hiccups again when it passes that particular bar. What on earth is going on?
Why are there MIDI hiccups, and how can they be avoided in my present setup?
To begin, we must acknowledge that not every instrument or sound module is created equal. There are three types of sound modules: expensive, standard, and inexpensive. The expensive keyboards and sound modules were produced based on the computer power that was installed inside the keyboards and module boards. Inside those boards are computer chips, memory rams, hard disks, etc. that need to run, store sounds, play sounds, etc. And at least every six months, computers become more powerful than before. But because of technology, those days are gone when you have limited sound voices and can’t even sequence a MIDI with full chords. Even with that limitation, musicians became more creative, playing only those important notes.
Does it mean keyboard and sound module manufacturers can produce real, powerful instruments?
Yes, they can. But they won’t. Why? because they are too expensive to produce!
With the present computer power, manufacturers can build very powerful sound modules and keyboards. They will not, however, bet on the fact that the majority of musicians will be willing to pay the high tag price. So, they need to sacrifice computer power for their products so that they can be purchased by the majority of musicians worldwide.
They can, however, produce perhaps one piece of a powerful keyboard for advertising purposes using a very talented and popular artist, such as Herbie Hancock. So when you hear Herbie playing those keyboards with that sound and power, it will make you think of buying that product. Then afterwards, you will wonder why you can’t play the quality and exactness of Herbie’s sounds on your newly purchased keyboards. You swear it's the same keyboard, the same model as advertised, the same patches, the same keys, everything. Until you think, "Ah, that’s because he is Herbie Hancock." Unknowingly, you are not using the same instrument. The same brand and model, yes, but definitely not the same instrument. Does it make any sense?
How can these MIDI hiccups be avoided using my present sound module/keyboard setup?
MIDI is a serial protocol. That is, in any case, those midi events will be passed along the midi cable one at a time. Whether they are notes, control changes, MIDI parameters, etc. Imagine a tunnel where only one vehicle can pass at a time. One vehicle at a time, whether it's a bus, a car, a motorcycle, or a bicycle. Now imagine if there are lots of vehicles. The result? traffic or buffering. So if MIDI is a serial protocol, meaning that only one event is sent at a time, it means that when the keyboard/sound module is not powerful or fast enough to accept MIDI events, it will have MIDI hiccups. One instrument is okay. But with 16 MIDI channels of full instruments, there could be hiccups.
MIDI sequencers divide the notes into a set of numbers in terms of PPQ, or pulse per quarter note. Resolution is also the term used to identify the PPQ. The first sequencer that I used was the Roland MC 50. It was a very good sequencer, but it only had a resolution of 96 PPQ. which means that the 16th note will have a value of 24 ticks (96/4).
Sequencers nowadays have at least 3,840 ppq, which means 960 ticks for every 24th note. Even if you sequence 32nd notes, at 480 ticks, that’s a lot of value.
You can see the difference between high and low ppq. You can try to play a solo piano piece using, say, 96 ppq. Save the file. Then play the same solo piano piece using a higher resolution; let’s try 3,840 ppq, then save the file. You will notice that the MIDI recorded at high resolution will sound better than the file recorded at lower resolution. You will have the urge to quantize the MIDI recorded at 96 ppq, but you will notice that at 3,840 ppq, your MIDI sounds smoother.
When doing the MIDI, we can record to a certain resolution that we are comfortable with. During my sequencing days, I was very comfortable with 120 ppq. You can use 480, 960, or even the highest ppq your sequencer can handle.
Now this is the trick.
We have learned earlier that MIDI is a serial protocol, meaning that all events, notes, etc, will pass through that MIDI cable one at a time. So in order not to have some MIDI hiccups, we will move all the instruments in such a way that they will not play simultaneously on particular beats. After you've recorded all of the midi tracks and channels, select the highest resolution of your sequencer (if it isn't the one you're using). After that, begin moving all of the tracks forward or backward so that the marker is from beginning to end. Every sequencer has its own command for how to do it (advance, slide, move, etc.).
Example:
We can start with channel 1 (or any channel, it’s really up to you). For example, we started the MIDI on bar no. 2 (bar 1, which you set for counting). So we can see something like 2:01:00 (or something like that), which means bar no. 2 beats 1, 0 (for the resolution / 4 = your sixteenth note value).
We can move channel 1 around 2 ticks, for example, to achieve this, or 2:01:02 from start to end. Then we can move the channel 2 around 1 tick, for example, like this, 2:01:01 from start to end, or we can move the channel 3 backwards around 2 ticks like this: 1:04:3838 from start to end (if the resolution is 3,480), for example.
You will realize that these three examples are not on the same beat, but you will not notice it. By doing this, our MIDI file will play more smoothly, the notes will not be too tight, giving them more space, and it will not clog the MIDI cable. Try this on all of the MIDI channels.
Remember that if you have higher resolution (ppq), you can move forward and backward 5–10 ticks without feeling or hearing a difference. If you apply the same 5 to 10 ticks to a lower ppq like 96, you will need to quantize it as it will not sound the way you intended it to. So if you are using a lower resolution, try to limit moving the events by 1-5 ticks. But the whole point is not to let the MIDI data go to exactly the same location, as it will create traffic or buffering that will lead to MIDI hiccups.