Did some latency testing on MIDI echoed on the MIDI Out vs MIDI Thru ports of the Yamaha VL70-m.
Data appears on the MIDI Thru port before the MIDI Out port by about 6-7 msec. Significant difference! I had planned on using the VL70m as a MIDI splitter, but thought I would test this first, and … Glad I did!
Here’s the setup I used, with 10 tests averaged:
A MIDI thru port should be simple buffering of MIDI IN done at hardware level, which is why you will see those differences.
I’m on a crusade to reduce latency in my rig, so all corners are going under the microscope. This one I thought might be of particular interest to others …
The Yamaha unit does echo MIDI In to the MIDI Out port, but there is a configurable option to filter based on channel. I should have noted that the VL70-m for this test was in VOICE mode with System/NoteFilter set to Thru.
I am guess that the configurable options require a rather lengthy trip through the processor to do this filtering.
Yes, anything involving processing is going to add the latency of processing unless Yamaha are really clever and have a way of doing it in hardware.
I used to run my old gig rack of Nord G2, Motif Rack ES, FS1r and A4000 (at the time) as a MIDI IN / MIDI Thru chain, with a PC with Cantabile on the end of the chain and I never noticed any latency. If all of those devices had “soft” MIDI throughs as opposed to “hard” MIDI throughs then it would have been noticeable. But a hardware MIDI through would have sub microsecond latency, probably much less in the order of nano seconds.
Yep. Depending the transistor speed (or IC logic gate), latency is usually 30 to 200 nanoseconds.
I did measure the loopback latency of the MIDISport USB <=> MIDI conversion, and it is almost exactly the reported 6.71 msec latency of the VL70-m MIDI In => MIDI Thru time … so the actual latency is around 0.02 msec - but it is too small for a reliable measurement by my system … I guess I would need a scope for that …
Just tested the latency of a little Mackie Mix 5 mixer at around 320 nanosec … not really sure what contributes to that latency (internally to the mixer) …