I'm looking for a board to process live music (sub-millisecond latency if possible). I'm thinking of a layout like the following:

enter image description here

So there are a few DACs and ADCs, S/PDIF inputs and outputs and a DSP to efficiently process (shelf filters, notches, ...) and route live audio between all of those I/Os in arbitrary ways. And of course I want to be able to control it all with a microcontroller.

Do you know of anything like this that has the non-microcontroller bits already integrated?

If you don't, can you recommend some parts that would work well together?

  • \$\begingroup\$ For dealing with so many channels in parallel, you might want to think FPGA instead of DSP. But I'm no DSP expert. \$\endgroup\$ – The Photon Mar 9 '13 at 18:39
  • \$\begingroup\$ Well in things that I have looked at in the past, they use several layers of dsp's and busses, but that adds latency... The less versatile you are willing to make the device the faster it can be... Of course the fpga would allow you to do things in a more parallel way than a microcontroller. \$\endgroup\$ – Grady Player Mar 9 '13 at 19:31
  • \$\begingroup\$ How much processing are you wanting to do? \$\endgroup\$ – Matt Young Mar 9 '13 at 19:50
  • \$\begingroup\$ As far as DSP processing, not much, just some basic filtering probably. The primary point is interfacing with analog circuits like tube preamps amps and other retro equipment. So I don't know if I need a full blown DSP but it has to be fast. At least 48kHz I think. This would not be much different from one of those pro-audio "recording interfaces". The difference being it can be controlled programmatically. Are there no "digital audio mixer" ICs out there? \$\endgroup\$ – squarewav Mar 9 '13 at 22:33
  • \$\begingroup\$ @ioplex Actually a web search shows up a lot of digital mixer ICs, have you searched around yet? \$\endgroup\$ – Anindo Ghosh Mar 10 '13 at 4:07

I found a potentially very interesting solution. The Analog Devices ADAU1701 is a 56bit double precision DSP processor that can do 24bit/48kHz no problem and up to 192kHz with limitations. It has 8/8 digtial I/Os so it has the potential to exceed all of the above requirements and it has 2 ADCs and 4 DACs builtin. There is a dev board and also a product called miniDSP that uses the ADAU1701 and I have not seen anything so far that would rule out hacking the miniDSP hardware so that it can be controlled by a microcontroller like an Arduino. The ADAU1701 uses a "SigmaDSP" IDE that allows you to download your filters and mixers or whatever into the chip by USB. You can monitor the writes and copy them into your micro controller code. The ADAU1701 chip actually has some microcontroller-like functionality with 8 bit analog inputs and GPIOs for controlling parameters like frequency, volume or whatever. My only concern would be latency which looks like a few milliseconds.

Here's an interesting discussion about it (for crossovers but quite applicable)


It seems this is actually quite difficult to do without introducing significant latency which is of course unacceptable for live music like guitars and such not just because of perceived delay but because as you mix signals back together things would get warped in horrendous ways. Each type of operation (like a filter) requires a certain number of samples that take 1/fs*n seconds which can easily become several milliseconds.

The ADAU1701 is a powerful chip (the ADAU1442 would be even better with a builtin asynchronous hardware router capability) but something like the AD SHARC processor is a thousand times faster than those chips.

| improve this answer | |
  • \$\begingroup\$ Yes, overall delay is a very real issue with the given constraint (which is probably overly harsh). But differential delay is not really, as you can simply delay your shorter paths to match your longer ones. \$\endgroup\$ – Chris Stratton Mar 11 '13 at 20:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.