The Arduino AnalogRead(pin) function is simple to use, but can’t be called faster than about 10 kHz. Audio needs sample rates closer to 40 kHz.
This post will be a notepad of resources and notes related to high speed analog input on Arduino.
Analog Read Library Performance Comparison
Arduino Analog Read – 10kHz
AVDWeb AnalogReadFast – ___ kHz
Manually Adjusting Prescaler – 1 MHz