Very unstable external MIDI timing

First of all, I don’t think this is Renoise-specific really, but I’m nevertheless in need of some assistance, advice, and experiences. Most of what I’m describing I can also replicate in Ableton Live 10, more or less.

The issues is that all external MIDI events coming from my audio interface Focusrite Scarlett 18i8 (1st gen, yes I know, it’s aging, has lots of known issues, and is due for replacement) to any external synth are subject to severe jitter that seems to directly depend on the ASIO buffer size. For an example at 44.1kHz and 512 sample buffers (11.6ms audio callback buffer latency) external MIDI events also have about as much jitter. Renoise is able to compensate the latency as per the numbers reported by the driver, but constant random jitter of over 10ms or so on every note event is quite noticeable and borderline unbearable for any sort of exact timing. I’d have to go down to about 128 samples at 44.1kHz to make the jitter not be an issue, but buffer sizes that low aren’t feasible for me due to performance reasons. At the other end using a 1024 sample buffer problem becomes even worse and makes MIDI completely unusable.

Worth mentioning that obviously none of this jitter appears in internal MIDI events such as the built-in sampler or VST instruments, only external MIDI going out from the interface (and audio routed back into it). None of the MIDI settings in Renoise aid the problem at all either, only lowering the ASIO buffer size does, but it’s a very brute force that doesn’t even eliminate the problem. One thing I also notice that especially at higher buffer lengths (especially 1024) I can see the GUI refresh rate stutter slightly periodically, and the MIDI timing also gets messed up at these exact moments when the Renoise GUI drops frames. Ableton Live also behaves similarly, perhaps subtly different, but clearly still suffering from the very same issue.

Is this a behavior anyone else has experienced with other audio interfaces? Is it a software issue that could have a solution, or do I need to face the facts that this old Focusrite sucks with regards to MIDI as well? I’d hate to invest in a new interface just to learn that it too suffers from this behavior. There must be some solution though, because I don’t think you’d find many musicians who’d be happy with MIDI timing this unstable.

Attached is a stereo recording of a “click track” with the channels containing audio from an external synth via MIDI, and an internal sampler instrument, respectively, to illustrate the issue. This was done at 44.1kHz with 512 sample buffer which is the default I work at. Also for the record I’m using Windows 10.

Well, no. My PC is less than 5 years old with an 8-core CPU, 32GB of RAM, etc. We’re talking about MIDI data here which in practice consists barely a kilobyte of data at the most. Even ancient computer hardware is able to process normal amounts of MIDI data, without any extra jitter. If there is a hardware issue, it’s the audio interface.

Does this happen with all your midi connected gear?
Using a MIDI splitter or MIDI thru?

Some older synths I’ve controlled, for one reason or another, forget why at the moment, but…
the ‘latency’ setting within the MIDI instrument itself was really useful for getting things to click right:

Capture

Yes, it happens with all of my external synths, regardless of routing the MIDI directly or using MIDI thru. No splitters. The latency setting only helps with a constant delay offset, which is not the case here since the jitter causes the note data to jump around all over the place.

Latency in general is not an issue, Renoise compensates the input latency perfectly with PDF on. The problem is with the outgoing MIDI messages themselves which seem to be quantized to the length of the audio buffer.

Forgot to actually give the file to the click example I mentioned: stable and jittery clicks at 44.1kHz, 512 sample buffer

In the future though, would be nice if we could attach .wav files to posts here, maybe? :slight_smile:

1 Like