XMid plays MIDI files. It’s available for Gameboy Advance and Nintendo DS.

Specs:

-16 note polyphony (on both GBA and DS)
-Assembler optimized sound mixing (GBA only)
-Assembler written sound code (GBA/DS)
-GBA: ~5KB EWRAM, ~2KB IWRAM
-DS: ~0.7KB ARM7 RAM, ~3KB main RAM
-Four music players, to allow special effect ‘songs’
-No timers used on DS (timer 0 used on GBA)

http://forum.gbadev.org/viewtopic.php?t=16855