[General Topics] Elements1984:
Hello xda community :)

Today I am sharing my knowledge related to the sound modding in android as a way of saying thank you for all the support I received from the xda members in the forums ;)

About myself: I have been working as professional DJ and sound engineer for serious gigs since 15 years.

Goals: This is a general guide to help you understand the fundamentals of sound output in android and how to edit it, then you have to do some research specific to your phone/tablet or experiment on your sound file to have the desired levels. Theorically, this applies to any android phone or tablet, although the values to input will differ from one device to another and from one manufacturer to another. Here I am describing how I boosted the sound in my Xperia Z1, so be aware that applying the same values on a different phone might get different results.

Why I wrote this: Most of the sound mods will not work if you have a different android version than the one of the modder because the architecture of the sound paths might differ from one android version to another, even if it's exactly the same device, so it's vital to be able to boost your sound on your own if all the mods didn't work for you or no mod exists for your device. Sometimes also, a modder wishes to create a sound boost mod but doesn't know how to get the maximum loudness without losing quality. This will no more happen if you read and understand this guide ;)

Note: I am not responsible if you cause any damage to your device or your sound stops working, you are the only one responsible for what you do with what is described in this guide.

Requirements: rooted phone, file explorer and note editor (I use Es File Explorer as it has both)

I wrote this guide to clarify what needs to be edited to get a louder sound without losing quality, so here are the facts:

To get started, use a file explorer and navigate to /system/etc and locate a file named mixer_paths.XML

I recommend that you make a copy of this file in case you need to restore it later if you get undesirable results with your experiements.

Open it using a note editor and locate the sections of your interest, usually there is a title for each section with the values coming right under it, e.g "Headset volume" or "microphone volume"

Starting from here you will have to find out the values specific to your device either by finding them in the forums (if you are lucky) or experimenting by editing the values I am about to explain.

HPH (amplifier/electric output) vs RX (digital/signal):

HPH: Basically, the best way to get a volume boost without decreasing the sound quality is to increase the amount of electric power that your device outputs, this will have the effect of feeding your headphones with more power which will generate more acoustic pressure (DeciBels/db) without degrading the quality (provided you didn't reach the limits of your headset). To do this, just set your HPHR and HPHL to as high as your device allows.

Rx: This is somehow the input signal of your sound, increasing this value will boost the source signal which will create distortion and saturation, this will result in a sound that will feel louder because of the generated compression, but the cost is a loss in dynamics and quality, the loss is proportional to the increase in the signal. In other words, increasing the RX value will distort and saturate the sound, you will have a louder but poor sound quality with a huge loss of bass and a flat sound, with the possibility that this will fry/damage your phone sound card and/or headphones at high volumes because of the saturation generating constant electric current which could overheat the wires/transistors beyond what they were designed to take. Add to this a higher risk to internal ear damages.

My advice is to start increasing the HPH value to the highest possible value first, save the file, reboot and see if the sound boost is high enough for you. If that was not loud enough, then try increasing the RX value by +3, save, restart and try again.

Facts: The loudness doubles at every +3 db, which means RX 85 should be 2 times louder than RX 82

Conclusion: The first step to boosting your sound is to increase the HPHR and HPHL. If more loudness is needed, increase the RX value gradually by +2 or +3 until you reach the desired loudness (try to find a good balance, I wouldn't recommend going more than +3 beyond your current RX value). Keep in mind that too much increase in RX will make you lose bass and sound quality, at that point don't expect the equalizer (EQ) of your music player to give you more bass or improve your sound quality because you have saturated/damaged the sound at its origins.

I hope this will help you set your sound at the desired levels without damaging your sound quality or devices or headphones or ears.

Note: I am using these settings on my Xperia Z1 with my Sony MH1C headset, these values should work for the Xperia Z1 Compact because it has a similar hardware. Theorically, this guide is universal and can be adapted to work with any android device, the values in mixer_paths.xml might be different on other devices but the boosting principle is the same.

More infos:

HPHR = Right output

HPHL = Left output

People with impaired hearing can set up these 2 values differently. E.g: HPH? 20 should be for the weak ear, set the value for the strong ear at anything below 20 until you reach the balance between the 2 ears.

Edit for some CyanogenMod Based ROMs: On my S4 mini running a Resurrection Remix Marshmallow ROM, which is based on CM, I didn't find the mixer_paths.xml file, instead I found a file which contained similar settings for the sound.

The file is named snd_soc_msm_2x and is situated in : system/etc/snd_soc_msm

If you found this useful, please click on the "thanks" button below to thank me :) That will make my day ;)