Support |
On Jan 12, 2006, at 5:24 PM, Rainer Thelonius Balthasar Straschill wrote: > 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 Hammerfall > CardBus through the buffers through Live's I/O through several effects > 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 basically > 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 little calibration utility that does this. In my experience DAC's don't add much, 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 distance 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 Mobius > 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 playing 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. Jeff