[LAD] FOSS Ethernet Soundcard

Gene Heskett gene.heskett at verizon.net
Tue Nov 24 15:55:06 UTC 2009

On Tuesday 24 November 2009, Adrian Knoth wrote:
>On Tue, Nov 24, 2009 at 09:48:53AM +0100, Karl Hammar wrote:
>> So ich habe mal was zusammengedichtet ....
>> > > The rationale in brief:
>> > > No proprietry hardware soundcard needed.
>> > > Almost all modern computers have reasonably fast Ethernet
>> > > connections.
>> >
>> > Don't know how much you already did for the hardware layout. If
>> > possible, try to avoid analog stuff, that is, ADC/DAC.
>> You don't say why we should avoid analog stuff.
>Like always: Analog parts are hard to build. You need to calibrate your
>circuits, you have tolerances in almost every component, you need a lot
>of knowledge to manufacture a high-quality ADC/DAC.
>This is stuff you could easily avoid if you just outsource the whole
>ADC/DAC to a company which has the skills to do this. Luckily, there's
>ADAT: eight channels of audio over a single, optical link. So all you
>would need is one or more ADAT jacks somehow attached to your computer.
>Even better: studios usually have ADAT-ADC/DAC around, they're only
>looking for a way to get the data from/to the computer. If you want to
>win the whole pro-audio scene for this project, just provide ADAT plugs.
>The cheapest ADAT ADC/DAC I know is the Behringer ADA8000:
>   http://www.thomann.de/gb/behringer_ultragain_pro8_digital_ada8000.htm
>There is better gear around, e.g., the Apogee Rosetta converters or the
>RME ADI line:
>   http://www.thomann.de/gb/apogee_rosetta_800_24192khz.htm
>   http://www.thomann.de/gb/rme_adi_8_qsm.htm
>Don't get me wrong, but I guess you cannot match their level of quality.
>And I don't see why one should fiddle around with soldering some crappy
>analog ports when he has decent studio gear around or can buy
>good-enough quality like the Behringer ADA8000.
>And while we are at it: RME and Apogee often also don't even dare to
>provide a preamp, because the studio guys have better stuff around:
>   http://www.thomann.de/gb/avalon_ad2022_preamp.htm
>The preamp makes the music. If you feed your 4000EUR Neumann M149
>microphone into an Avalon, all you need is a decent A/D conversion and
>you're halfway done with your radio production. ;)
>Sometimes, these preamps come with builtin A/D converters. That's what I
>   http://www.thomann.de/gb/focusrite_liquid_4_pre.htm
>See it? It reads "ADAT I/O". If the FOSS soundcard provides an
>IP-to-ADAT converter with zero latency mixing facilities and builtin DSP
>effects, you'd be the man! You could instantly sell numbers of units, it
>would be the perfect onstage mix/split/monitoring solution.
>> > I'm also somewhat interested in the network part, I feel IPv6 could
>> > help a lot. It supports autoconfiguration and it has decent multicast
>> > support, so it would be possible to broadcast/multicast the streams on
>> > the net (LAN). This could be useful if you want to access the stream at
>> > a mixing console for a life setup and simultaneously record it on a
>> > computer.
>> At a live recording you probably have only your own gear connected to
>> the lan. In that case you can easily assign ip-adresses at will and to
>> your own taste. I don't see how IPv6 vs. IPv4 could matter at all.
>Come on, we're talking about a new development here. New development
>should never ever focus on IPv4, IPv6 has been there since 1998.
>Manually assigning an IPv4 address feels so 1990s and increases
>complexity. With IPv6, you just put your device on the net and it gets
>a link-local address, that is, fe80:MAC-Address. (it's not exactly the
>MAC-Address, but it's derived from it).
>No need to assign anything, you're instantly ready to go. And you have
>link-local multicast (read: broadcast in IPv4 terminology). Just use an
>address starting with ff02 and send your streams to it. Everyone
>subscribed to this address would receive it.
>I have a jack client streaming/receiving IPv6 multicast streams. It's so
>easy. No configuration at all, I just fire up the application and I'm
>ready to stream. I don't even care about the other addresses used on
>this LAN.
>Let's talk about discovery: how do you intend to find your devices on
>the net? With IPv6 multicast, all soundcards could statically listen on
>ff02::dead:beef. Then, the workstation sends its discovery packet to
>ff02::dead:beef, all cards receive it and respond (connect back) to the
>source IP (or an IP given in the packet, but that's not even necessary)
>In other words: A single address is sufficient to trigger the callbacks.
>The cards tell the workstation about their very own IPv6 multicast
>streaming address, and the workstation simply has to tune in. There you
>go. Streaming and discovery within approx. 200 lines of code.
>Perhaps it's even a good idea to provide a master clock on an IPv6
>multicast address, but clocks are a separate issue (in a studio, the
>workstation would probably slave to some decent specialised clock, e.g.,
>Apogee Big Ben)
>[RockNet, Roland Digital Snake, Ethersound]
>> That tells us that it should be doable. But of cause we want an open
>> protocol. Do you know the capacity limits of those systems?
>Approximately what you could expect from a 100MBit/s link. At least 32
>channels, rocknet even more, but they use 400MBit/s.

And that says it all right there, 4x the channels one can get out of an ADAT.

Story time folks:

One of my long time employees at the tv station has always had this dream of 
doing the killer video that would make him a million dollars, so he is always 
nearly starving to scrap up  enough money for the latest whizbang toys.  When 
ADAT's recorders were brand new, he bought 2 of them, they were going to be 
the heart of the audio portion of his studio.  That cost him the majority of 
a small inheritance, not too far short of 5 figures, and they used vhs tapes 
at the time.  I saw them a couple of times when he had them at the 
transmitter which was his 'day' job.  But I never heard them cuz they didn't 
talk nice to the rest of the planet, something like a 'vegetarian' being old 
tribal slang for someone who does hunt or fish well.  That nearly 10 grand in 
gear has since disappeared into his personal museum I guess, never to be 
heard from (literally) again.

The point of the story is both that there is a sucker born every minute, and 
that the ADAT interface, with its certain legal challenges that have been 
intimated here many times over the last years, approaching a decade IIRC for 
me, is a proprietary interface has no place in the free, open for anyone to 
play with it, scene. ADAT has made their bed, now let them sleep in it.  What 
is being proposed here, with the ethernet interface, is both far easier to do 
with generic $25/card hardware at the interface point, and far superior in 
terms of bandwidth.

So please do carry on with the ethernet discussion.  It is very interesting 
to listen to the what if's, when its easy enough to do.  Couple that with the 
hardware ADC/DAC being just another exercise for the gEDA folks, who could 
have you working, completely open hardware in just a couple of months.  The 
only problems I can see, as a broadcast engineer with 45 years experience, 
would be layout problems on the PCB's that would have to be iterated several 
times to get the SNR's the ADC's can be capable of, optimized into the real 

As for costs, I haven't googled around to see what 24 bit (or more) monotonic 
ADC's are worth in 100 lots today,  Ditto for DAC's although I suspect 24 bit 
monotonic comes cheaper in a DAC than in an ADC.  The Audigy2, sbo400 based 
card in this machine certainly wasn't a break the bank purchase even when 
new, and it claims to be 24 bit.


Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
The NRA is offering FREE Associate memberships to anyone who wants them.

You can't learn too soon that the most useful thing about a principle
is that it can always be sacrificed to expediency.
		-- W. Somerset Maugham, "The Circle"

More information about the Linux-audio-dev mailing list