First time here? Check out the FAQ!

Are you getting MIDI latency with MOTU Track16?

0 votes
Hi - I'm getting 20ms of latancy when using externally generated MIDI notes to trigger events via MOTU Track16 MIDI in port.

I'm using MIDI notes generated by my Elektron MachineDrum to either trigger steps in a sequencer, or simply trigger a percusion sound from a GenericSource.

I've been measuring the latency by comparing Kyma's audio output to the MD's own output (triggering internal sounds on the same step), and also using the MD to trigger percussion sounds, via MIDI notes, on my modular synthesizer (through a Ladik 210 MIDI to Trig converter). The internal MD sounds and the modular synth sounds are perfectly timed, but Kyma always lags behind, regardless whether I'm triggering sounds or sequencer steps.

Interestingly, when using notes to clock my sequencers; I was originally attempting to use specific notes; e.g. !KeyDown gateWhen: (!KeyNumber eq: 60), but this created a complete mess timing-wise, but when I stuck to just !KeyDown, this gave much more reliable (albeit late) results.

I'm interested to know if this is a Kyma issue, or a Track16 issue, before I potentially waste more money on a new interface?

Any help appriciated.

asked Apr 4, 2018 in Controllers, OSC & MIDI by lewis-griffin (160 points)

2 Answers

0 votes

Try reducing the input-output delay in Kyma by going to the DSP status window, Configure, input/output delay. Try setting it to 5 ms.

If you don't need voice-stealing, try using !KeyDown abs in the trigger fields of  your Kyma Sounds.

Could you please post or email the Kyma patch you're using? 

answered Apr 4, 2018 by ssc (Savant) (121,920 points)
Hi - Thanks for the swift reply.

So setting the delay to 5ms, and using !KeyDown abs has reduced the latency to about 10ms in both tests (direct sample triggering, and sequencer step triggering), which is a big improvement.

I'll figure out how to post my patch.

Here's the sequencing/drum machine patch I've been using to test;
0 votes

Thanks for uploading the patch; I found a potential cause for the delay. The original patch uses SoundToGlobalControllers (STGCs), some of which depend on the values of other STGCs. The best practice, especially when timing-accuracy is crucial, is to put EventExpressions directly into the parameter fields where they are used, not to broadcast them using STGCs. STGCs are useful for displaying the results in the VCS but are not intended for deriving any clocks or timing triggers; they are primarily useful for graphic display or classroom demonstrations to show what's going on behind the scenes.

The link below is your patch, rewritten to use TransformEventValue to replace each instance of each EventValue that was previously being broadcast via an STGC with the corresponding EventExpression. This should improve the timing accuracy, and it has the added advantage of gathering all the related EventValue mappings into a single spot so it's easier to see what maps to what. There's also a MultiSample in place of the original Sample that chose its file based on ?VoiceNumber.

Please give this improved time-accuracy Euclidean Drum Box a try. Hope it's helpful!

answered Apr 5, 2018 by ssc (Savant) (121,920 points)