maky355 wrote:
That's actually very wrong but i assume you had good intention.
My only intent was to help and educate - the above is correct to the best of my knowledge.
maky355 wrote:
He need to measure correct delay because if not he can get all sort of phase issues in his tracks.
This is true, and when I said "use your ears" I should've added something about phasing, which, looking back, I didn't mention at all. There will certainly be phasing issues unless it's compensated for somehow (either in External Effect's compensation setting, or track delays, or something) You can't use your ears if you don't know what to adjust once you find a problem. Thanks for pointing this out.
maky355 wrote: To ad to this i can tell you how Cubase handle this (and sonar and reaper etc.etc.). When you are setting up your external devices in Cubase you have "ping" command. Which basically produce short ping (burst of noise) which then goes out from your card, through your external device and then back in your audio card and then back in your host. Based on how fast "ping" back, cubase calculates delay in milliseconds , save that (so user don't need to do it in each session) and after that automatic delay compensation is working flawless. And tracks are in correct phase relationship.
Live doesn't have any "ping" that I know of, but it does already know the sample buffer latency (from buffer size/sampling rate in Live's Audio Preferences) and any additional driver compensation (from the "Driver Error Compensation" setting), which is enough to handle the audio interface but not external effects.
maky355 wrote:So it does mater. VERY! First thing first if he run signal out from his audio card outs to analog filter there is no 0 delay. That's impossible. Can you show me one soundcard which has 0 delay? There is none! That's impossible. And add to that that signal need to return somehow back in his computer and when signal return it still need to be recalculated by audio device with support of ASIO driver which is already adding latency. So in short his latency depend on ASIO settings on his audio device, external device and it is never 0 latency and need to be calculated.
ASIO (or Core Audio) buffer latency is already known to Live based on the buffer settings in Live's audio preferences, and any additional error introduced by the interface hardware or drivers is adjusted for in the Driver Error Compensation setting, which Live's tutorial goes through. Live already knows about these latencies. There's no need for External Effect to have a latency setting unless it's referring to
additional latency introduced by that particular hardware effect.
maky355 wrote:Also note to this that once when he calculate correct delay this is only working correct at one one frequency. So in short if he is working at 44khz and 256 samples of buffer that will change if one day he decide to work at 96 khz (or even 44khz with different sample buffer) which will produce different delay.
This information is calculable using the buffer size, sampling rate, and Driver Error Compensation setting.
Which would make sense, really - if you go to change (for example) the buffer size, it makes sense to only have to set it in one place.
maky355 wrote:
i know that this is sounding complex or complicated but in fact it is not. It is pretty much well documented in Cubase manual which can be downloaded from steinberg website. Once when you understand your audio routing, how audio card and ASIO works and do all that inside out it is easy.
Ableton external FX or instrument plugin is just fine. Once when he calculate delay he can save this to preset and recall it whenever he want. With correct routing and delay.
The Live manual is less specific on the matter, but suggests that Live is already aware of ASIO latency: "Since hardware effects introduce latency that Live cannot automatically detect, you can manually compensate for any delays by adjusting the Hardware Latency slider."
maky355 wrote:And lastly who told you that Reverbs ad 5ms?? I think you are confusing reverb predelay setting which can vary from 0 to whatever (depend on reverb device) but this is adjustable. Obviously when he will make his calculations reverb need to be in DRY mode with zero predelay.
5 ms was a hypothetical example, as was a reverb. As I understand it, many analog effects do not experience latency, since they don't require digital buffers, but digital effects do since they have to sample a bit of sound so that they have enough data for their algorithms to operate. I could just as easily have said "say, a digital chorus that is known to add 5ms of delay on top of whatever chorus sound you've set up." I could've said filter or flanger too. I'm sure there are analog effects which introduce latency as well.
You're quite right that there is always roundtrip latency due to the sample buffer (either ASIO or Core Audio), so the disagreement is really about whether the External Effect's setting refers to the
total latency, or just the hardware effect latency
on top of the buffer latency. I've made a case for why it should be the latter, but of course that doesn't prove that it was implemented that way.
Could one of the Ableton developers chime in on how we're supposed to be using this setting? If I'm mistaken I'd like to be corrected so that I don't spread misinformation.