If the CD player had a 1 bit DAC.
I’ve used RB’s audio reading from EEPROM fine in projects, the slow down is processing incoming audio as well.
I’ll wait for a faster crystal to continue, but might be better off measuring the width of an audio wave rather than counting zero crossings,
so then there is more time to do something with the data.

HPWM command is a bit crook as well trying to update it fast. I’m sure it has to figure out,
and write all four registers associated with HPWM each time it’s called.
I got it smoother by limiting the frequency range and only altering the PR2 value.
Still I don’t think it can be saved to EEPROM, even if interleaved to avoid the 10ms wait.

I have so far kind of a voice controlled PWM, some fun could be had there, so I’ll look at making that faster.