DIY soundcard project (8 audio inputs)

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
jaabaa
 
Posts: 23
Joined: Thu Jun 19, 2014 4:19 am

DIY soundcard project (8 audio inputs)

Post by jaabaa »

Hello,

I'm starting a DIY project for doing an audio interface with 8 audio inputs.
I'm currently looking at the chips to use :
* 2 units of 4-channels ADC chip like Texas Instrument PCM 4204 ? Other chips ?
* What kind of microcontroller to be able to route this data to computer with USB ?

Thanks in advance for all advices about this!

I'm sure such a DIY project already exists somewhere. Any idea where ?

Baa

PS : I already successfully did some projects (like a Xoxbox, some MIDIboxes and lots of other coding projects).
I'm not sure if this forum section is the best place for my question. Is there a better place I should move to for such DIY projects ? Other part of this forum ? Other website outside of Adafruit ? Where?

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: DIY soundcard project (8 audio inputs)

Post by adafruit_support_rick »

jaabaa wrote:I'm not sure if this forum section is the best place for my question. Is there a better place I should move to for such DIY projects ? Other part of this forum ? Other website outside of Adafruit ? Where?
This kind of project is what this forum is here for!

jaabaa
 
Posts: 23
Joined: Thu Jun 19, 2014 4:19 am

Re: DIY soundcard project (8 audio inputs)

Post by jaabaa »

Thanks Rick for your answer.

Are you aware of already-existing similar projects ?

Do you think it could be easily possible with some ADC chip + USB microcontroller (what kind of ?) ?

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: DIY soundcard project (8 audio inputs)

Post by adafruit_support_rick »

Sorry - I have no experience with that sort of thing. I don't know of anything similar.

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: DIY soundcard project (8 audio inputs)

Post by adafruit_support_mike »

The big question in any data acquisition system is "how much actual signal can I get out of the system I want to sample?"

The PCM4204 is listed as having 24-bit ADCs, which means they're theoretically capable of resolving differences of 300 nanovolts in a 5v signal (the nominal input range). To make those values meaningful across the audio spectrum, you'd need an input system whose noise figure is about 2 nanovolts per root-hertz, which is beyond the specs of even the best low-noise op amps. The NE5532, a workhorse in low-noise audio amplifiers, is rated for 5 nV/root-Hz.

In practice, you'll get maybe 10 bits of useful information out of a circuit that doesn't devote 90% of its hardware to keeping signals in the remaining 10% as clean as possible. That's still really good.. most oscilloscopes use 8-bit ADCs.

It's a good idea to have one ADC per input, but look for something in the 10-bit to 12-bit range. Then get a 0.1% voltage reference and filter your analog supply rails to keep the ripple below 1mV (one LSB for a 12-bit ADC).

At that resolution, you need to isolate the digital side (which is inherently noisy) from the analog side. Sigma-delta ADCs are basically digital circuits, so you want to put them on the digital side and use an input buffer on the analog side to hold the signal steady. Successive approximation or flash ADCs are basically analog circuits, so they can live on the analog side and accept input directly (though an input buffer is still a good idea).

On the digital side, you'll need to use high-speed (12MHz) USB. Low-speed (1.5MHz) is only fast enough to transmit about 4 bits per channel for eight channels sampling at 44kHz. 12 MHz USB is fast enough to transmit 10 bits per channel and still have enough time to do other things.

You may need to use a microcontroller faster than an Arduino or ATmega32u4 to move data between the ADCs and the USB though. At 16MHz, you have about 45 clock cycles per channel to pull the data from the ADCs and send it out via USB. That's a bit tight, so you might want to move up to something like an ARM microprocessor capable of running at 32MHz to 48MHz.

Your system will basically have two sides, each with its own set of challenges. On the analog side, you want to keep the supply rails and references as smooth as possible and the inputs as free from noise as possible. On the digital side, you need a system fast enough to carry information from the input system to the computer.

jaabaa
 
Posts: 23
Joined: Thu Jun 19, 2014 4:19 am

Re: DIY soundcard project (8 audio inputs)

Post by jaabaa »

Thanks Mike !

Okay, so it looks like I should use an ARM microcontroller. Which one would you choose (I have seen hundreds of microcontrollers available...), so that I could connect quite easily the ADC (PCM4024) to it ? Is there a usual interface (I2S, I2C ?) so that it could be quite straightforward for the microcontroller and the ADC to communicate ?

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: DIY soundcard project (8 audio inputs)

Post by adafruit_support_mike »

A couple of our in-house folks like NXP's LPC series of ARM microcontrollers. We have a couple of plain breakouts and the mbed platform: https://www.adafruit.com/search?q=lpc&b=1

We also like to send some love to the Teensy-3.1: https://www.adafruit.com/product/1625 because it packs a lot of power into a really small footprint. We also like Paul Stoffregen (its creator) a lot. He supports his platform, and works with us to keep his stuff in sync with ours.

WRT interfaces, go with SPI. It's *much* faster than I2C, and you'll need all the speed you can get.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”