Calculating latency values in signal path

A space for learning and studying the Scope environment and music-making in general.

Moderators: valis, garyb

Post Reply
User avatar
Tau
Posts: 793
Joined: Mon Jun 26, 2006 4:00 pm
Location: Portugal
Contact:

Calculating latency values in signal path

Post by Tau »

Hi all. I was hoping you could help me find a way of solving this latency problem I'm having. Here's a simplified diagram of my studio, to help describe what I need to find out. There's a main DAW, with Ableton Live as Audio/MIDI sequencer, connected via ADAT to a second DAW, where Scope resides. Although there is a monitoring path from DAW1 to the speakers, I usually mix and monitor everything in Scope, as you can see in the picture. This way, all external synths and modules, all SFP synths, and all VST tracks (audio or instruments) are summed in the Scope mixer (in this case, SpaceFs FP106).
latency 2.jpg
latency 2.jpg (52.69 KiB) Viewed 6408 times
This works pretty well for playing and composing. SFP's synths behave like external modules, and doing things like having DAW1 playing a Drum loop and triggering a bass in SFP is easy and the sound "locks up" pretty well, as the ASIO latency is compensated inside Ableton for the audio and MIDI parts, and the SFP latency introduced is the same for the ADAT inputs and the Synths output.

The problem is that DAW1 is where I do all recordings, so when I want to record the bass sound back into Ableton, I use the record out in the FP106 (orange square in pic) to send it via ADAT to an audio track into Live and record the output - but the delay introduced in the signal is quite significant!

In the image, you can see this graphically: in yellow is the normal path: MIDI is triggered from Ableton into a Scope Synth, then to a mixer, blended with the other audio and then to the outputs. I want to record that path and replace it with the green path, but maintaining the timing.

What I need to find out is if this delay is consistent, and if it is, how I can calculate it. I would expect it to be:
(ASIO latency for MIDI)+(SFP latency for synth)+(SFP latency for output)+(VST latency for recording)=total delay, which means in this case: 12+7+7+12=38ms, but introducing that in the "track delay" doesn't solve the problem, and pushing the star point forward 38ms is not the trick either, so something must be eluding me.

Ableton is not so good for this kind of precision measurement, or at least I can't think of a way to do it there. I could do it in Cubase, but would that then translate back to Ableton?

Any help appreciated!

Thanks in advance,

T

EDIT: OK, so I figured out a way to measure this. I make the recording into ableton, and activate both yellow and green paths (playing the MIDI sequence and the recorded audio) at the same time. Using the direct outs, I can tap both signals in the FP106 and send them via ADAT to separate inputs on DAW1, record these with the RME's built in Wave recorder, and compare both files in Wavelab. This should give me an accurate measurement of the difference between both signals and, after checking out with different synths for consistency, it will enable faster bouncing of synthesized tracks to audio.

