Hello,
Professional live audio requires a very low latency. If a designer were to take precaution selecting the correct MCU/ADC/DAC chips for the product, is it safe to say that this technology can be used in a Professional Live Audio environment? The time from Voice/Instrument to Speaker must be very fast.
The product we are looking to create requires simple "Mixing" of 4 analog channels with 1 USB Audio channel. So it will have 4 ADC channels and a USB Audio channel mixed and sent out to the DSP. If we can do some processing while maintaining an acceptable latency for live audio that's a plus but not required per se.
The target hardware will be the SMT32F7, and I plan on doing tests using the Discovery Boards. But I just wanted to get a "good to go" confirmation from someone before I start purchasing the hardware. Thanks for your help!
Jay
3:42pm
Hi Jay,
4 channel mixing is definitely possible. Latency is somewhat dependent on your intended sampling rate. XMOS has a fantastic resource on the USB 2.0 Audio Device standard here: http://www.xmos.com/news/articles/17888
As far as latency incurred inside of Audio Weaver, the minimum latency is twice your block size chosen in your design. Typically, block size used is 32 samples per buffer, so a minimum latency of 64 samples is the latency incurred. M7 has a clock speed of 216 MHz. Depending on if you want to run 48k sampling rate or 96k sampling rate, the minimum Audio Weaver latency will be 64/96000 = .67ms to 64/48000 = 1.3 ms. Troublesome system latency will usually occur at some other point in the system. If you are okay with .67 -1.3 ms latency overhead, then I'd call this one "good to go."
-Phil
4:09pm
Hi Phil,
Thanks for the detailed explanation.
The article you linked to does have some very interesting details on the USB audio side of things. I will give it a full read. However, no audio data will go through the USB Audio path besides the music. The music can have a delay. We intend to send USB audio down to the DSP and directly into the mix. I'm hoping to just use the existing audio weaver code for the USBAUDIO->DSP->DAC...
The microphones will only get sampled and sent to the mix. ADC->DSP->DAC. This is where the question lies.
44.1 KHz/16 bit is the minimum. But we would love to get 96 kHz/24 bit, expecially if it would also have the benefit of being a lower latency!
I can't find the article I read referencing this. But I remember reading that from 3ms to 8ms is an acceptable amount of latency for voice/instruments. So as long as the ADC stays under 3ms (preferably less than 1.5ms) then we should be well under the level of concern.
I'll order a discovery board to test it.
The STM32H7 microcontrollers have 400mhz and 856 DMIPS... So that's also something to look forward to...
Jay
8:19am
I want to just say that I've tested the discovery board STM32F746 Discovery (Cortex M7). I hooked up an input to the line input and tested it to see if there were any delays. I can confirm that the delays experienced are much less than the required latency for live pro audio. So i would say we are "good to go".