Most of the sound quality loss is the fault of the GBA hardware itself, not the actual sound patches used in the ports.
Yes, the fact the GBA outputs 8-bit quality makes the overal sound output low quality. Also on the hardware a low-end D class amplifier is used and a loudspeaker with a reduced bandwith, which is probably why they took the choice to have so fuzzy instruments, so that you hear them through GBA's small BW highspeaker.
Other GBA games such as Golden Sun took the path to make the music sounds good "as-it" no matter what, and you'll be missing all basslines if you play without using headphones (or an emulator). My hacks will also fall in this cathegory.
Now a direct question for Bregalad if i may, a hypothetical one as i'm not knowledgeable in this matter- could sound restoration similar to this and FF6 theoretically be done to any of the SNES ports on GBA?
Absolutely, if the use the "sappy" sound engine I already know how, and I released a doccument about this engine on RHDN, and if a game use another engine it's probably possible too but it would just be harder as you'd need to reverse engineer the sound engine the game uses.
Bregalad's hacks are quite amazing, they are as close to the original SNES versions as you can imagine on GBA.
Technically something way closer could be achievable by scrapping the "sappy" sound engine completely and make something that completely simulate the sound of the SPC instead. However it would be way more complex to make it as a hack.
Some differences between GBA's sappy engine and the SPC :
- 8-bit sound output (this is a hardware limitation and we can't overcome this), SPC has 15-bit output
- Echo algorithm is way simpler than SPC's, it just uses the sound buffer as an echo buffer, so all channels always have echo enabled.
- The sampling rate is limited because of CPU time consumption.
- Samples uses linear interpolation, while SNES uses Gaussian interpolation
- I'm pretty sure the mixing quality of the sappy's engine is quite low and could be improved, even considering the 8-bit output, by making all internal calculations in more bits and convert it to 8-bits just before the output.