Playback latency

Help! I think I goofed something up. I’m using the latest n-track (1772) and was playing with the midi sync to get it to run Acid Loops. Got that working, after “changing a bunch of stuff” related to midi timing. But now I’m noticing that there’s a lag in playback.

The cursor moves past a spot in the wav view, the playback meter spikes as if it played something, and then about a second later, I hear the sound.

It’s not CPU load, it’s not the buffering settings since I didn’t change them, I dunno what it is.

Thanks in advance for any suggestions…

ok - figured it out, but can someone tell me why?

In my audio devices, I have:

ASIO Full Duplex Driver
ASIO Multimedia Driver
MME: Wave Mapper

and others.

If I use the ASIO multimedia driver for playback, the output lags the graphics. If I switch to ASIO Full Duplex Driver, it works fine. Is this normal? When I reset settings, the program defaulted to MME Wave Mapper. What driver is preferred and why?

This is a buffering phenomenon. When you get this lag, it’s because n-Track emits the data but it sits in buffers for a while before the soundcard sends it out. Note that this only happens if you have the preferences option enabled for “meters anticipate output” or something like that.

Two solutions. One is to uncheck that box. However, then you won’t see how many dB over zero you go, when you’re clipping – so I always leave it on. The other solution is to minimize buffering, through the ASIO driver settings panel.

Presumably the multimedia driver uses more buffering by default. You should probably just stick to the Full Duplex driver. ASIO is almost always preferred over MME, but MME is the default because it’s the lowest common denominator.

Other advantages to reduced buffering are:

- More immediate response when you change a control (e.g., move a fader)
- low latency is required when using LIVE mode – e.g., applying FX on-the-fly as you record so you can hear them at the time, or playing a plugin synth via an external MIDI keyboard.

The disadvantage is that the likelihood of a dropout is greater. The lower your latency, the more likely some event will take the computer’s attention away too long and the driver will run out of buffers queued up with output sound data in them. On input, this can be very nasty since it ruins a recording. On output, though, you just increase the latency setting (increase buffering) and don’t worry about it. It’s the kind of thing you’d want to do thorough testing for if you were preparing to record something priceless and unrepeatable, or were charging good money, etc.