both reading and writing analog data is going to be more than a single instruction,
I wasn't thinking about that. Would the incoming audio have to be written into some kind of buffer and then read back out? I sort of think of audio as just acting like an analogRead on a knob that's turning very very fast
But I guess it's probably much more complicated than that.
I wouldn't say that it's MUCH more complicated than that, but have you looked at the code underneath "analogRead" to get an idea of its complexity? Typically you tweak a bit to start a conversion, wait for the conversion to finish, read the data, and then set a timer for the next time you want to sample the input. If you have an external converter, this probably happens over some sort of communications channel that may require additional bit-twiddling to talk to. None of it is really "hard", but it all takes instructions, and the whole process is "hard" real-time; start taking a little bit too long SOME of the time and the results will suck.