MIDI Timing Error with Maschine

Can anyone replicate/advise on the following:

I’m running Maschine as a plug-in on an Instrument Track and I want to send MIDI out of Maschine to play another Instrument track in Cubase (12.0.50 - but have the same problem on CB9.5).

Routing the MIDI is no problem, but the timing of the Instrument triggered from Maschine is unstable. I have s(M)exoscope set up with a trigger signal (a single audio sample) synchronised to 1 beat.

Audio tracks inside Maschine (that are sequenced from Maschine) are perfectly in time.
Instrument tracks in Cubase (that are sequenced from Cubase) are perfectly in time.

BUT - tracks in Cubase, sequenced from Maschine, have slight, variable timing errors on each MIDI note played.

I thought I’d solved it by disabling ASIO guard (or by monitoring all tracks involved and leaving ASIO guard on), but no.

It seems to be related to the buffer setting of my audio interface (Scarlet 2i2 2nd Gen) - low buffer settings - the error is small, increase the buffer, the timing errors are magnified.

Any ideas on possible solutions would be a great help, thanks.

BTW - Windows 10 and latest version of Maschine (2.16)

Have you maybe tried to enable Constrain Delay Compensation? This is often needed for playing live from a hardware controller or having another plugin effectively playing live via it’s MIDI output.

Another option (if you don’t need the Maschine plugin to actually play “live”) might be to drag and drop the MIDI parts from the Maschine plugin to the desired target instrument track, which should lead to precise timing.

1 Like

Nico5: Thanks for the reply.

Forgot to mention that I’d tried Constrain Delay Compensation - timing errors still present.

Drag and drop works fine, but I’d like to be able to switch Mashine patterns in real time.

What I’m trying to do is shift processing of some instruments out of Maschine:

  1. To spread the processing load - having lots of synths/Kontact libraries on a single Cubase track inside Maschine leads to overloads sooner that if some of the heavier instruments are on their own tracks.

  2. Maschine still doesn’t compensate for plug-in latency, so running limiters or Pro-Q3 in any mode other than Zero Latency leads to delays on individual tracks in Maschine.

1 Like

Probably, if it is buffer size dependent, midi is not send ahead of time, with a timestamp, but realtime. As far as I understand it, that way midi can not be played until a new buffer starts. The reason it is variable is that the relation bewteen the midi notes and the buffer is random. So it can take a full buffer size until the next buffer or less to zero. You can check this by using the largest buffer available. If the delay is sometimes as long as the buffer you know the cause.

1 Like

Thanks, that all makes sense.

I’ve checked it with a single pattern triggering a kick drum in Kick2 and the waveform on the scope increases in delay and periodically resets back to the beat.

Any ideas on how to solve the problem? I’m sure I’ve seen vids in the past where people use this workflow and timing errors like this are unlikely to go unnoticed.

First I could not replicate, that is until I let cubase loop, after that it was all over the place (I used a very high 4048 buffer). Stopping cubase and pressing play again fixed it. I have no idea if cubase or maschine causes the issue when looping. It starts exactly on the start of the first loop.

2 Likes

That’s exactly the same as me. It stays in time until it loops. Stopping and restarting resets things.

Weird behaviour and annoying as hell.

Thanks for your input :slight_smile:

1 Like