[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
> 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.



More information about the Alsa-devel mailing list