[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Date Index][Thread Index][Author Index]

Re: latency questions

On Jan 12, 2006, at 5:24 PM, Rainer Thelonius Balthasar Straschill   
 > Please be advised that I did not measure the total latency of,  
say  running
 > from the A/Ds to the ADAT interface into the Digiface into the   
 > CardBus through the buffers through Live's I/O through several   
 > through Live's I/O through the buffers through the Hammerfall  
into  the
 > Digiface into the ADAT interface and out to the D/As. And this is   
 > what we're after if we are looking at latency.

It is possible to measure total latency with a "loopback" test, connect
one channel of an output device to a channel of an input device.  Setup
an application capable of simultaneous play and record.  Arm a record
track, and play something.  Stop and measure the amount of dead space
at the front of the recording.   If you're using Mobius, there is a  
calibration utility that does this.  In my experience DAC's don't add  
I've never seen it higher than 32 samples for the input and output
sides, or a total of 64 extra samples above the ASIO buffer size.

 > Let's say we have three timing systems running at the same speed   
but with
 > different offsets.
 > 1) the sound of your instrument (the input)
 > 2) "the inside of your laptop" - the timing system of e.g. Mobius
 > 3) what comes out of the speakers (the output)
 > I think it's safe to say that 3 is later than 2 is later than 1.   
Let's call
 > the respective delays d12 and d23.

The distance between 1 and 2 is what I call "Input Latency", the   
between 2 and 3 is "Output Latency".  It is common to lump them
together and just talk about "latency" but they are actually different
things, and they are not always the same length.

 > Note that there are different possibilities in which timing  
system  you
 > perceive your own playing. If you listen to the signal going   
through the
 > converters, through the laptop and then coming back out of the   
speakers, you
 > listen to it in system 3 - case A. If you monitor your  
unprocessed/ converted
 > signal, you listen to it in system 1 - case B.

Yes, this is what "latency compensation" is all about.

Let's take your "Case B" first:

 > Case B:
 > You listen to a loop playing back (in timing system 3) and play   
along with
 > it (in timing system 1). Everything you play reaches your ear   
instantly, so
 > you don't have to "correct" anything. So something you overdub   
onto your
 > loop takes the time d12 after you play it to get to Mobius, and   
 > actually played something d23 ahead of what you heard when you   
played your
 > overdub - hence your overdub happens with a delay of t - which,   
with crappy
 > hardware can be more than 20ms. (something like 32T at moderate house
 > tempo).

Mobius compensates for this by shifting the overdub d12+d23 backward
relative to the playback position.  When your Input Latency and Output
Latency are properly calibrated, you can achieve nearly perfect
alignment of overdubs.

 > Case A:
 > You listen to a loop playing back (in timing system 3) and play   
along with
 > it (in timing system 1). Everything you play reaches your ear  
some  time
 > t=d12+d23 after you play it.

Here you are monitoring through the system, presumably adjusting your  
style so that what you overdub aligns with the background by playing
slightly ahead of the beat.  You can set the Input Latency and
Output Latency values used for compensation in the looper to zero
because the shift is effectively being performed by the musician.

If the monitoring output is tapped before the final plugin in the
chain, you may want some slight Output Latency adjustment to account for
any latency introduced by the plugin chain after the monitor tap.