MIDI Latency of Synths & Keyboards
| Remarks | |||||
|---|---|---|---|---|---|
| Behringer | 2-XM | 0.1 | mono | analog | |
| Behringer | Kobol Expander | 0.05 | mono | analog | amazing low 0.04 to 0.06 ms! |
| Behringer | Odyssey | 0.4 | mono | analog | |
| Behringer | Solina String Ensemble | 21.5 ø | other poly | hybrid | 19.4 to 23.6 ms. And it is not the rather slow attack of the volume envelope of all the sounds, neither was the Crescendo slider not at the very left position. |
| Behringer | Wave | 4.9 ø | poly | hybrid | 4.0 to 5.7 ms |
| Erica | Syntrx | 1.4 | mono | analog | |
| Erica | Syntrx II | 2.3 ø | mono | analog | 2.1 to 2.5 ms |
| Esi | Xsynth | 1.8 | poly | digital | Firmware version 1.63.58.35 |
| Freds Lab | Mantee | 1.8 ø | poly | digital | 1.5 to 2.1 ms. Firmware version 1.08b and 1.09 tested |
| G.M. Lab | Rondò | 3.1 ø | other poly | digital | 2.5 to 3.4 ms |
| Groove Synthesis | 3rd Wave 8M | 4.8 ø | poly | hybrid |
One part only. All OSC modes tested. 4.5 to 5.1 ms. Firmware 1.9c |
| Hammond | M-solo | 4.2 | other poly | digital | 3.9 to 4.4 ms.Firmware 1.1 |
| Korg | miniKorg 700FS | 2.9 | mono | analog | |
| Manikin Electronics | Memotron (older MK I) | 2.2 | other poly | digital | Several different sounds tested, to be sure to get a perfect cut sample start point. Measured with the Berlin School Collection ELKA Rhapsody Piano/Clavinet samples. |
| Modal / Modulus | 002 | 3.3 ø | poly | hybrid |
2.3 to 4.3 ms. Pre serial unit |
| Modal | Argon | 9.7 ø | poly | digital |
8.8 to 10.6 ms. Firmware 3.2 |
| Modal | Cobalt | 9.2 ø | poly | digital | 8.0 to 10.4 ms. |
| Modal | Skulpt | 4.7 ø | poly | digital | 3.3 to 5.9 ms. |
| Modulus | Monowave | 0.07 | mono | hybrid | Serial unit |
| Moog | Minimoog (1979) | 7.7 | mono | analog | Built in Lintronic MIDI-Interface |
| Moog | Minimoog Reissue 2016 | 3.0 | mono | analog |
2.9 to 3.1 ms. Firmware 1.8 |
| Moog | Minitaur | 0.4 | mono | analog | Firmware 2.1.1 |
| Moog | Sirin | 1.0 ø | mono | analog |
0.8 to 1.1 ms. Firmware 1.01 |
| Moog | Sub Phatty | 0.9 ø | mono | analog |
0.6 to 1.3 ms. Firmware 2.2.0 |
| Moog | Taurus III | 0.5 | mono | analog | Firmware 2.0.4 |
| Moog | Voyager | 5.8 ø | mono | analog |
4.6 to 7.0 ms. Firmware 3.6 |
| Moon Modular | 551 (MIDI-Interface) | 0.3 ø | CV Interface | none | 0.2 to 0.4 ms |
| PPG | wave 2.3 | 13.8 ø | poly | hybrid |
12.0 to 15.6 ms. Post PPG firmware 8.3 |
| Sequential | Prophet-10 (2021) | 0.9 ø | poly | analog | 0.4 to 1.3 ms. Does not change on different Vintage knob values. Firmware 2.06 |
| Suonobuono | Polyvera | 3.3 ø | poly | hybrid |
2.5 to 3.8 ms. Firmware 0.35 |
| Synthesizers.com | QKB15 (MIDI & CV keyboard) | 0.3 | CV Interface | none | |
| Tom Oberheim | SEM Pro | 25,4 | mono | analog | Ups! I double checked my measurements. The latency is very constant (less 0.1 ms variation). Using the Gate Out and not the Audio changes the latency by only 0.1 ms. So the problem are not the envelopes, but the MIDI to analog process used. |
| Twisted Electrons | MEGAfm | 2.7 ø | poly | digital | 2.4 to 3.0 ms. Firmware 2.4 |
| VacoLoco | Zira | 16.3 ø | mono | hybrid | 13.8 to 18.9 ms. Firmware 0.42 |
| Waldorf | Blofeld keyboard | 1.9 ø | poly | digital |
1.7 to 2.1 ms. Firmware 1.25 |
| Waldorf | M (16 voices) | 5.8 ø | poly | hybrid | 4.4 to 7.1 ms. Different modes don't change behavier. Firmware 1.11 |
| Waldorf | Microwave Rev. B | poly | hybrid | Firmware 2.0 | |
| Waldorf | Protein | 8.1 | poly | digital | Firmware 1.02 b |
| Waldorf | Pulse | 2.7 ø | mono | hybrid |
1.7 to 3.3 ms Selector firmware for russian filter modification |
| Waldorf | Pulse 2 | 1.2 ø | mono | hybrid |
Average given here. 0.6 up to 1.6 ms Firmware 1.20 |
| Waldorf | Quantum | 4.9 ø | poly | hybrid |
4.7 to 5.0 ms Firmware 3.3.0 |
| Waldorf | Rocket | 0.5 | mono | hybrid | Firmware 1.01 |
| Waldorf | Streichfett | 0.9 ø | other poly | digital | 0.7 up to 1.5 ms for the string section and 0.3 to 0.8 ms for the synth section. Firmware 1.14 |
| Waldorf | XTk (30 voices) | 2.5 ø | poly | digital | 1.8 to 3.1 ms. Firmware 2.33 |
| Yamaha | DX7 | 2.6 ø | poly | digital | 2.0 to 4.1 ms. Thanks to H.S. |
Conclusion
The monophonic instruments and CV interfaces got less latency, except for some rather lame ones. The polyphonic instruments obviously have to handle more voices and therefore some take a bit longer before a MIDI played note is heard. And some are better doing so Others are normal, but got a big unpredictable variation. Maybe due to to some buffer not being updated often enought or due to the load of background tasks. Some instruments got a very variable not short latency. These will spit out their note in a more random manner. Shifting their audio tracks in the digital multitrack recording a bit forward will not fix their timings accuracy. While it it easy to fix a constant but higher latency that way.
To put this to some musical or DAW workflow perspective:
- A 64th note duration is about 31.25 ms at 120 bpm
- A MIDI clock at 120 bpm is pulsating at about 20,83 ms. So a latency of 10 ms is half way between the syncing clock beats.
And ...
it would be interesting to have a timing and speed precise mechanic "finger" to measure the latency of instruments with a keybed. Any one?
What was measured?
These measurements below are based on the timing between the last bit of MIDI Note-On data (actually the flank of the status stop bit) till the beginning of the very first audio signal or gate signal (for CV-Interfaces) being put out. I used single OSC sounds. Most sounds being based on the init sounds of these synths, if available. Of cause the envelopes were set to zero attack and the filter wide open. And I made sure, there is no modulation on the attack time somewhere. I played a C3 note. I made at least 5 measurements per synth. All polyphonic synths are tested in their polyphonic settings. No multimode used, if possible.
How was it measured?
I send a single MIDI On via 5 Pin DIN connector to the synth. A friend soldered an fully passiv adapter, to split the MIDI signal to a 1/4" socket. This socket is connected to a passiv DI-Box. The ground is lifted on the DI-Box. The outgoing signal is then symmetrically fed into an Audio interface. The synth is fed to this audio interface as well. I record at 96 kHz 16 bit using only two channels (MIDI as audio + audio of synth). The MIDI data can be seen clearly in the recorded audio (I am using the free Oceanaudio software available for different operating systems). See screenshot below.
Top track is the pure MIDI data. Notice that the bytes are send LSB first. The track below is the received audio signal of a synth. You can see the numbers of sample word the selections covers. If you divide the number of samples of the latency (the length of the selection) by the sample rate (here 96.000) and multiply the result by 1000 you get the milliseconds. You may short cut this by just dividing the number of samples by 96.
Disclaimer
- This is not a commercial or perfect laboratory test. There might be errors. These are just my personal measurements. Please contact me, if you might get different values when measuring a certain synth.
- I am using the brand and products names here only to to name the tested synths
- Remember, that 1 ms latency is equals the time sounds traveling about 34 cm (a bit more than 13inch) of normal air. So the main latency if playing without headphones is most likely the distance to your speakers.
Thanks
Thanks to MiK for helping me with the technic of the serial MIDI data and a setting up a proper way of measure the latcency. And thanks for lending me the special MIDI adapter.