Anyway, my Scope card is dead right now, so I can't try it out. In fact, I am in very deep trouble if I can't have it working soon :(
Fluxpod
Posts: 1140
Joined: Tue Oct 03, 2006 4:00 pm
Location: Telefunkenland

Re: Calculating latency values in signal path

Post by Fluxpod »

Not really getting into it but cant you set the digiface way i mean way way lower? The new drivers go to 0.7 ms@44.1 khz with the new firmware.Maybe try 6 ms or 3,1.5,0.7. Or am i getting something wrong??Its late and i am very tired.....
User avatar
Tau
Posts: 793
Joined: Mon Jun 26, 2006 4:00 pm
Location: Portugal
Contact:

Re: Calculating latency values in signal path

Post by Tau »

Fluxpod, the RME can do lower latencies, not sure if as low as 0.7 ms, but I'll take a look on the website and check for updated drivers.

I usually don't use such low values, because... well, I don't know why not! Maybe my PC is just getting too old. I know I am... But after a certain number of audio tracks, or ASIO output busses, sometimes, I can't even use 12ms, and have to set the buffers way up, so it doesn't crackle. Because we can't render a mix offline through Scope, I tend to be conservative on the latency, so I don't get problems when recording. Of course, I do get delay, and that's what I was talking about.

If the cards performed as well on the Dual as they do on the P4, I wouldn't be needing 2 PCs or the RME. But that's another story...

Thanks anyway!

T
User avatar
Neutron
Posts: 2274
Joined: Sun Apr 29, 2001 4:00 pm
Location: Great white north eh
Contact:

Re: Calculating latency values in signal path

Post by Neutron »

if i understand you are trying to record a scope synth, played VIA MIDI back in to your sequencer DAW.
all you need to do is record a hihat or other "click" type sound in a steady pattern. and see how much it is off in your recorded track.
if it is a consistent amount off, then good. you can adjust it and forget about the rest of this dogrel.

BUT then do it while your sequencer is playing a lot of other sounds, and maybe some VSTi or effects or anything like that is a bit of work for it , sending midi to something else, playing a complex passage with a lot of pichbend and mod and so on. if it is different when you do that, from the basic experiment, then it is probably the fault of ableton

if its just not very steady, it might be the reaper/OX and the scope MIDI > PCI driver (which i try to avoid) .. see later
i prefer scope machine to just give the scope power, ram for delays, hard drive for VDAT, and a display.

by the way if it is ableton7 and you want to send a nice steady external clock..hahahaha good luck with that :D

It took me AGES to get rid of timing problems. ableton is pretty horrible at it. dont get me wrong its great software when its used by itself with VST etc, but i can never send a proper MIDI sync from ableton to my spectralis or other external gear if anything else at all is happening. and its a fast computer. I finally gave up with it and started learning cubase (its a lot steadier, but it can have other issues)
having multiple different USB MIDI things is also bad. USB everything is a huge pain everyone thinks you just want to use their stuff and dont care if it steps on the other drivers.
even turning them on and off in ableton can make a big difference. if you have any unused ports turn them off. don't send sync to anything unless it really needs it.
changing from MMC to Directplay can make a difference. even in different combinations.

Scope midi drivers, do not play well with others. I think from your picture, you have an external midi interface, then send the MIDI thru software (reaper/Ox) so you are at teh mercy of windows. THEN the scope midi driver. the MIDI on the scope cards itself is fine, timewise. thats why i like to send it in thru hardware.
If you have MIDI OX there for the reason of translating or doing something liek that before scope gets the MIDI data, it might be better to send the output back to the interface and physically connect it to scope with a MIDI cable rather than use Scope PCI MIDI driver. that way it only uses 1 midi driver.

I like your diagram :D ill have to make one.
User avatar
Tau
Posts: 793
Joined: Mon Jun 26, 2006 4:00 pm
Location: Portugal
Contact:

Re: Calculating latency values in signal path

Post by Tau »

Hi Neutron. Thanks for the input. The problem I was having in Live is to measure how "off" the recorded signal is- because it doesn't have the fine measuring that's on Cubase, for ex., where you can get a reading for the length of a selection. In Live, you can drag the start points of the loops to compensate, but you have to do it by eye / ear (which is on of the major downpoints of this app). That's why I was thinking of recording both signals to separate wavs on the end of the path and compare them in Wavelab.

About the other issues, the reason I'm using Reaper is not very clear, but I found out that, if there was no application using Scope's ASIO driver, I got some strange interference between the graphics and the sound, meaning that whenever I dragged a surface on screen, the audio would start clicking. I even made a post about that 'round about December last year, but it seems to be a unique situation for me. I'll try the HW MIDI ports and see if I can get better results.

About timing in Live 7... I'm afraid you're right... It sucks :(. And I need clock for the G2, for the Evolver and for Scope, and it's really hard to get it all running properly. Windows MIDI is also a bummer. I have an ESI M8U 8 port MIDI interface, and the Bitstream 3x controller. Add to that the driver for the editor of a G2. Then it's impossible to connect my proddy klangbox, because if I do, one or more of the other MIDI drivers disappears... The Scope box has a parallel MOTU MIDI interface, and it seems to work better than the ESI, although sometimes it can take ages to initialize it...

I was thinking that maybe I would be better off doing all MIDI in the Scope box, and leaving the other DAW for audio only - but I have to think about this a little. I am a little distracted now, because I have lost my main Scope card yesterday...
Neutron wrote:I like your diagram :D ill have to make one.
Thanks! It was made with NeoOffice (that's Open Office for OSX), and it's great because it's easy to draw the arrowed lines : )

And thanks again for the input, I'll let you know the results as soon as I get this thing running again.

Cheers,

T
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Calculating latency values in signal path

Post by Shroomz~> »

Tau wrote:About the other issues, the reason I'm using Reaper is not very clear, but I found out that, if there was no application using Scope's ASIO driver, I got some strange interference between the graphics and the sound, meaning that whenever I dragged a surface on screen, the audio would start clicking. I even made a post about that 'round about December last year, but it seems to be a unique situation for me.
Hi Tau,

There's been many discussions about this issue on the forum. We had the same or similar problem here until I installed a new GFX card & better quality PSU, then the issue was gone. Problem is, I installed them at the same time, so don't know which one solved the problem. :roll: If I was to guess, I'd say it was the GFX card, but that's only because it was the GFX card that prompted the upgrades since it completely died. Then again, it's entirely possible that the GFX card died because of the cheap PSU I had installed.

Mark
Post Reply