GBA Audio Data

I decided to research the GBA’s m4a engine, and particularly how the GBA stores / plays audio. The mp3 songs you might listen to take up multiple megabytes even for one or two minutes of play time, while a GBA ROM can only store 2MB of data total. A highly efficient way of storing song data was used, similar to the MIDI format. Programs to export sound already exist (like agbplay or the agb2mid tool from various decompilation projects), but documentation is sparse and incomplete. I decided to write my own GBA audio extractor for the learning experience.