[linux-audio-dev] Audio synchronization, MIDI API

John Check j4strngs at bitless.net
Mon Aug 16 07:49:31 UTC 2004


On Sunday 15 August 2004 12:21 pm, you wrote:
> Quoting John Check <j4strngs at bitless.net>:
> > Google Nelson Posse Lago. He stopped posting to this list about 02.. I
> > was wondering if he got hit by a bus or something, but apparently not.
>
> I'm alive
> And the world shines for me today... (ELO)
>
> Sorry, I haven't been able to keep up with the list, much to my regret...
> But don't worry, I'll be back!
>
> Anyway, lowlat audio over ethernet works and the ethernet delays are
> negligible in practice, they are on the order of a few hundred
> microsseconds *with retransmits* in practice and most of the time they
> won't even happen. Please take a quick look at
> http://gsd.ime.usp.br/~lago/masters/artigo-webmidia.pdf . It is small
> and most of the text may be skipped (but please note the "sliding windows"
> stuff).
>
> As for resampling and resyncing multiple cards, that's more complicated...
>
> Quoting Benno Senoner <sbenno at gardena.net>:
> > I don't think raw ethernet will buy us anything over using UDP. These
> > few usecs less simply won't matter.
>
> Definitely right. AND udp is simpler to use and allows for packets
> up to 64K; the resulting ethernet fragmentation, apparently, doesn't
> have a significant impact on performance either. This all tested with
> relatively low-end hardware.
>
> > (but with ethernet you would have the disadvantage that you loose
> > routability)
>
> I didn't try, but I guess this system only works well (with lowlat)
> in a LAN.
>
> > About the packet loss ratio: besides from broken equipement (avoid hubs
> > completely, use only switched networks), the packet loss ration in a LAN
> > is pratically zero.
>
> Again, that's right. If the net is dedicated, there should be virtually
> no ethernet packet loss; but even if there is, the hardware retransmits
> fast enough (IIRC, on the order of nanoseconds) for that to be transparent.
>
> There are four important TODO things with my code:
>
>  - remove the CORBA stuff; it is a legacy from a past where I intended
> corba to have a much more important role, but right now it only gives
> us the ability to discover the nodes available, which would be much
> easier with multicast/broadcast.
>
>  - clear up the C++ code so that it compiles with g++ 3.x.
>

BTW this is nearly done. I have the code in CVS, but I'm in over my head.
The remaining problem would likely take somebody who's current about 15 
minutes to clear up. 

>  - create a simple gui for the manager (should be eeeeasy).
>
>  - improve error handling (calling exit() at any error is not the best
>    way to go ;-)
>
> See ya,
> Nelson
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.



More information about the Linux-audio-dev mailing list