It would be interesting to explore a few ideas that came during the development:
1- Verify if a higher resolution (16-bit samples) can be supported given the limited buffer space available (without cheats such as assuming linear FAT clusters allocation etc.)
2- Experiment with SD card "read multiple" command to request entire clusters at once and/or issuing asynchronous read commands (request a read of the next sector before the current buffer is emptied)
3- Test a Class D amplifier topology using the device many analog and digital CIP (core independent peripherals) to improve sound quality and S/N ratio in particular.
4- Test using the NCO to perform freq. shifts, changing sound pitch and other similar effects... (see experiments performed in the PICSPEAK project)