[REF] Was: Headphones sound quality fix and improvements for Galaxy S (obsolete now)

Search This thread

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
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 :

Run the Service Mode app by typing *#*#197328640#*#* like a telephone number.

New and easier : install and run the free SamServMode app !
by gilsken, available in market. big thanks :)


Now choose :
Code:
[5] AUDIO
>[2] HEADSET
 >[9] Diamond Solution
  >[6]1Mic TX(OFF)
   >[1]1Mic TX OnOff : OFF

Click the [1]1Mic TX OnOff : OFF line.
Use the menu capacitive button, and select "Key Input"
Enter the value 1

Now go to
Code:
[2]Fir_Coeff Table
Set the value 0 to fir_coeff 0, 1, 2, 3, 4, 5 and 6
(fir_coeff values will appear as 0x0 one validated)

That's all, now enjoy :D

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#*#*

Code:
[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)
Code:
- 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:
 
Last edited:

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Sound very strange ... i tested the output with my grados and can not differ it from from sgs via aux... But i will check more. Great work tho :)

Yeah I agree that's strange, and... a very bad idea by Samsung.
I was accustomed to very good the iPhone 3Gs headphone output (used with surprisingly good and cheap SoundMagic PL50).

The first music I listened with the SGS i got the feeling "Ok, this is different, i'll probably get used to. 3Gs may not have been so accurate".
But after 2 days i could not get accustomed, so i checked :

PC sound card, Netbook sound card, cheap Galaxy Spica sound approximately the same (minus noise, distortion and some poor infra-bass response on netbook and Galaxy Spica)

Only device with a loudness sound signature, poor mediums : Galaxy S

The fact that a friend got the same feeling (without knowing mine) confirmed that this wasn't just a feeling ^^
I guess we could measure the response with a Y jack doubler.
1 connector plugged on headphones, the other to a computed line-in running RMAA.
 

tra33372

Senior Member
Apr 9, 2008
115
4
Bangkok
Does the SGS's audio chip could compete with the one in iPod touch?

Coz I compared the output from the same headphone and the same song file.
Then I noticed the huge difference in sound quality btw hose two devices (I tried all EQ in SGS but the output isn't quite good).

It's great to hear that there still has the way to improve the SGS's output quality.
:):):)
 
May 6, 2008
20
0
Thanks for info , i will try this settings.
If this is true , Gsmarena are not doing weel this measuremens , to analyce sound quality (especially frequency response)
in headphone out (usually handheld device DACs, have diferent Pinage for line out and headphones and
lineout is not used) you must put a load (tipically 16-32 Ohms)or better a headphones in parallel with sound card line in.
I dont know how samsung can manage to swith between line and headphone out by software (is possible but very strange).
PD: i saw a wolsfon chip in dissasemblig pictures (wolfson or Diamond DAC ? ).
 
Last edited:

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Does the SGS's audio chip could compete with the one in iPod touch?

Coz I compared the output from the same headphone and the same song file.
Then I noticed the huge difference in sound quality btw hose two devices (I tried all EQ in SGS but the output isn't quite good).

Hello tra !
Sure, SGS's audio hardware can definitely compete with iPod touch & iPhones sound quality.
I'm found of the iPhone 3Gs SQ, but sold mine to get the SGS.

I've just checked right now the line out quality with RMAA to confirm GSMArena tests. I confirm the accuracy of the SGS Review results.

It's great to hear that there still has the way to improve the SGS's output quality.
:):):)

Yeah i'm pretty conviced that what you heard was the bad EQ added by Samsung, maybe adequate for very low end headphones but a reall mess for every other good equipment.

I listened to some music after finding the service mode parameters and SQ was really fantastic, as good as I remembered with my previous iPhone 3Gs.

Wide but tight bass response, clear mids, precise highs, you know... everything.


Thanks for info , i will try this settings.
Cool pepitodequetequejas !
As i said, the settings i gave are not enough
This is where we can modify this EQ, but some other unknown parameters in the Audio menu are required.

If this is true , Gsmarena are not doing weel this measuremens , to analyce sound quality (especially frequency response)
in headphone out (usually handheld device DACs, have diferent Pinage for line out and headphones and
lineout is not used) you must put a load (tipically 16-32 Ohms)or better a headphones in parallel with sound card line in.
I dont know how samsung can manage to swith between line and headphone out by software (is possible but very strange).

I agree.

But for now, GSMArena analysis is the best we get for most phones, even if it only measure the quality of the "line out", and not "headphone out"

PD: i saw a wolsfon chip in dissasemblig pictures (wolfson or Diamond DAC ? ).

Do you think that the Samsung Galaxy S includes a Diamond DAC ?
I did not know Diamond was a Dac brand.

