gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Audio > No bass through internal speaker

#1223 - tepples - Wed Jan 15, 2003 7:56 pm

The GBA's tiny internal speaker drastically cuts the relative power of frequencies lower than about 500 Hz. Thus, there's NO BASS response on the GBA unless the player uses headphones. What tricks do composers use to circumvent this lack of bass?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#1226 - Splam - Wed Jan 15, 2003 8:44 pm

Not sure there IS anything you can do, if the freqencies aren't produced then you won't hear them. I've begged people in the readme to my sidplayer to use headphones becuase the sound from the speaker is SO bad. Maybe for sample playback there might be something you could do but I really can't think of anything.

If any composers DO know of any tricks I'd like to hear about them too :) I can think of a couple of things but I wouldn't want to mention them until I'd tested them as they're only theoretical.

#1237 - snug - Wed Jan 15, 2003 9:58 pm

There is no magic trick that will allow low frequencies to be heard on a speaker with a small frequency range. However, using a bass sample/ patch with abundant mid-range frequencies will certainly ensure that the bass can be heard on any just about anything.

#1242 - Vortex - Wed Jan 15, 2003 10:25 pm

The trick used in professional sound studios is called psychoacoustic processing. First the sound is very heavily compressed (i.e. the dynamic range is reduced) and also most of the sound processors use subharmonic synthesis.

To answer the original question - if you want to reproduce a sound wave with a frequency of let's say 500Hz but your speaker has a very limited range, you may want to use higher harmonic frequencies instead - i.e. for 500Hz you can use f1=1000Hz, f2=2000Hz, etc. If you mix these harmonics using proper values (new_wave = a * f1 + b * f2 + .... + z * fN ) the fact the basic frequency is missing can be diminished.

Let me know if you need more information about that.

#1310 - snug - Thu Jan 16, 2003 5:53 pm

... in other words, "add more mid-range frequencies" :P

#1341 - Vortex - Thu Jan 16, 2003 9:18 pm

snug wrote:
... in other words, "add more mid-range frequencies" :P


Not exactly - do to it right you will need to analyze the spectrum of the signal. Then, removing the base harmonic (frequency) and boost selected harmonics you need to have a spectrum which is very similar to the original one. In the same time you need to keep the energy of the resulting signal close to the energy of the original signal. If you just add more mid-range you will distort the signal and the results will be very bad.

#1353 - tepples - Thu Jan 16, 2003 11:41 pm

Vortex wrote:
you will need to analyze the spectrum of the signal. Then, removing the base harmonic (frequency) and boost selected harmonics you need to have a spectrum which is very similar to the original one.

Can this be precomputed separately for each sample? Or does it need to be done on the final mix? Can you provide links to web pages explaining the technique?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#1356 - Vortex - Fri Jan 17, 2003 12:01 am

Quote:
Can this be precomputed separately for each sample?


Yes, since the spectral character of each sample is different you need to do it for each one. The question is - do you want to do that in realtime or just precalculate the spectrum/prefilter the samples ?

Quote:
Or does it need to be done on the final mix?


No. If you want do smooth the output you can apply a filter, but a full FFT is not required.

Quote:
Can you provide links to web pages explaining the technique?


The best free DSP resource IMHO is http://www.dspguide.com/. I will try to find a more specific example in my books.

The described method is more a sound mixing technique, so you may want to check some of the home-recording web-sites (www.home-recording.com for example).

#1684 - snug - Tue Jan 21, 2003 4:19 pm

Vortex wrote:
snug wrote:
... in other words, "add more mid-range frequencies" :P


Not exactly - do to it right you will need to analyze the spectrum of the signal. Then, removing the base harmonic (frequency) and boost selected harmonics you need to have a spectrum which is very similar to the original one. In the same time you need to keep the energy of the resulting signal close to the energy of the original signal. If you just add more mid-range you will distort the signal and the results will be very bad.


You misunderstand. My suggestion is to add additional mid-range in the sound design stage, not the processing stage. This will only work for those who design their own sounds.

#1688 - Vortex - Tue Jan 21, 2003 4:35 pm

snug wrote:
Vortex wrote:
snug wrote:
... in other words, "add more mid-range frequencies" :P


Not exactly - do to it right you will need to analyze the spectrum of the signal. Then, removing the base harmonic (frequency) and boost selected harmonics you need to have a spectrum which is very similar to the original one. In the same time you need to keep the energy of the resulting signal close to the energy of the original signal. If you just add more mid-range you will distort the signal and the results will be very bad.


You misunderstand. My suggestion is to add additional mid-range in the sound design stage, not the processing stage. This will only work for those who design their own sounds.


You are right - if you design your own sounds there is no need to do complicated realtime stuff - you can compensate everything at that stage. One more question - do you have any information about the frequency response of the build-in speaker ?

Thanks

#1704 - tepples - Tue Jan 21, 2003 8:13 pm

Vortex wrote:
One more question - do you have any information about the frequency response of the build-in speaker ?

In Cool Edit Pro, I was able to approximate the speaker's response with a three-pole Butterworth high-pass filter with half-power frequency 800 Hz.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.