More than one audio codec on a PC mobo

Folks,

The AC97 standard describes only up to four sound chips operated simultaneously, on page 21:

ftp://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf

What if one would like to connect, say, 20 of them and all are supposed to run nicely synchronous? Like in a digital mixer board for music.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg
Loading thread data ...

Den tirsdag den 25. februar 2014 23.01.26 UTC+1 skrev Joerg:

I'm guessing that is how people do it

formatting link

-Lasse

Reply to
Lasse Langwadt Christensen

My guess is that you'd need to have multiple AC-link busses (one per each set of four AC97 codecs). A single output bus couldn't push bits fast enough to keep 20 codecs properly fed at any reasonable sample rate. Inputs are already split out (one input line per codec), so you'd have to replicate these.

Presumably the bit-clock would be buffered and split and sent out to all of the codecs in parallel in order to maintain fine-grained synchronization.

I suppose you might be able to do all of this by simply replicating the AC97 controller IP at different PCI-bus locations, but I suspect that maintaining adequate synchronization between the codecs on different controllers would be a nightmare in this case.

So, you'd probably have to build a single block of IP which *looked* like a set of five AC97 controllers, and had some additional mojo which ensured that commands and data could be pushed out to multiple codecs with adequate time synchronization.

I've seen some limitations in the AC97 architecture which make me think it's not a great choice for your application. As far as I can tell, it's not great about handling timing from sources other than itself (e.g. from the controller, a fixed crystal, or one specific codec on the bus). As a result it doesn't deal well with external signals having their own timing (e.g. S/PDIF input). I have yet to be able to get an AC97 system to receive external S/PDIF input in a bit-exact fashion... usually, it drops or duplicates samples as the input data rate differs from its own idea of 48 ksamples/second.

Reply to
David Platt

Why AC97? There are dozens of DACs and CODECs around with all sorts of interface options.

Reply to
krw

Yes, they do it. But the author points out where things can seriously hit the wall. Quote "The insurmountable problem with freewheeling several soundcards side by side is simply that they are not locked together". This means that the tie-in would need to be before the signals even reach the innards of the PC. It probably would require some sort of hardware concentrator.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Sync is exactly my concern.

That's what I've (so far) read as well when studying the AC97 concept. Is there any other standard that's better or do we have to totally roll out own? Can't imagine that there aren't others interested in digital mixers and stuff.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

The goal was to use sound chips because of their attractive pricing while offering 20+ bits of dynamic range and potentially high sample rates. Is there another standard that comes to mind?

I know how to roll this using individual ADCs and DACs but that gets expensive. Plus we'll have to write our own drivers and all this fun stuff.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

My impression is that AC97 was intended for the mainstream motherboard application space... basically, for integrating onto the motherboard the same capabilities that you'd get with a vanilla soundcard and (perhaps) a modem. It extends well enough to handle typical "home theatre" multichannel applications... which are all primarily output-driven.

It definitely seems to focus on being cost-sensitive and multivendor-friendly.

I don't think it was ever targeted at the medium-to-high-end application space.

As the article you pointed to suggests, there are solutions to this using plug-in (typically PCI) sound cards that have been designed with multi-card timing synchronization features.

I haven't heard of anybody trying to standardize this sort of many-way timing and control synchronization for motherboards. Not enough of a (perceived) market to justify the effort, I would guess.

You're probably in roll-your-own territory, I'd guess. Maybe a modest FPGA, with PCI or PCI-E bus IP on one side, a tuple of AC97 controller blocks (or something wire-compatible?) on the other, and a big hunk of on-board or closely-attached memory for buffering? If you stick with AC97 codecs of the same make and model, you might be able to maintain timing and messaging synchronization all the way down to the bit level?

Reply to
David Platt

If you don't want to roll your own cards, find a Magma PCI cage. I can drive

7 sound cards at once on mine, well on Linux. No idea about windows. My Magma was from an old recording studio. I wouldn't want to pay the price of one new, so look on ebay. And ignore all the buy it now assholes. I got mine for about $200 plus change years ago when they were worth something. Nowadays they have fancy multichannel soundcards. You need the cage, backplane, and most important, the freaking PCI host cards. One your your PC, the other in the cage. So an eight slot Magma runs 7 PCI cards.

