[Galaxy S III Android Development] andip71:
Version 2.2-alpha2 (with Boeffla-Sound !!!)

Hi there,

finally I have a second alpha version compiled which includes sound improvements, I call it Boeffla-Sound (it does not use any code from existing sound improvements like Voodoo sound or ScoobyDoo for some good reasons, follower of other threads know what I mean). But of course it has the most important features implemented in a very similar way.

By the way: The first alpha version was only distributed in my German home board, but this is now already a better version.

And: This alpha2 uses the ram fs of latest xxdlj5 firmware.

Boeffla-Sound features so far:

Boeffla-Sound master switch (on/off)

Speaker amplifier control

Headphone amplifier control

Parametric equalizer (on/off)

Equalizer gains and frequencies configurable

Bypass output mixer (also called dac-direct in other implementations)

DAC 128 bit oversampling

To make it still easy for not so technical people, the following options can be easily configured by using the well-known Boeffla-Kernel config file:

Speaker amplifier control

Headphone amplifier control

Select one of 6 presets for the Equalizer (similar as implemented by Syiah kernel)

Bypass output mixer (dac-direct)

DAC 128 bit oversampling

So, how to configure that now?

1) Simple way

The simplest way is to create the boeffla-kernel folder on your internal sd card and then modify the following settings in the configuration file (for details pls refer to OP):

sound_headphone_vol=default (default/55/60/62)

-> default is Samsungs default setting (50), 55 is a bit louter, 60 more lounder and 62 is really pretty loud. Be careful, 62 is really really loud and you can damage your ears!

sound_speaker_vol=default (default/60/63)

-> default is Samsungs default setting (57), 60 is louder and 63 the loudest. Also, be careful here to not damage your speaker by using too high volumes. I read posts of people in other threads using volume hacks who have destroyed their speaker over the time.

sound_eq=off (off/bass-extreme/bass-treble/treble/classic/pleasant/eargasm)

-> off means no equalizer, for the presets - just try them and choose the one you like

sound_bypass_outmix=off (off/on)

-> by configuring this to on, the DAC will connect directly to the headphone amplifier and will bypass the output mixer. This should lead to better sound and less power consumption as the output mixer will be switched off. Personally have doubts, but we will se.

sound_dac_oversampling=off (off/on)

-> on switches oversampling from 64 to 128 bit for the DAC. Result should be better sound quality.

If you leave all sound options at their standard configuration, this will result in Boeffla-Sound to be switched off completely!! So if you face any strange issues, configure everything back to standard and you will have full stock behaviour again.

2) For experts

The following file system objects for Boeffla-Sound exist, you can modify them with init.d scripts yourself or use script managers for it:

Boeffla-Sound master switch (on/off) (1 or 0):

echo 1 > /sys/class/misc/boeffla_sound/boeffla_sound_enabled

Note: Every change of this switch will trigger a full reset of all Boeffla-Sound settings to stock values!

Headphone amplifier control for left/right channel (in this example for value 62):

echo "62 62" > /sys/class/misc/boeffla_sound/headphone_volume

Speaker amplifier control for left/right channel (in this example for value 60):

echo "60 60" > /sys/class/misc/boeffla_sound/speaker_volume

Equalizer on/off (1 or 0):

echo 1 > /sys/class/misc/boeffla_sound/equalizer_mode

Equalizer gains for all 5 frequency bands (-12 to +12):

echo "12 8 3 -1 1" > /sys/class/misc/boeffla_sound/equalizer_gains

Equalizer frequency bands (0 to 65535):

echo "1 4027 1031 0 276" > /sys/class/misc/boeffla_sound/equalizer_bands

The first value is the band (1-5),

the second and third value are the parameters for A and B,

the forth value is the parameter for C (only existing for bands 2-5, otherwise put on zero),

the fifth value is the parameter for PG.

What the parameters in detail mean is still a bit a secret as Wolfson Micro does not include the explanations in their official documentation for wm1811 / wm8994. But it is about configuring cutoff frequencies etc. If someone knows more about this, happy to receive additional input.

Bypass Output Mixer (=DAC direct) on/off (1 or 0):

echo 1 > /sys/class/misc/boeffla_sound/bypass_outputmixer

DAC 128 bit oversampling on/off (1 or 0):

echo 1 > /sys/class/misc/boeffla_sound/dac_oversampling

Ok, please do not be confused now. You do not need als this techie stuff really, for the majority of you it should be sufficient to configure volumes and equalizer presets via the Boeffla-Kernel configuration file.

Last but not least - why is the kernel an alpha version still?

Well, I expect still some issues to come up during testing which I did not cover. We all use our devices differenly, so I am very dependant on your feedbacks. I cannot guarantie everything to be 100% stable already. In worst case, you can still have instabilities, crashes, freezes, weird effects with audio etc.

Now, enjoy testing and listening to music.

If you find anything, please let me know, either here or via mail to my support address support@boeffla-kernel.de.

By the way - I am also especially looking for feedback from people that used other kernels with sound improvements in the past already. As I did not compare myself so far...

I will not be able to respond today as I am travelling until tomorrow.

I wish you a great weekend

Andi