This is great. Missed opportunity for a low-pass RC filter on the speaker circuit - if you know you're driving an 8kHz sample rate, you can design your filter with that cutoff, and it'll sound way better (it'll get rid of the buzzy quality).

This may be essential if you're connecting it to an audio amplifier. I learned this the hard way by burning out someone else's very expensive tweeters with 31.25kHz PWM.