Awesome! Thank you for the detailed answer. Just because I am stubborn..... Isn't there a way I can simulate this in software?
Sure... But, you need more processing power to capture and process that much data. And if you want to take an average, you need to store lots of data. (A PC can handle it.)
The basic idea of the peak detector is that your software can run at a slow rate... Just fast enough to follow the volume "envelope" without following the actual audio waveform details... Your brain probably can't comprehend more than 10 readings/changes per second anyway. Any faster and it's just a flickering blurr... If you had a numerical display (rather than a bar-graph) 4 readings per second would probably be too fast to be useful. (If your digital speedometer updated 4 times per second, it would drive you nuts!)
If you want to capture the actual waveform, digital audio is sampled thousands of times per second. To capture the full audio range (up to about 20kHz) you need at least 40,000 samples per second (Nyquist theory). CDs are sampled at 44.1kHz. You've got 10 channels, so you'd need to capture 10 times as much total data. If you want to calculate a 1-second moving average for 10 channels, you need to store almost 1/2 Megabyte of data!!!! (EDIT - Actually more than that, since each sample is 10 bits.)
There are some tricks you can use to reduce the data storage, such as taking a 1/10th-second moving-average, and then calculating an average-of-averages to smooth-out the data over a longer period of time. But still, you are dealing with a ship-load of data coming at you very-fast.
...one of the unknowns for me is what the sample rate is working out to while my routine is running.
I'm not sure either. There is some maximum sample rate (which I don't know), and it also depends on how long it takes your sketch to process the data and get back-around to handling another sample.
P.S
The spec sheet says:
• Up to 76.9kSPS (Up to 15kSPS at Maximum Resolution)
So.. You can go faster that than the CD rate of 44,100 samples per second, but only 15,000 samples per second if you want the full 10-bit accuracy/resolution. And, your program still has run fast-enough to keep-up with rate you are trying to sample.