Navigation ☰

MIDI Latency of Synths & Keyboards

Column headers are sortable except the remarks
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:

So what is a bad latency or latency variation? There is no define answer to this. Less and constant is for sure better. Maybe, this is why we tend to use some synth for playing more percussive sounds? And using long latency ones rather for smooth pads? I think we do so sometimes. Sometimes the cause might also be lame minimum envelope attack times not able to deliver the needed percussive feeling. But this minimum attack rise time is a different story and would be nice to measure in a table like this. Maybe one day ...

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.

Screenshot

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.

Schematic

Disclaimer

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.