I read somewhere that it may use a Cirrus DAC, but based on Service Mode menus you probably just made a very good guess ;)

And that's definitely the right place to look in settings, thank you !
 

robert_tlse

Member
Jul 21, 2010
24
0
Toulouse
I find that equalizer set to classic and effects to either wide or clarity, work best for me.

(Factory jf3)

Sent from my GT-I9000 using XDA App
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
I find that equalizer set to classic and effects to either wide or clarity, work best for me.

(Factory jf3)

Sent from my GT-I9000 using XDA App

Salut robert ;)

Both settings (EQ and effect) you use tend restore a bit of sound clarity lost by Samung's bad EQ for headphones ^^
Hopefully you wont need any with Samsung EQ disabled.

BTW with most good headphones (especially in-ear), we don't apply any equalization or effect.
That's the goal here, and often the only way to get an accurate and non-fatiguing music reproduction.
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Good news folks, I found the settings again !!
It was just under my eyes, almost right in the first port I wrote for you.

I try to reboot the phone and re-do them to confirm... but right now... this sounds Fantastic :D
 
May 6, 2008
20
0
thanks for your reply supercurio.
This is the wolfson chipset i saw in sgs
img295.imageshack.us/img295/2218/galaxysdisassembly28.jpg
Do you do any analysis with righmark and a headphone load (with a headphone splitter)? , if yes , please post frequency response graph.
I would do , but i returned my SGS (GPS issues).
Thanks
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
thanks for your reply supercurio.
This is the wolfson chipset i saw in sgs
img295.imageshack.us/img295/2218/galaxysdisassembly28.jpg
Do you do any analysis with righmark and a headphone load (with a headphone splitter)? , if yes , please post frequency response graph.
I would do , but i returned my SGS (GPS issues).
Thanks

Hehe right, Wolfson show the Samung weave in their homepage, linking to detailled PR.
Do you know if it's the WM8994 (read on a blog : amot wordpress com , sorry can't link) ?

BTW i guess that the equalizer we tweak is the hardware parametric equalizer Wolfson talks about :D
This hardware EQ can be interesting with if clever used :)

I'll try to buy some y-shaped jack double tomorrow and will run rightmark tests.
Do you recommend using 2 simple 32 Ohms resistors or a real headphone plugged ?
I guess that result with real headphones attached will give some crappy numbers (even if True)
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Allright folks, here is a working solution !

Run the Service Mode app by typing *#*#197328640#*#* like a telephone number.

Now choose :
Code:
[5] AUDIO
>[2] HEADSET
 >[9] Diamond Solution
  >[6]1Mic TX(OFF)
   >[1]1Mic TX OnOff : OFF

Click the [1]1Mic TX OnOff : OFF line.
Use the menu capacitive button, and select "Key Input"
Enter the value 1

Now go to
Code:
[2]Fir_Coeff Table
Set the value to 0 fir_coeff 0, 1, 2, 3, 4, 5 and 6

That's all, now enjoy :D
 
Last edited:
May 6, 2008
20
0
If it is possible Ok, but not worry i will bought a new SGS soon , and i have a splitter.
I usually do this test with 16 ohm headphones (Google site:rmaa.elektrokrishna.com rightmark audio 16 load)
i also own a 27 ohm UM1-UM2 westone.
my biggest worry are lower frequencys with low load. I am not an audiophile but for me is very
important the audio quality, for me in SGS is great (maybe not perfect) but this is the first phone
that can replace my music players (cowon d2 , zune 80 , zen micro).
Thanks supercurio .
 

DrBarrell

Senior Member
Jun 27, 2010
59
0
London
This is a completely different topic altogether, but I was wondering if anyone else had this problem. After my phone has been on for a few hours, when I plug in headphones or speakers, it makes a buzzing noise and sounds are distorted. Its easily solved by restarting the phone, but can get rather annoying.
 

voodoochild2008

Senior Member
Jul 6, 2010
319
43
carlisle
Just tried some big film scores and yep the sound is better, I was unsure how much it would change but its very good, all owners should really do this, just seems to be more clear and have more kick to it.

using shure 530 headphones
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Terrific database pepitodequetequejas !
Congrats, I'll take a good look at it now and then :)

From what i hear right now, SGS drives my SoundMagic PL50 with ease, even at lowest frequencies.
Frequency response is similar to my previous iPhone 3Gs, but general feeling is :

- less harsh, a bit less punchy
- more controlled mediums, and softer at the same time. better voices and less "saturated" guitars


I love the musicality we got, it's a real pleasure.

