Why was the GBA sound so poor?

Discussion of development of software for any "obsolete" computer or video game system.
Post Reply
User avatar
Marscaleb
Posts: 182
Joined: Fri Sep 11, 2015 10:39 am
Contact:

Why was the GBA sound so poor?

Post by Marscaleb » Sat Jan 11, 2020 3:54 pm

Why was all the music (and sound in general) so poor on the GBA? I don't know the correct terms, but the sound just had a really low fidelity, like everything was playing with a mild static sound pasted over it.

Now I understand that part of this is just because - as a portable console - most of the games for the system were budget titles to begin with, so a lot of games didn't put much extra effort into their sound design. But even first-party titles still have low fidelity and have that staticy-muffled quality to them.
They sound like they are using low-quality samples, really low resolution or overly-compressed audio. But yet, the SNES has even tighter sound restrictions, and it still sounds clear.

lidnariq
Posts: 8902
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Why was the GBA sound so poor?

Post by lidnariq » Sat Jan 11, 2020 4:18 pm

There's two major factors behind GBA sound quality.

1- The output channel is only stereo 8 bit DACs, at 32768Hz. (pedantically: 9 bits for left and right, of which 8 bits comes from the "DAC" channel)
(There are various controls here, but this gives the best bit depth, at the cost of some sounds of aliasing in the pulse channels). When we first switched from 8-bit soundcards to 16-bit soundcards, I remember talking about the 8-bit "ring" that was quantization error.

