Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

 Blog

 Mobile Apps
 UI Kits
 Tutorials
 About Us

 Blog
 Mobile Apps
 UI Kits
 Tutorials
 About Us

Devlister » Tutorials » Build.prop - sound quality improvement

Build.prop - sound quality improvement


By TMarcelin Tutorials - April 18, 2022 Comments: 2 Views: 4 045
Almost everyone who has ever put ROOT rights on Android has heard about such a
file as build.prop and tweaks for it. In this article, we will look at all the lines of this file
with which you can improve the sound quality of your smartphone and enable useful
features that were disabled by default.

 
Many audio modifications in the form of a Magisk module have a considerable
number of sound tweaks in their system.prop, but not every developer of a particular
module knows their meanings and scope. Below you can see a number of different
props (a line from build.prop) that can be used both individually and all together,
because each of them is responsible for a specific parameter that is not
interconnected with others. All props are taken from different devices, so it is possible
that some of them will not be applied correctly, or not applied at all. Props can have
numeric, string, or boolean values. All strings in the list have been tested by the
NLSound team and myself.

The build.prop file is located in the /vendor folder. The easiest way to edit build.prop
is by adding lines to the end of the file. For such actions, you definitely need ROOT
access and a file manager with support for root access.
 Disable Deep Buffer.
Disabling this output will use the PRIMARY output, which is higher quality and does
not have extra processing compared to the deep_buffer output. It is not a complete
shutdown of the output, since applications that output sound through this output will
not stop using it. Only if the application can work through other outputs, these props
will remove deep_buffer from the status of the main one.

audio.deep_buffer.media=false

vendor.audio.deep_buffer.media=false

vendor.audio.feature.deepbuffer_as_primary.enable=false

qc.audio.deep_buffer.media=false

ro.qc.audio.deep_buffer.media=false

persist.vendor.audio.deep_buffer.media=false

 Change the number of volume steps.


Set the value that you like and use.

ro.config.media_vol_steps=25

 Enabling Dirac processing


If you have a Dirac engine installed, these props will make Dirac the main "provider"
of effects and the main EQ, provided that this feature is supported by your firmware.
ro.audio.soundfx.dirac=true

ro.vendor.audio.soundfx.type=dirac

persist.audio.dirac.speaker=true

 Various improvements to audio processing codecs.

vendor.audio.flac.sw.decoder.24bit=true

flac.sw.decoder.24bit.support=true

vendor.audio.aac.sw.decoder.24bit=true

vendor.audio.use.sw.alac.decoder=true

vendor.audio.flac.sw.encoder.24bit=true

vendor.audio.aac.sw.encoder.24bit=true

vendor.audio.use.sw.ape.decoder=true

vendor.audio.tunnel.encode=true

tunnel.audio.encode=true

qc.tunnel.audio.encode=true

use.non-omx.mp3.decoder=false

use.non-omx.aac.decoder=false

use.non-omx.flac.decoder=false

media.aac_51_output_enabled=true

vendor.audio.parser.ip.buffer.size=262144
vendor.mm.enable.qcom_parser=63963135

 Shutdown
Something from "low power", and the sound becomes more saturated.

lpa.decode=false

lpa30.decode=false

lpa.use-stagefright=false

lpa.releaselock=false

 Removes the limitations of the AF resampler.


By ear, the effect is similar to the lines above.

af.thread.throttle=0

 Dropping the sample rate.

audio.playback.mch.downsample=false

vendor.audio.playback.mch.downsample=false

persist.vendor.audio.playback.mch.downsample=false

 Features
Futures from about the middle of the build.prop file. Look in your firmware and make
sure that you have such lines, otherwise there will definitely be no point in using
them. Expansion of the capabilities of the DSP module, speaker output and TFA
amplifier, if available. Also turn off compression, bring the sound to its original form,
turn off power control.

vendor.audio.feature.dynamic_ecns.enable=true

vendor.audio.feature.external_dsp.enable=true

vendor.audio.feature.external_qdsp.enable=true
vendor.audio.feature.external_speaker.enable=true

vendor.audio.feature.external_speaker_tfa.enable=true

vendor.audio.feature.receiver_aided_stereo.enable=true

vendor.audio.feature.ext_hw_plugin=true

vendor.audio.feature.source_track_enabled=true

vendor.audio.feature.keep_alive.enable=true

vendor.audio.feature.compress_meta_data.enable=false

vendor.audio.feature.compress_in.enable=false

vendor.audio.feature.compr_cap.enable=false

vendor.audio.feature.compr_voip.enable=false

vendor.audio.feature.devicestate_listener.enable=false

vendor.audio.feature.thermal_listener.enable=false

vendor.audio.feature.power_mode.enable=true

vendor.audio.feature.hifi_audio.enable=true

 HI-FI in the implementation of Android vendors.


Has nothing to do with HI-FI standards. A mechanism is activated to remove
distortion and improve the accuracy of sound reproduction. After applying these lines,
the sound becomes more pleasing to the ears.

ro.hardware.hifi.support=true

ro.audio.hifi=true

ro.vendor.audio.hifi=true
persist.audio.hifi=true

persist.audio.hifi.volume=72

persist.audio.hifi.int_codec=true

persist.vendor.audio.hifi=true

persist.vendor.audio.hifi.int_codec=true

 Equalization settings.
Everything that makes the sound more saturated is turned on, and everything related
to the equalizer built into the system is turned off.

effect.reverb.pcm=1

audio.pp.asphere.enabled=true

vendor.audio.pp.asphere.enabled=true

vendor.audio.safx.pbe.enabled=true

vendor.audio.soundfx.usb=false

vendor.audio.keep_alive.disabled=false

ro.vendor.audio.soundfx.usb=false

ro.vendor.audio.sfx.speaker=false

