[Galaxy S I9000 Android Development] supercurio:
Important note:

This thread with first post is kept here for archive, but it's mostly irrelevant now since JM1 firmwares for Eclair, and also Froyo releases.

Hello dear music listeners and headphones users.

If you don't want to go through the topic, Here is the fix :

Now here is the original message :

_______________________________________________

The Galaxy S is a top-notch mobile audio hardware, but Samsung is currently destroying it when you plug a headphone.

A friend of mine and myself have immediately noticed that the frequency response is just not "right"

Very disappointed by what I heard, i've scratched the surface and here's what I found :

When you plug the 3.5mm jack out to a line-level device (ex : sound card line-in, hi-fi amplifier)

- Line out frequency response is perfectly flat. It can be called extremely accurate for a mobile device.

GSMArena review (plugged to a 20kOhms impedance line-in) confirm this excellent result

- Output level is standardized for line-out output.

When you plug the 3.5mm jack out to a headphone device (any headphone)

- Headphone frequency response is modified.

My ears would say approx :

+6db from 35 to 200hz

-2db for 500hz to 5khz

+6db from 10khz to 12khz

+3db from 12 to 16khz

The result sounds like a strong loudness filter.

And you can say good bye to most of voice definition, instrument musicality, sound stage, stereo image and... listening pleasure :(

- Sound level is lowered in recent firmwares (not in stock JF3). I guess this is because i'm in France, and there is a law here to limit maximum sound level.

There is a side effect : this limit is done by lowering the analog level of the DAC output.

Great news is that for every in-ear isolating headphone like me, the noise level is much reduced compared to JF3 :)

How to correct this stupid setting

If you're like me, you can't stand using such a good hardware crippled by such a dumb configuration.

If you want to get immediately a sort of fix, you can enable the "Pop" equalizer in music player.

It applies an equalizer that boost mid frequency and helps fighting the dumb loudness-style equalizer.

This is not a real solution because

- Pop equalizer reduce too much bass and high frequencies

- Pop equalizer comes with a dynamic compression, that will alter sound volume too, depending on the music played.

- It works only in the samsung mp3 player

This equalizer can be disabled by some settings in Service Mode !

Yesterday I stay up very late to find the appropriate settings in Service Mode.

And guess what, i found how to disable this stupid equalizer, and was so happy :D

Audio response was accurate... really, fantastic result !

But knowing that (most?) servicemode settings don't survive reboot, I did so.

Too bad, sad EQ was back after reboot, and the modification applied did not work any more.

I guess I changed so many (a bit random) audio parameters that i eventually found the good combination. I don't find it again, that's why I call you for help ;)

Here is where the settings changed the sound (realtime) :

Go to Service Mode *#*#197328640#*#*

[5] AUDIO
[2] HEADSET
[9] Diamond Solution
[6]1Mic TX(OFF)
[2]Fir_Coeff Table

Here is what we found here :

(fir is for Finite-Impulse Response = equalizer parameters)

- Headset Diamond Solution1Mic
[1]fir_coreff 0 : 0xffff49
[2]fir_coreff 0 : 0xfffce6
[3]fir_coreff 0 : 0xfffab3
[4]fir_coreff 0 : 0xfffccb
[5]fir_coreff 0 : 0xfff0e9
[6]fir_coreff 0 : 0xffffc7
[7]fir_coreff 0 : 0x3e4a

As blurry as I remember (again, it was so late, not 100% sure :D) I put all these to 0, and headphone equalizer was gone.

But... i must have changed some other parameter, anywhere in the [5]Audio settings.

I'll try to find again the good settings, but any help is very welcome !

After finding the appropriate settings, you can count on me to find how to apply these settings permanently (surviving reboots)

Have a nice hunting :eek: