I just hacked the read() syscall to recognize when the player is reading music files, and have it break the 64KB reads into smaller chunks, with a short scheduler delay() call between chunks. Changing the thread priority would be another approach, but the 64KB chunk size is still too large for that approach to work as well as how it's now done.

Cheers