Strange inconsistent latency when recording external MIDI devices

Discuss music production with Ableton Live.
Post Reply
kingchatterbox
Posts: 4
Joined: Mon Mar 19, 2018 1:27 am

Strange inconsistent latency when recording external MIDI devices

Post by kingchatterbox » Sat Apr 26, 2025 11:45 pm

I'm using Ableton MIDI clips to trigger external MIDI devices, then recording them back.

But there's a very strange inconsistent latency issue happening, at least I think it's related to latency.
This image shows the result of recording two different instruments:
Image

Sometimes the recorded audio is early, sometimes it is late.

The CPU doesn't seem overly taxed, and in this test project no plugins are being used.
I've played around with sample rate and buffer settings - right now I have sample rate set to 44100, buffer size is 882 samples. Driver Error Compensation is off currently.

I'm on Live 10.1.43, Windows 10.

My audio interface is quite old, a Presonus Firepod, but it seems to be working unless it is the problem.....

Any ideas on what might cause this?

doghouse
Posts: 1497
Joined: Fri Aug 29, 2008 5:30 pm

Re: Strange inconsistent latency when recording external MIDI devices

Post by doghouse » Sun Apr 27, 2025 11:40 am

Different MIDI hardware instruments can have different amounts of latency. There’s the latency over the cabling, with MIDI DIN cabling running at a much slower data rate than a USB connection, the inability to have two messages arrive at exactly the same time (it’s a serial connection), congestion when multiple instruments are on the same MIDI port, delays due to program changes inside the instrument, etc.

kingchatterbox
Posts: 4
Joined: Mon Mar 19, 2018 1:27 am

Re: Strange inconsistent latency when recording external MIDI devices

Post by kingchatterbox » Sun Apr 27, 2025 7:06 pm

Interesting... I'll play around and see if I can eliminate a few variables.

kingchatterbox
Posts: 4
Joined: Mon Mar 19, 2018 1:27 am

Re: Strange inconsistent latency when recording external MIDI devices

Post by kingchatterbox » Sun Apr 27, 2025 11:30 pm

OK, I tried a bunch of different things, and remembered that my mixer has a simple audio interface, so was able to test that too.

Here are some of my results:
Image

These are 5 separate recordings of the same drum machine, just playing a kick.

Track #1: the MIDI
Track #2: Audio: Firepod MIDI: Firepod (DIN cable)
Track #3: Audio: Firepod MIDI: USB direct into drum machine
Track #4: Audio: Firepod MIDI: Edirol UM-1S (DIN cable)
Track #5: Audio: Mixer MIDI: Edirol
Track #6: Audio: Mixer MIDI: drum machine's built-in sequencer

The built-in sequencer is perfect, this rules out inconsistent sound generation. The Firepod recordings are all inconsistent, although the USB direct connection is not bad at all. Unfortunately it would be impractical for my setup, and most of my synths don't have USB.
The mixer recording is very close to perfect.

So my conclusion is that the Firepod is the problem here, I guess 18 years is long enough service that it deserves an easy retirement.

Still open to any other opinions or ideas, I've been doing audio stuff for a long time, and this is a first for me.

On the plus side, I got some interesting sounds by layering drum recordings with the drifting MIDI.

Hokuspokus
Posts: 24
Joined: Fri Jul 12, 2024 9:56 pm

Re: Strange inconsistent latency when recording external MIDI devices

Post by Hokuspokus » Tue Apr 29, 2025 6:24 pm

In my setup it is the other way round.
I get massive jitter when using USB-MIDI on my device but quite stable results when I route it over the MIDI port of the audio interface and its proprietary driver (RME UCX). Though then I get problems with the MIDI clk/MIDI notes and sending larger SysEx blocks (as the speed is much less compared to USB-MIDI)..

If I recall correctly from my research back then, jitter in MIDI can also come from how it's getting treated by the driver and OS and that requirments/boundaries were set less strict there compared to audio where buffer underruns need to be avoided. Hence processing time (and therefore jitter) can vary more.

Post Reply