Wow! A lot been said since I opened my mouth :o
First an apology!
When I started this thread I CC'd LAU hoping to just bring interested
people over. I didn't expect the cross-post deluge that followed -
Sorry. I won't do it again :(
For those in doubt the original discussion started over on LAU as a
complaint about the state of USB support on Linux.
My take is very much like Karl's in many respects.
I want to keep well clear of any propriety issues such as patents,
licenses etc. You can't get much more 'free' that real analog audio,
and Ethernet is a pretty much universal and unencumbered standard. If
all the software and hardware remains open then I think we're pretty
much covered.
Another reason for going for a nuts & bolts build is that it will be a
*fun* challenge. I certainly do not expect broadcast standard feeds from
our first attempt, but if we can produce something that is reliable and
repeatable then I'm sure those that are more experienced than myself
will be able to point us in the right direction for fine tuning both
the hardware and software, but we really need a brick in place first.
Karl and I and some others I think more or less agreed that the first
step was to produce a simple development board with just two inputs as
a starter. The unit that Karl though most promising already has 16bit
DACs on board so a complete 2 in 2 out should be realisable fairly
quickly. For this first test, I'm not at all concerned about noise
levels. I think getting a reasonably low distortion conversion without
any discontinuities is the first target.
If the triggering of fast ADCs is controlled by a reasonably accurate
Xtal standard is doesn't really matter if the computer end drifts
about a bit, the odd lost packet should be recoverable and jack really
won't care as long as it's buffers are filled and emptied within the
overall time frame.
I know very little about networking, but the Wikipedia link very
much confirms my early thoughts that there aren't
any effective standards in place.
UDP also looks the way to go. Everything is permanently listening to
everything else, but only the master controller sends out polling
messages dictating which slaves will 'speak'. To me, this keeps the
protocol as simple, fast and flexible as possible and should completely
avoid collisions. It would seem other people have come to a similar
conclusion.
As we are working FOSS, everything is open for scrutiny and later
development of the messaging system is not a great hardship. Practical
experience can dictate what *really* is good and what isn't.
A little bit of sad news.
I decided to fire up my ancient valve voltmeter, notch filters etc. and
have a look at the distortion products from a mathematically generated
1kHz sinewave spat out by my 2496 sound card, just to give some form of
reference. Unfortunately the meter has gone to that great repair shop in
the sky :(
So...
My immediate project is now to build myself a battery operated digital
AC millviltmeter with true RMS volts and dB scaling based around Analog
Devices AD636.
Parts are on order :D
--
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.