Sampling audio with interrupt

A 100us delay in an interrupt routine doesn't seem a great idea to me.
Break up analogRead into its components.

You don't exchange any data - it's global.