Digital DSP or Analog Mixing for Live Pro-Audio

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hello,

I have a project brewing. I need to control the volume and tone levels of 4 microphones and 1 stereo line via a PC (USB Microcontroller). The volume and tone levels will controlled via a PC Application. I need the mix of those inputs to be outputted to a line-level output.

Taking into consideration cost of manufacturing, as well as sound quality and latency issues, would you build a project in the analog or digital realm?

We can use the TI PGA4311 Volume Control chips to control the volumes, and some digital pots to control the tone levels. This would be all analog. Or we can use a ADC on all the channels and then mix it with a DSP. This would be digital. Which is best for live pro-audio? Would I have latency issues with a DSP? Which would have overall cheaper components? Which would be easier to build?

I've taken a peek at FreeDSP, while it looks like it might do what I need it to do, it looks like it might be more complicated than using some PGA4311 chips.

I'm struggling to make up my mind on this project and I was hoping that someone out here had some sound advice. Thank you for your time.

Jay
 
How are you doing the control aspects? If you have pots doing the controls then it doesn't really make sense to digitize these and then feed that output to the PGA digital volume control chips, rather it seems to be better to use some kind of VCA (voltage controlled amplifier) for volume control which will keep everything analog.

<edit> Perhaps you already have answered this, sorry for my denseness! You said the PC application will control it, so that's going to be by mouse clicks or a multi-touch surface? If so then that's digital rather than having physical analog pots.
 
Hello Hello,

Yeah it's going to be controlled with a computer touchscreen. The board will be connected to the PC with USB.

We already have a concept design. Schematic and PCB using the PGA4311 chips. One controls the mic inputs, another controls the line inputs and master output. It's a really nice design! But the challenge I have is the cost of the PGA chips and all the other supporting chips. I'm wondering if a DSP would be cheaper and smaller?

There are some other features integrated into the board. Tone control using digital pots, echo, and we plan on adding a codec for USB audio playback and recording.

So you say scrap the existing design and go DSP? If so what DSP? The freeDSP uses the ADAU1701. I wonder what it would take to get 4 mics and 1 stereo line to function with this particular chip.

Jay
 
I would love to get some feedback on this idea... To simplify my question the best I can....

- Is DSP Mixing appropriate for Live Audio use? With reasonably priced ADC's (pcm1865-q1) and a decent and also reasonably priced DSP (ADAU1701), will I get acceptable latency in a live performance world? Or is Analog the way to go?

I recently purchased a FreeDSP classic so I can at least test this... Maybe I'll continue prototyping my analog board. :-/
 
Pretty much the whole touring world has been on digital desks for years now, the advantages are just too compelling for those guys (Digital snakes apart from anything else are enough to sell it, but then you get to eq,effects and dynamics limited only by available compute power and no need for massive outboard racks and it becomes a no brainer).

Personally I would just stick the preamps and converters in a USB connected box and do all the processing in your PC, 4 channels or so of gain and simple EQ is not going to be a particular problem on a reasonably modern computer.

Regards, Dan.
 
Hello dmills,

Thanks for the input. In my experience, anything that goes in USB and comes back out it is going to have a delay that is unacceptable in a pro-audio environment. I've used countless "USB AUDIO" devices with "mic inputs" that suffer from this unfortunate issue. Some of them have an analog path to mix the analog signal with the DAC signal so that there is no delay on the mic. But that defeats the point, because my goal is to control volumes of a microphone on the PC.

So I guess I already know that there are DSPs that are *not* good for pro audio. So I know that I'm not unfounded to say that digital mixing is not necessarily going to work, due to latency. (nice article about latency and delays here)

I'm going to refine by question again... What specifications on DSP, ADC, and DAC are required in order to successfully create a live pro-audio mixer? I know a lot has to do with algorithms. For example, if anyone has a FreeDSP. If you feed a mic through it and just mix it to the stereo outs... Would it have a noticeable delay? What if you added some processing, would there be a noticeable delay?

I suppose if someone is using the FreeDSP after a DVD player or something then maybe they would know due to the latency introduced between what the TV shows and the sound. Is it fast enough?
 
Well sound travels at about 1100ft/second so each millisecond is equivalent to about a foot of acoustic distance.

For front of house, you can tolerate tens of ms (and actually often need more to make the hass effect work), the critical case is artist monitoring.

For monitoring, especially for in ear mons, you want less then 10ms total, ideally more like under 5ms, and the ADC and DAC decimate and interpolate will take up maybe 2-3ms of that, so at 48KHz rate you are looking at either going sample by sample, which means a real DSP part, or doing very small buffers, in the 32 sample region, which is doable on a PC with GOOD audio hardware and clever coding.