ro.vendor.audio.sfx.earadj=false

ro.vendor.audio.sfx.scenario=false

ro.vendor.audio.sfx.audiovisual=false

ro.vendor.audio.sfx.independentequalizer=false
ro.vendor.audio.3d.audio.support=true

persist.vendor.audio.ambisonic.capture=true

persist.vendor.audio.ambisonic.auto.profile=true

 Improving the clarity of audio recording, scene correction and noise


removal.

vendor.voice.dsd.playback.conc.disabled=false

vendor.audio.hdr.record.enable=true

vendor.audio.3daudio.record.enable=true

ro.vendor.audio.recording.hd=true

ro.ril.enable.amr.wideband=1

persist.audio.lowlatency.rec=true

 Lines from devices that have good audio codecs.


If you have a good audio codec, these props will not be superfluous. Disable limiters,
disable power control, increase volume, enable 24-bit support, connect DSP on TFA
amplifiers where possible.

vendor.audio.matrix.limiter.enable=0

vendor.audio.capture.enforce_legacy_copp_sr=true

vendor.audio.snd_card.open.retries=50

vendor.audio.volume.headset.gain.depcal=true

vendor.audio.hal.output.suspend.supported=true

vendor.audio.tfa9874.dsp.enabled=true
ro.audio.soundtrigger.lowpower=false

ro.vendor.audio.soundtrigger.adjconf=true

ro.vendor.audio.ns.support=true

ro.vendor.audio.enhance.support=true

ro.vendor.audio.gain.support=true

persist.vendor.audio.ll_playback_bargein=true

persist.vendor.audio.bcl.enabled=false

persist.vendor.audio.format.24bit=true

persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24

persist.vendor.audio.delta.refresh=true

 Settings for Bluetooth.


Inclusion of APTX and AAC codecs, other improvements for bt.

audio.effect.a2dp.enable=1

vendor.audio.effect.a2dp.enable=1

qcom.hw.aac.encoder=true

vendor.audio.hw.aac.encoder=true

persist.service.btui.use_aptx=1

persist.bt.enableAptXHD=true

persist.bt.a2dp.aptx_disable=false
persist.bt.a2dp.aptx_hd_disable=false

persist.bt.a2dp.aac_disable=false

persist.bt.sbc_hd_enabled=1

persist.vendor.btstack.enable.lpa=false

persist.vendor.bt.a2dp.aac_whitelist=false

persist.vendor.bt.aac_frm_ctl.enabled=true

persist.vendor.bt.aac_vbr_frm_ctl.enabled=true

persist.vendor.btstack.enable.twsplus=true

persist.vendor.btstack.enable.twsplussho=true

persist.vendor.qcom.bluetooth.scram.enabled=false

persist.vendor.qcom.bluetooth.aac_frm_ctl.enabled=true

persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true

persist.vendor.qcom.bluetooth.twsp_state.enabled=false

persist.bluetooth.sbc_hd_higher_bitrate=1

persist.sys.fflag.override.settings_bluetooth_hearing_aid=true

Also, there is a small list of problematic lines that can disrupt the device:

vendor.audio.feature.compress_in.enable=false
vendor.audio.feature.compr_voip.enable=false

persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24

qcom.hw.aac.encoder=true

vendor.audio.hw.aac.encoder=true

persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true

persist.vendor.btstack.enable.twsplus=true

persist.vendor.qcom.bluetooth.scram.enabled=false

Don't forget to backup your build.prop file before installing props to avoid possible
problems.

If the application of the strings caused problems, then select the problematic ones
from the list and try without them. If the problems remain, then use the elimination
method to find the line that causes your problem. In the future, an article of this kind
about the mixer_paths.xml file is possible. Happy use.
Related Articles

 Flutter: Everything you need to protect your data

This article will tell you in what general ways you can protect your application from
hacking or

April 10, 2022 Tutorials

 The evolution of the Android security system or how the system is


protected today

How it all started The road to protecting Android has been thorny. At the end of 2021,
Android

March 16, 2022 Blog

 Mobile sound - what determines the quality

When it comes to quality portable audio, hi-fi audio players immediately come to
mind. The

February 24, 2022 Blog

Comments(2)
Tim
29 June 2022 01:30

Thanks for all of this, I had never encountered a number of these. I've been trying for a
minute to find a 'comprehensive' (as much as is possible, at least) list of audio build
props with descriptions (and non-audio.... it'd be nice to know what already exists) and
this is definitely the best I've found -- I really appreciate them broken into categories
with general descriptions.

It would be nice if there were such a comprehensive list of build props with
descriptions in, say, the AOSP repos  I've done quite a bit of looking, but not had
any luck. It's possible I've missed, though, given the AOSP source tree is rather large.

One thing I'm not sure I'm understanding correctly.... Are the values given throughout
the article recommended for best audio quality? I was under the impression this was
the purpose of the article, but then I got to the "...small list of problematic lines..." and
realized that the exact same lines are listed above, with the same values.
Reply
wyup
10 August 2022 00:51

Thanks for the tip.

One thing to note is checking /vendor/default.prop because it has precedence over


/system/build.prop. Sometimes the same build.prop property is overidden by
default.prop.

About Deep Buffer, I'm not sure if it's onvenient to disable since it lowers battery
consumption by means of a big buffer, and Primary Outpud doesn't have better quality
since it is low latency by default (fast and worse quality).

Reply

Add Your Comment

Name: *

Comment:

All comments will be moderated before being published.

Trending Now

DEVLISTER.COM

Copyright © 2022 - DEVLISTER.COM. ❤️bluehost.com

 Privacy Policy
 DMCA
 Disclaimer
 Contact

 Blog
 Mobile Apps
 UI Kits
 Tutorials
 OTHER SECTIONS

You might also like