(This can be worked around with some noise shaping, but that plays into factor #2)

2- The GBA has no meaningful coprocessors. Unlike the SNES's APU, and almost every other newer console, there's no ability to farm out sound to something else to handle mixing - it all has to be done by the 17MHz ARM CPU. Cutting a little into sound quality to avoid slowdown was often deemed worthwhile. (See this decade-old thread about hacking existing ripped soundtracks to use more of the emulated CPU time)

2b- Most, but not all games, just used a prepackaged softsynth with mediocre samples, playing back something that was more-or-less MIDI. By not composing the song directly for the capabilities of the hardware, the subsequent mechanical adaptation of the score degrades the experience.

Pokun
Posts: 1307
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Why was the GBA sound so poor?

Post by Pokun » Sat Jan 11, 2020 5:09 pm

So it pretty much all boils down to the fact that it is an early adaption of "DAC channel" sample sound, as opposed to synthetic sound that had been used so much in game systems up to this point.
Just like pioneering 2D video looked crude, pioneering 3D video looked crude, pioneering synthetic sound sounded crude likewise does pioneering DAC sample sound sound crude.

Wonderswan is another example and is also very disliked for its sound. Unlike the GBA, it doesn't have the excellent Game Boy APU to compensate for it either.

Now SNES is an exception to this because while it is pioneering in sample based sound, and it does sound quite muffled, it doesn't gets nearly as much criticism as GBA and Wonderswan do. Most agree that is sounds very well, and the muffled sound rather gives it character, just like synthetic sound generators has character.

Speaking of character, it's kind of ironic that ever since DAC sample sound has become good enough to sound however you want them to, the sound in game systems no longer really have character. I guess that goes for video and other aspects of a game system as well. On modern systems you can basically do whatever you want as Hideo Kojima said in some old interview, I think. OK I'll stop ranting now.

User avatar
tokumaru
Posts: 11495
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why was the GBA sound so poor?

Post by tokumaru » Sat Jan 11, 2020 5:44 pm

Pokun wrote:
Sat Jan 11, 2020 5:09 pm
ever since DAC sample sound has become good enough to sound however you want them to, the sound in game systems no longer really have character. I guess that goes for video and other aspects of a game system as well. On modern systems you can basically do whatever you want
Maybe that's the reason I have zero interest in today's consoles, and to a certain extent, today's games.

User avatar
Marscaleb
Posts: 182
Joined: Fri Sep 11, 2015 10:39 am
Contact:

Re: Why was the GBA sound so poor?

Post by Marscaleb » Sat Jan 11, 2020 9:44 pm

lidnariq wrote:
Sat Jan 11, 2020 4:18 pm
2- The GBA has no meaningful coprocessors. Unlike the SNES's APU, and almost every other newer console, there's no ability to farm out sound to something else to handle mixing - it all has to be done by the 17MHz ARM CPU. Cutting a little into sound quality to avoid slowdown was often deemed worthwhile. (See this decade-old thread about hacking existing ripped soundtracks to use more of the emulated CPU time)
I had hear something about it having to handle the sound on the main CPU, but this never made sense to me; I couldn't believe it.
Having to handle the mixing on the CPU though, that sounds believable.
lidnariq wrote:
Sat Jan 11, 2020 4:18 pm
2b- Most, but not all games, just used a prepackaged softsynth with mediocre samples, playing back something that was more-or-less MIDI. By not composing the song directly for the capabilities of the hardware, the subsequent mechanical adaptation of the score degrades the experience.
It makes me wonder, would they have sounded better if they had dug up the samples that were used for SNES games?
tokumaru wrote:
Sat Jan 11, 2020 5:44 pm
Pokun wrote:
Sat Jan 11, 2020 5:09 pm
ever since DAC sample sound has become good enough to sound however you want them to, the sound in game systems no longer really have character. I guess that goes for video and other aspects of a game system as well. On modern systems you can basically do whatever you want
Maybe that's the reason I have zero interest in today's consoles, and to a certain extent, today's games.
I feel like systems have grown too complicated. You can claim that you can "make whatever you want" but in truth its harder than ever to make anything. You need more people expert in handling complex systems.
the further I get into game development, the more I am bothered by there being anything within the process that I can't grasp. These older systems made sense; as one person I could actually follow the entire process.

lidnariq
Posts: 8902
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Why was the GBA sound so poor?

Post by lidnariq » Sat Jan 11, 2020 10:38 pm

Marscaleb wrote:
Sat Jan 11, 2020 9:44 pm
I had hear something about it having to handle the sound on the main CPU, but this never made sense to me; I couldn't believe it.
Having to handle the mixing on the CPU though, that sounds believable.
What's the distinction you're making there?

The N64 also had no dedicated audio hardware, just a higher-quality DAC. And an actual meaningful choice of playback rates (4 times the pixel clock divided by any integer in the range of 132 to 16383)...
It makes me wonder, would they have sounded better if they had dug up the samples that were used for SNES games?
In my opinion? No, not really. The mediocre samples don't help, but running the soft synth at a faster sample rate, or magic-ing in a greater-depth DAC is a much bigger effect.

User avatar
Bregalad
Posts: 7780
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: Why was the GBA sound so poor?

Post by Bregalad » Sun Jan 12, 2020 11:06 am

Marscaleb wrote:
Sat Jan 11, 2020 3:54 pm
Why was all the music (and sound in general) so poor on the GBA?
OK I'll answer in detail but first of all I have to disagree that music and sound in general is poor on the GBA !! There's many GBA games with amazing music, some of them makes amazing use of the hardware. Take the Fire Emblem trilogy for example, their soundtrack are absolute killers. Sword of Mana has great remixes that are great improvemens over the GameBoy original game (Final Fantasy Adventure). Castlevania - Aria of Sorrow have an absolute killer soundtrack which is by itself a reason enough to play the game. And the Mega Man Battle Network series uses mostly GBC sound, but uses it in a very elegant way in order to make great GBA music.

I don't know the correct terms, but the sound just had a really low fidelity, like everything was playing with a mild static sound pasted over it.
Now I understand that part of this is just because - as a portable console - most of the games for the system were budget titles to begin with, so a lot of games didn't put much extra effort into their sound design. But even first-party titles still have low fidelity and have that staticy-muffled quality to them.
Seems like you answered your own quesiton. Also, the loudspeaker on the GBA itself is small and the DAC is of poor quality. So even if the games made great effort to mix the directsound channels with higher sampling rate and in stereo, this would be barely audible with a raw GBA hardware. It'd be only audible with headphones. And even with headphones the sound hardware itself creates some aliasing.

This created conditions where developers were enocouraged to use low quality sound mixer (mono, low samplerate or both) to save CPU time, and as such battery usage, because few people would notice on real hardware if they invested time to develop higher qulity audio.
They sound like they are using low-quality samples, really low resolution or overly-compressed audio. But yet, the SNES has even tighter sound restrictions, and it still sounds clear.
This largely depends on the game, on both systems. SNES has amazing quality (for it's time) reverb, which certainly helps. Such reverb is technically do-able on GBA, but it requires a lot of memory.
Also on both systems emulators will sound "better" than real hardware. On SNES, the real hardware produced a muffled, low-pass filtered sound. Most emus or sound players will be parametred to produce higher quality sound. On GBA, the real hardware directsound is noisy and aliased. Only the PSG sound is better on a real GBA than on emulators, but that's just because for whathever reasons the emus never bothered to emulate the PSG accurately (unlike the NES).
It makes me wonder, would they have sounded better if they had dug up the samples that were used for SNES games?
The philosophy of both systems is really different, which was part of the difficulty to restore SNES music in the GBA Final Fantasy games.
The SNES is still impregned with the philosophy of PSG-era systems, so hardware samples are short, takes few place in memory but tends to be heavily modified/affected before being used by music. The music engine will apply ADSR enveloppe and heavy pitch effects to samples and will re-use the same samples across the whole game.

The GBA on the other hand will play back samples "as-is" with few effects. Even if there is effects, they are applied at only 60Hz resolution which is not fast enough to make the samples un-recognizable. Hoever games are much larger and typically have more, longer samples, and don't always re-use samples across musical pieces. They definitely rarely re-use musical samples to create sound effects, something which is often done on the SNES.

turboxray
Posts: 49
Joined: Thu Oct 31, 2019 12:56 am

Re: Why was the GBA sound so poor?

Post by turboxray » Sun Jan 12, 2020 8:50 pm

Bregalad wrote:
Sun Jan 12, 2020 11:06 am
<cool stuffs>
I thought I remembered you posted GBA sound engine info, and upgrading some of the ones used in games? Do you have a doc or such for all that related work?

User avatar
Bregalad
Posts: 7780
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: Why was the GBA sound so poor?

Post by Bregalad » Mon Jan 13, 2020 12:50 am

turboxray wrote:
Sun Jan 12, 2020 8:50 pm
Bregalad wrote:
Sun Jan 12, 2020 11:06 am
<cool stuffs>
I thought I remembered you posted GBA sound engine info, and upgrading some of the ones used in games? Do you have a doc or such for all that related work?
The doccument you're looking for is here. http://www.romhacking.net/documents/462/

Although I should probably update it for it to be more understandable.

kuja killer
Posts: 98
Joined: Mon May 25, 2009 2:20 pm

Re: Why was the GBA sound so poor?

Post by kuja killer » Mon Jan 13, 2020 10:46 am

this prob will sound silly, sorry. :( I always personally hated how the Sonic Advance games sounded. I always thought it felt like it was making just nonstop farting noises/sound. Especially the first sonic game (sonic advance 1) ..

i dont know how to say it really but one of the sound channels is extremely low-pitched on literally every single song...and thats the one that sounds like farts. :( Was just disgusting and gross to listen to, playing the game.

tepples
Posts: 21802
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Why was the GBA sound so poor?

Post by tepples » Mon Jan 13, 2020 11:05 am

On a machine whose internal speaker has an 800 Hz high-pass, it's tough to make a bass sound that doesn't get completely filtered out while not sounding like flatulence.

turboxray
Posts: 49
Joined: Thu Oct 31, 2019 12:56 am

Re: Why was the GBA sound so poor?

Post by turboxray » Tue Jan 14, 2020 7:18 pm

tepples wrote:
Mon Jan 13, 2020 11:05 am
On a machine whose internal speaker has an 800 Hz high-pass, it's tough to make a bass sound that doesn't get completely filtered out while not sounding like flatulence.
I mean there is earphone jack. Do you think developers, or rather musicians, might have just prioritized sound for the speaker over earphones? Else, they could have put a filter on the output to the earphone?

User avatar
Bregalad
Posts: 7780
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: Why was the GBA sound so poor?

Post by Bregalad » Wed Jan 15, 2020 1:08 am

turboxray wrote:
Tue Jan 14, 2020 7:18 pm
I mean there is earphone jack. Do you think developers, or rather musicians, might have just prioritized sound for the speaker over earphones? Else, they could have put a filter on the output to the earphone?
No, the software has no way to know whether the hardware earphone jack is used or not. Also this wouldn't affect GBC sound.

Post Reply