Detectar distorsión de audio arduino

Buenas, estoy haciendo un altavoz inteligente con un ESP y me gustaría saber que maneras se os ocurren de detectar distorsión de audio dentro del altavoz.

Lo he montado con un barómetro y un micrófono a fin de poder reducir el volumen a aquellas canciones que hagan que el altavoz suene mal, permitiendo el máximo volumen en otras.

Decir que el amplificador me permite regular, bajos y agudos y volumen global. Para esto he reemplazado los potencio metros que trae por un Led encapsulado con un LDR de 10K, por lo que tengo 1024 valores de resistencia.

Creéis que la mejor idea es analizar el espectro con el micrófono y y regular bajos y agudos en función de los picos en la derecha(agudos) o en la izquierda(bajos)

Acepto ideas.