In terms of DSP parts, I like the AD SHARK 2148X series, but really it is whatever you are familiar with, I am sure the TI stuff is also fine for this kind of thing, basically you want a floating point part with a sufficiency of high speed serial ports that you can configure for I2S or LJ or whatever.

Regards, Dan.
 
For monitoring, especially for in ear mons, you want less then 10ms total, ideally more like under 5ms, and the ADC and DAC decimate and interpolate will take up maybe 2-3ms of that, so at 48KHz rate you are looking at either going sample by sample, which means a real DSP part, or doing very small buffers, in the 32 sample region, which is doable on a PC with GOOD audio hardware and clever coding.

DIYers can avoid the mainstream codec parts and roll their own ADCs and DACs without the usual FIR filters if the delay is really a critical parameter. Of course true analog AA and AI filters are going to be needed in lieu of the digital ones, their group delays will be measured in uS rather than mS.

Going back to the earlier questions - I think given you've got digital already in your system you'll be better off going fully digital rather than using those digitally controlled volume parts. Ultimately fully digital is going to be cheaper, and much more flexible. The area to watch is indeed the build up of delay.
 
Last edited:
@nigelwright7557
I designed a USB audio mixer. [...] I got the basic code for it from Home - WFFwiki

Any idea where that project is? Any details on it? I can't find it on that site.

@abraxalito
DIYers can avoid the mainstream codec parts and roll their own ADCs and DACs without the usual FIR filters if the delay is really a critical parameter.

The ADC chip I have in mind is the pcm1865-q1. It has 4 microphone inputs and a PGA for them. It does have a FIR filter but it claims "low-latency". I wonder if this FIR is a good/bad idea... There is also the PCM1804-Q1 that seems promising too... I need one more Stereo ADC for the aux input and I need one DAC for the Master output. So it's a total of 6 ADC and 2 DAC channels.

For the DSP I was looking at the TI chips with the Mini DSP such as the tlv320aic3263. Interestingly this chip has all the mic and input specs I need but only 2 PGAs! So the inputs are all mixed and we wouldn't get individual volume control, I think. I was also looking at the ADAU1701 which has a stereo ADC and two stereo DACs but inputs for all the I2S connections I would need, I think.

USB to me seems like it would be out of the question... Since I've tried numerous "soundcards" to see if they worked and none of them did when using a digital path. The latency was way too much.
 
Nigel,

I'm sorry, I just PM'ed you on the other site! I didn't realize it was the same contact. So I see you've made a USB Mixer? Is this DSP or analog? Can you please tell me what chips you used on this build? Do you think I can pick your brains either publicly or privately?

I detailed the intended build on the other site.

Nice to meet you,

Jay
 
I use digital pots for the volume and tone controls.
The USB is done by a PIC18F4550, it has plenty of spare pins to control the digital pots.
The waitingforfriday site has the software for the PC end and the PIC end.
I just added commands to control the mixer from the pc.
I used slider controls on the pc to set the levels on the USB mixer.

I think there were two projects on the website a C++ and a C# pc program.
The C++ one was a bit unstable so I used the C# one which was much better.

The website gives a circuit diagram for the basic USB system. I just added to it for the mixer. I was using quite a bit of power so I used an external power supply and disconnected the VCC connection to the USB bus.
 
Just been looking through my software and circuit diagrams.
The software is quite complex to get into.
You need to know where to add in commands at the pc end.
Then you need to detect those commands in the PIC software.

I did have problems with the circuit to start with, the digital pots analogue side needs to be biased around 2v5 to stop distortion.
I made a right mess of the pcb as I hadn't star grounded it right.
The charging impulses into the smoothing capacitors were modulating the ground line. This caused 1 volt of hum on the audio out with audio inputs shorted !
I redid the pcb with the power supply separate and that fixed things.
 
For the record, after listening to the comments in this thread, and asking some other people in the field, we've decided to try out the DSP Mixing for Live Audio.

We've chosen the PIC32MZ1024EFH100T-I/PF - MCU/DSP (6xI2S, DSP, USB 2.0 HS) chip because of the familiarity with the PIC family of chips. But I'm still (before printing the board) checking to see if we have all the right development tools we will need!

The ADC will have a selectable FIR or IIS. We plan on using the IIS as it should be lower latency.

Is there anything specific about the DAC we need to know to speed it up?

Thanks for all the help everyone! We're excited about the project!
 
Last edited:
Hi Dan, lol... what do you mean? I'm unfamiliar with your analogy.

I'm wondering if the pic32mz is a good choice for audio DSP processing in terms of development. It seems like some of the Analog Devices and TI chips have some graphic development studios to help out.

Other than that it has everything the project needs! 5 i2c busses and plenty of power. From what I an tell.

Jay
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.