If you were really clever, you could build this yourself. They use Pericom chips and off the shelf PCI backplanes. I found it easier just to by a Magma and cheap sound cards rather than make a project out of it. The setup is for SIGINT, so the cards works independent of each other. But there is an opensource Linux program for multi-channel recording.

TI makes some chips that are 8 channel oversampled converters. They use individual analog front ends then multiplex the digital in a manner that is transparent to the user.

Reply to
miso

Use an external audio interfaces with ADAT interface. AFAIK such interfaces can be synchronized.

--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de 
HTML mails will be forwarded to /dev/null.
Reply to
Peter Heitzer

I know very, very little about this; most of what I know comes from talking to a former co-worker who used to run a recording studio, and recorded to hard disk in his computer. The way that it seems to work is that you stick a PCI (or PCIe or whatever) interface card in your computer, and then run a (probably propietary) cable from that to an external box that actually has all the A/Ds, D/As, and clocks in it. This external box is "doing its own thing" and is not really connected to the audio system that lives on the motherboard. You then run software on the computer that knows about this setup and can tell the external box what to do - when you hit "record", the PC's main job is to take the digital data coming from the PCI card and write it to disk.

He used a Mac for this and had, if I remember right, the then-current version of the "Pro Tools" software, from Digidesign (now Avid). A quick read of the Wikipedia page suggests that at least in the past, and possibly today as well, this software only worked with the I/O hardware that was also sold by Digidesign/Avid.

The competitor that he mentioned was Apple's "Logic" software, but I'm not sure which external hardware it works/worked with, or even if it supports external hardware.

One vendor that I know of that plays in this area is Mark of the Unicorn. I don't know if their stuff is any good or not; I just know they exist. Their "24I/O" box seems like it might do what you want:

24 channels of 24-bit (max) inputs at 96 kHz (max). Top level at
formatting link
. The summary
formatting link
says it comes with Windows and Mac drivers, and can sync to external time bases. The first couple of Google hits say that a package with one of those boxes plus the PCI card to drive it costs about US$1,420 quantity one. This may well be beyond your budget, but it gives you some idea of what you can have in your hands tomorrow. You then have to go and write the software for it, but you have to do that anyway... :)

Standard disclaimers apply: I don't get money or other consideration from any companies mentioned.

Matt Roberds

Reply to
mroberds

Sure, just about any audio DAC should work. For many channels, you'd want something with a TDM interface. How many channels do you need?

You'll need your own drivers anyway. ADI makes DACs up to 16 channels. I generally use Cirrus Logic 8-channel DACs (CS4385) because they're cheaper (around a buck in volume). AKM and TI (Burr Brown) also make some good ones.

Reply to
krw

Yes! Higher end digital music gear and audio interfaces often have "word clock" input/outputs so everything stays synced to the same sample clock. It's on a BNC connector. See for example:

formatting link

formatting link

Reply to
bitrex

Here's a dirt cheap way to get a ton of analog audio inputs:

Buy one of these:

formatting link

4 ADAT lightpipe in/outs

And then get 4 of these:

formatting link

Then you have 32 analog inputs to Firewire, all synced sample-accurate via ADAT clock. If you need more, buy another Lightbridge and sync both setups via their Word Cock connectors.

Reply to
bitrex

I neglected to ask if the requirement for 20+ channels of synced audio to the computer was for a one-off installation, or was a requirement for some kind of product that you're developing. If it's the latter I'm curious as to what the application is, because as shown multitrack audio recording to the PC is a completely solved problem with commodity-priced hardware already available.

Reply to
bitrex

I have seen some references to 6 channel codecs intended for 5.1 systems, so you would get six synchronized channels on a single chip. With four such chips, you would end up with 24 channels.

Anyone of those chips usable for your application ?

Reply to
upsidedown

That looks like an interesting method. Only eight channels but it's probably a concept that could accomodate more.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

It has to be to the bit level. There cannot be even one sample of slippage.

But as Bitrex and Peter mentioned, ADAT might be an option.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Thanks. Bitrex pointed out a product that has it. Painfully expensive though.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

That could be an option. Just not the Ebay path, this has to turn into a product some day. Preferably with extra cages and backplanes.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.