[alsa-devel] Enabling in-kernel synch for M-Audio boards
Ludovico Verducci
ludwigvan at alice.it
Tue Sep 18 10:07:05 CEST 2007
John Rigg ha scritto:
> On Mon, Sep 17, 2007 at 08:44:03PM +0100, John Rigg wrote:
>
>> On Mon, Sep 17, 2007 at 12:22:19PM +0200, Ludovico Verducci wrote:
>>
>>> Hello all!
>>>
>>> I'm developing a complex multichannel audio distribution system where
>>> multiple linux boxes will stream audio data over ethernet and then
>>> should play audio at sample level resolution synchronization. The boxes
>>> clocks are synchronized over ethernet using PTP.
>>> I need to keep in synch the audio board's clocks and I can't use an
>>> external wordclock nor s/pdif.
>>>
>> Won't this cause serious clock jitter problems? I don't see how the
>> PCI bus can deliver precise enough timing, considering how much other
>> data it has to handle.
>>
I didn't mean to directly drive the audio board's clock over the PCI
bus. I think this is simply not feasible. But I think that using control
signals periodically exchanged over PCI between the audio board and the
kernel could be possible (if the hardware could support a similar
feature, of course) to skew the board's clock to keep it in synch with a
software reference.
As far as I know the delta family boards drivers support the
synchronization of up to 4 audio boards over PCI: at the moment I'm
reverse engineering the hardware trying to understand how this can be
accomplished.
>
> And I can't see any way that the clocks can be synced to sample
> accuracy over ethernet. That's what external word clocks are for.
> Even with a word clock I suspect that the latency of the
> ethernet connection would be too high to allow sample accurate sync
> of the audio.
>
> John
>
The machines real time clocks are synched over ethernet using Precision
Time Protocol. This protocol can achieve below 1 microsecond
synchronization accuracy. This should be fine to sample level synch at
48 KHz.
Regards,
Ludovico
More information about the Alsa-devel
mailing list