Tightening Up External MIDI Hardware Timing

Hi there

I’m pretty new to Renoise (a month or so) and am really enjoying the experience so far.

I mostly use hardware synths (currently a Nord Drum 2, Elektron Machinedrum, Elektron Analog Rytm, Mutable Instruments Ambika, Moog Minitaur, Waldorf XT and Nord Lead 2) and have been spending some time trying to get the MIDI timing tight for playback and for recording patterns as samples.

I have the Renoise MIDI instruments set to LineIn Ret and use the Line Input device on the track. I have Automatic Plugin Delay Compensation checked. So thatshould be the audio interface latency taken care of.

Renoise offers a couple places where you can compensate for further latency caused by the external MIDI gear (compensating for the time between the MIDI signal being sent from Renoise and the audio signal coming back andreaching the audio interface): there’s the MIDI output latency in the MIDI instrument settings, and there’s the track offset in the mixer.

OK . . . so to get the timing tight on all these externalsynths, I create a pattern with a note on the first step and then create a sample from the pattern, zoom in on the waveform and see if it starts right at the beginning of the sample.

Without any adjustment, I was expecting to see the waveform start alittle way along, which I would compensate for with some negative track latency. However, I was surprised to see with several pieces of gear that the waveform was chopped at the start because the synth was already playing the first note when the recording started. So to get it lined up, I had to add in some extra latency.

Huh? This seems very strange.

Maybe it’s to do with the audio interface latency setting in Renoise? I’m using OS X, so the only setting is ‘Latency’, which I can apparently freely adjust down to 2 ms. Atthe moment it’s set to 12 ms. In Logic, you set the buffer size you want to use and Logic tells you what the resultinglatency will be, so the Renoise setting seems odd, but I guess it just sets the buffer to achieve the desired latency?

Any ideas? I mean, I guess it’s not a problem having a positive latency for some MIDI instruments, but I don’t really understand how it’s working.

Thanks!

When recording audio, there is always some latency due to buffering input before processing and how tight the latency is that you can set depends on how good the hardware is.

For that reason you could better add an initial silence pattern so the buffering is processed better.
In the audio properties of either Renoise or the audio-card its recording settings you should be able to see how much msecs of buffering it requires, that usually should also be the amount of time to delay that particular track for recording, plus the latency that your midi device has, but i’m not sure what that is. Renoise currently does not show the latency time of your midi gear but i suspect this can also be calculated if master clock would be used (because then Renoise gets a pulse back). Not every midi device supports master clock pulse though, but most external devices do.
I have no idea what development is up to regarding Midi on this area. There is enough to improve here anyway.

Thanks for the reply vV.

I understand that the audio interface has some latency. Mine is set to 256 samples in the driver software, which is about 6 ms at 44.1 kHz sampling rate. So I’ve now set the audio latency setting in Renoise to 6 ms.

According to the Renoise manual, if the MIDI instrument is set to LineIn Ret and the #Line Input device in the track is set to MIDI Return Mode then the audio latency of the audio interface should be compensated for (assuming Automatic Plugin Delay Compensation is checked).

I understand this still leaves MIDI latency of the external synth (it takes some milliseconds to process the incoming MIDI and output a sound), which means that the track offset in Renoise may have to be adjusted so that the ‘1’ actually hits on the ‘1’.

What is surprising is that for some gear, I’m having to set the offset to a positive value rather than the expected negative value. In other words, Renoise is overcompensating the audio latency?

I’m not sure whether this this a bug or whether I’m doing something not quite right, or whether I’m just not understanding something.

To get decent timing of my synths I’ve got it down to this:

Set Midi mode to “line in return” rather than “ext midi” (this is if you are also using the line in device to monitor. if you are not and using another mixer and no software monitoring use “ext midi.”)

If software monitoring and using the line in device set it to “midi recording mode.”

This should get hardware notes on time.