Noise level is maybe less than 1dB higher than on 3Gs.
For your RMAA, you can maybe compare several firmwares : JC3 output level is maybe 3db higher than JM2 with a french SIM (signal and noise)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    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 :

    Run the Service Mode app by typing *#*#197328640#*#* like a telephone number.

    New and easier : install and run the free SamServMode app !
    by gilsken, available in market. big thanks :)


    Now choose :
    Code:
    [5] AUDIO
    >[2] HEADSET
     >[9] Diamond Solution
      >[6]1Mic TX(OFF)
       >[1]1Mic TX OnOff : OFF

    Click the [1]1Mic TX OnOff : OFF line.
    Use the menu capacitive button, and select "Key Input"
    Enter the value 1

    Now go to
    Code:
    [2]Fir_Coeff Table
    Set the value 0 to fir_coeff 0, 1, 2, 3, 4, 5 and 6
    (fir_coeff values will appear as 0x0 one validated)

    That's all, now enjoy :D

    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#*#*

    Code:
    [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)
    Code:
    - 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:
    1
    Promising news

    Allright folks !

    Shaju Abraham respond to the mail I send, this was fast :)

    He says that he is started to build the WM8994 Linux driver used on the Galaxy S a year ago (before Wofson themselves had a driver), but that many people have worked on it since last year.
    He is on something else now, but offered to forward the mail to the team working on it now.

    This is promising !

    Anyway, yesterday night I started figuring out how the driver work.
    1
    I hope curio and some of the other devs are still listening here...

    I've achieved a bit of nirvana with direct manipulation of ALSA via the 'alsa-amixer' command. I mean, major joy!!

    First, I have hearing loss in my right ear that unbalances any audio. This is especially noticable when listening to anything with earphones. I've been on a quest for a "balance control" on several models/os's of smartphones for years, never getting anywhere.

    FINALLY, problem solved!! I didn't see anyone post anything about this in this thread, so maybe no one else thought to try it. You can set the amplification level of each channel, left (L) and right (R) seperately with the alsa_amixer command:

    > alsa_amixer set 'Playback Headset' L, R

    As we already know, a single parameter (as one would expect) sets both channels to the same level. Providing both allows independent control of the output stage gain of the Wolfson chipset.

    Now, here's the intriguing part: There is a direct relationship between what's in the /system/etc/asound.conf file and what alsa_mixer sees as various streams that can be configured.

    The "Playback Headset" node has the following entry in asound.conf on the Epic 4G (Eclair):
    Code:
    pcm.AndroidPlayback_Headset {
     type hooks
     slave.pcm {
      type hw
      card 0
      device 0 # Must be of type "digital audio playback"
     }
     hooks.0 {
      type ctl_elems
      hook_args [
       # Enable audio output from the DSP
       {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER 10:TV_OUT
      ]
     }
    }
    I'm guessing we can set a permanent default to these gain values simply by adding the correct name/value pair to this node -- something like "{name "Output Volume" value 63}", like this:
    Code:
    pcm.AndroidPlayback_Headset {
     type hooks
     slave.pcm {
      type hw
      card 0
      device 0 # Must be of type "digital audio playback"
     }
     hooks.0 {
      type ctl_elems
      hook_args [
       # Enable audio output from the DSP
       {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER 10:TV_OUT
       {name "Output Volume" value 63}
      ]
     }
    }
    The trick is figuring out what the right name is of the parameter. My logic is this: If this can be manipulated via alsa_amixer, then it can be initialized in the conf file.

    I just don't know enough about ALSA to a) know if I'm right in my reasoning, and b) figure out what the parameter name is.

    I've tried "Output Volume" and "Volume" to no avail. Other suggestions? I'm hopeful that, if we can figure this out, modifying the output gain and balance for the phone can be made to "stick", so it doesn't reset under various circumstances, and persists across rebooting.

    Comments?
    1
    Have you noticed you cant use the default headset in anything else...it sounds awful....can only use them in the phone :eek:

    LOL. vazovskiiii, I hope u get he is being ironic. There is no such thing as default headset for a phone. Headphones work the same; it is the input (your device) that will be the variable in this case.. Make sure when u plug heaphones in the samsung u push them all the way in. Mine take a bit of force to get them in..
    1
    Hi supercurio, at first thanks a lot for you work, I'm using your last kernel for 2.2.1 and your sound app, all it's awesome but when I put "Confusion" of "New Order" the sound is not good, I've tried four different files from different places and always the same.

    you can try?, I would like to know your opinion

    Future versions of Voodoo sound will implement improvements in sound quality, by better using the hardware.

    This will affect the sound by improving clarity, detail resolution but at the same time reduce fatigue.
    This will be both
    - possible to hear for the details
    - not possible to hear (but feel!) for the fatigue

    The more high frequencies the music contains, the more dramatic the effect will be.
    I guess your perception for this music is affected by the electronic instruments. Electronic music will be the most affected by these improvements :)