A simple way to don’t raise memory size of your MCU and doing compression/decompression of audio is using an external module to process it. With te SOMO-14D module you could do the work.
This tiny audio module can play wav or mp3 files stored in the SD Card up to 512 files of audio in AD4 format (ADPCM). For general purposes i constructed a terminal interface with my nucleo mbed board. With this i can play, pause, stop, resume, set the volume or go to any audio file (if exists) that is on the main module.
On the other hand, on the mbed repository you could get libraries almost non-dependable hardware and easy adaptation to any other microcontroller board.