[LAD] FOSS Ethernet Soundcard

Adrian Knoth adi at drcomp.erfurt.thur.de
Tue Nov 24 14:10:27 UTC 2009

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:


There is better gear around, e.g., the Apogee Rosetta converters or the
RME ADI line:



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:


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


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.


mail: adi at thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver

More information about the Linux-audio-dev mailing list