Subject: Re: [linux-audio-dev] LADMEA Prototype
From: Paul Davis (pbd_AT_Op.Net)
Date: Fri Aug 17 2001 - 16:02:13 EEST
>You will have realtime/clock sync problems for instance when your clock is
>on a different box to a real audio input or output. What happens if the
>crystal on the audio card isn't in sync with the clock. Or one audio card
>with another? This is a common problem.
With a common solution: word clock. Used by just about everyone. Yes,
you can't use it over a network connection. Thats a different problem.
>Assuming this problem is resolved somehow, there's still no guarantee of
>relative arrival times across a network (unless you want to use slow
>centralised locking techniques, which will fail for latent networks). You're
>going to have to implement latency requirements on inputs to judge when a
>client has failed/is late.
Thats because you're using an async model. In a sync model, the
network client delivers silence or whatever is appropriate for its
data type during a tick when it has no data available. sure, it'll
sound/look/feel/smell/taste funny, but what else is there to do?
> If you want to stream things other than PCM audio
>you're going to need to be able to describe these data types and push them
>across a network to a potentially different piece/version of
>software/hardware.
Not true for s/w. the bridge s/w runs on both sides of the link.
>Incidentally, as I think you suspect, it *is* possible to drop or add
>samples to deal with sync problems. This is a well-known issue that hardware
>digital mixers in the real world have to face. This is partly why they are
>expensive - but the technology has been around for quite a while and we
>really ought to be able to mirror it in our software-synthesis world. A
>mixture of techniques are used, from dropping or inserting samples (bad) to
>resynthesis of a block of audio with a length change (good but costly).
Hmm ... can you name a digital mixer that does this? I don't know of
any that perform either of these functions. On the Mackie D8B and the
Sony, if you are sending digital inputs that are not word-clocked
sync-ed to the mixer, you will get clicks and pops, pure and simple.
>[Aside in case I didn't mention it recently: LADMEA allows you to use clocks
>to drive software to keep it in sync that way. The clock tick is a data type
>like any other (probably with a rather tight latency requirement!).]
If LADMEA is that flexible, I don't understand what its providing. The
requirements for an interconnect scheme with sync operation are
1) data exchange
2) correct and prompt client scheduling
If you're saying you could write a "LAAGA-like exchange" in which a
tick from somewhere drives the clients, that requires that the second
requirement includes scheduling clients that only deliver data. that
is, you have to be able to force a client to call sendToExchange() at
the right time. I don't see how LADMEA allows this. Am I missing something?
--p
This archive was generated by hypermail 2b28 : Fri Aug 17 2001 - 16:10:35 EEST