So, in short, I have a piece of code that: 1. Grabs x amount of floats from an audio clip, 2. Loops through all values and applies an absolute value to them, 3. And finds the average using Array.Average(). This works perfectly, however it is brutally inefficient, and the vast majority of inefficiency is cause by the for loop. Is there a way, using LINQ or other, to more efficiently to get an average with all values being positive? I appreciate any help, I haven't really learned how to use LINQ yet. Also, I am grabbing almost 1000 samples per frame, however I do need to get samples from around 0.1 seconds of audio @ 16K Thanks.