Как стать автором
Обновить

Build.prop — улучшение качества звука

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров15K

Почти каждый, кто хоть раз ставил ROOT-права на Android, слышал про такой файл как build.prop и твики для него. В этой статье мы рассмотрим все строки данного файла с помощью которых можно улучшить качество звучания смартфона и включить полезные функции, которые были отключены по умолчанию.

Многие аудиомодификации в виде Magisk-модуля имеют немалое количество твиков звука в своих system.prop, но далеко не каждый разработчик того или иного модуля знает их значения и область применения. Ниже вы можете увидеть целый ряд всевозможных пропов (строка из build.prop), которые можно применять как по отдельности, так и все вместе, потому что каждый из них отвечает за конкретный параметр, не взаимосвязанный с другими. Все пропы взяты с разных устройств, поэтому есть возможность, что какие-то из них применятся не правильно, либо не применятся вообще. Пропы могут иметь числовые, строчные и булевые значения. Все строки из списка протестированы командой NLSound и мной лично.

Файл build.prop находится в папке /vendor. Проще всего редактировать build.prop путём добавления строк в конец файла. Для подобных действий обязательно нужен ROOT-доступ и файловый менеджер с поддержкой корневого доступа.

  • Изменение количества шагов громкости

ro.config.media_vol_steps=30
  • Всевозможные улучшения кодеков обработки аудио

vendor.audio.flac.sw.decoder.24bit=true 
flac.sw.decoder.24bit.support=true 
vendor.audio.aac.sw.decoder.24bit=true 
vendor.audio.mp3.sw.decoder.24bit=true  
vendor.audio.raw.sw.decoder.24bit=true
vendor.audio.qti.sw.decoder.24bit=true
vendor.audio.dsp.sw.decoder.24bit=true
vendor.audio.dsd.sw.decoder.24bit=true
vendor.audio.flac.sw.encoder.24bit=true
vendor.audio.aac.sw.encoder.24bit=true 
vendor.audio.mp3.sw.encoder.24bit=true  
vendor.audio.raw.sw.encoder.24bit=true     
vendor.audio.qti.sw.encoder.24bit=true
vendor.audio.dsp.sw.encoder.24bit=true
vendor.audio.dsd.sw.encoder.24bit=true
vendor.audio.aac.complexity.default=10   
vendor.audio.aac.quality=100   
vendor.audio.mp3.complexity.default=10
vendor.audio.mp3.quality=100     
vendor.audio.raw.complexity.default=10
vendor.audio.raw.quality=100
vendor.audio.flac.complexity.default=10
vendor.audio.flac.quality=100
vendor.audio.dsp.complexity.default=10
vendor.audio.dsp.quality=100
vendor.audio.dsd.complexity.default=10
vendor.audio.dsd.quality=100      
use.non-omx.mp3.decoder=false 
use.non-omx.aac.decoder=false 
use.non-omx.flac.decoder=false 
use.non-omx.raw.decoder=false
use.non-omx.qti.decoder=false
use.non-omx.dsp.decoder=false
use.non-omx.dsd.decoder=false 
use.non-omx.mp3.encoder=false
use.non-omx.aac.encoder=false
use.non-omx.flac.encoder=false
use.non-omx.raw.encoder=false
use.non-omx.qti.encoder=false
use.non-omx.dsp.encoder=false
use.non-omx.dsd.encoder=false
audio.decoder_override_check=true
media.aac_51_output_enabled=true 
mm.enable.smoothstreaming=true
mmp.enable.3g2=true
vendor.mm.enable.qcom_parser=63963135
vendor.audio.tunnel.encode=true 
tunnel.audio.encode=true 
qc.tunnel.audio.encode=true
  • Отключение low power audio

lpa.decode=false
lpa30.decode=false
lpa.use-stagefright=false
lpa.releaselock=false
  • Отключение понижения частоты дискретизации

audio.playback.mch.downsample=false 
vendor.audio.playback.mch.downsample=false 
persist.vendor.audio.playback.mch.downsample=false
  • Универсальная настройка .prop features

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.enable=true
vendor.audio.feature.source_track.enable=true
vendor.audio.feature.keep_alive.enable=true
vendor.audio.feature.compress_in.enable=false
vendor.audio.feature.compr_voip.enable=false
vendor.audio.feature.compress_meta_data.enable=false
vendor.audio.feature.compr_cap.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
vendor.audio.feature.deepbuffer_as_primary.enable=false
vendor.audio.feature.dmabuf.cma.memory.enable=true
vendor.audio.feature.battery_listener.enable=false
vendor.audio.feature.custom_stereo.enable=true
vendor.audio.feature.extn_resampler.enable=true 
vendor.audio.feature.extn_formats.enable=true
vendor.audio.feature.extn_flac_decoder.enable=true
vendor.audio.feature.extn_compress_format.enable=false
vendor.audio.feature.spkr_protection.enable=false
vendor.audio.feature.usb_offload_burst_mode.enable=false 
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
vendor.audio.feature.albus_owl29.enable=true
  • Включение встроенного в Android HI-FI

Задействуется алгоритм по удалению искажений и повышению точности при воспроизведении звука.

ro.hardware.hifi.support=true 
ro.audio.hifi=true 
ro.vendor.audio.hifi=true 
persist.audio.hifi=true 
persist.audio.hifi.volume=90
persist.audio.hifi.int_codec=true 
persist.vendor.audio.hifi=true 
persist.vendor.audio.hifi.int_codec=true
  • Параметры системного эквалайзера

effect.reverb.pcm=1
ro.audio.spatializer_enabled=true
vendor.audio.safx.pbe.enabled=true 
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
ro.vendor.audio.surround.support=true
ro.vendor.audio.scenario.support=true
persist.vendor.audio.ambisonic.capture=true
persist.vendor.audio.ambisonic.auto.profile=true
  • Улучшение чёткости записи аудио, коррекция сцены и удаление шумов

audio.record.delay=0
vendor.audio.hdr.record.enable=true
vendor.audio.3daudio.record.enable=true
vendor.audio.ull_record_period_multiplier=2
vendor.audio.hdr.spf.record.enable=true
ro.audio.voice.use.dtmf=false
ro.vendor.audio.game_mic.supported=true
ro.vendor.audio.3d.audio.support=true
ro.vendor.audio.recording.hd=true
ro.vendor.audio.voice.change.support=true
ro.vendor.audio.voice.change.youme.support=true
ro.vendor.audio.voice.change.version=2
ro.vendor.audio.sdk.ssr=false
ro.qc.sdk.audio.ssr=false
ro.ril.enable.amr.wideband=1
ro.vendor.audio.crystal_talk_record.supported=true
ro.vendor.audio.crystal_talk.supported=true
ro.vendor.audio.crystal_talk_record.supported=true
ro.vendor.audio.crystal_talk_record.max_rate=192000
ro.vendor.audio.crystal_talk_record.2mic.supported=true
persist.audio.lowlatency.rec=true
persist.vendor.audio.spf_restart=true
  • Твики Dolby

ro.vendor.audio.dolby.eq.half=true
ro.vendor.audio.dolby.dax.support=true
ro.vendor.audio.dolby.surround.enable=true
ro.vendor.audio.dolby.fade_switch=true
  • Частичное отключение разгрузки аудио

Разгрузка часто ухудшает качество.

audio.offload.disable=true
audio.offload.video=false
audio.offload.gapless.enabled=false 
audio.offload.pcm.16bit.enable=false
audio.offload.pcm.24bit.enable=false
audio.offload.pcm.32bit.enable=false
vendor.audio.offload.gapless.enabled=false 
vendor.audio.offload.multiaac.enable=false 
vendor.audio.offload.multiple.enabled=false
vendor.audio.offload.passthrough=false
vendor.audio.offload.track.enable=false
  • Улучшение качества обработки аудио ресемплером

ro.audio.resampler.psd.enable_at_samplerate=192000
ro.audio.resampler.psd.stopband=179
ro.audio.resampler.psd.halflength=408
ro.audio.resampler.psd.cutoff_percent=99
ro.audio.resampler.psd.tbwcheat=100
  • Управление режимом работы процессора при воспроизведении аудио

vendor.audio.rt.mode=true
vendor.audio.rt.mode.onlyfast=false 
vendor.audio.cpu.sched=true
vendor.audio.cpu.sched.cpuset=248
vendor.audio.cpu.sched.cpuset.binder=255
vendor.audio.cpu.sched.cpus=8
vendor.audio.cpu.sched.onlyfast=true
  • Различные улучшения

vendor.audio.matrix.limiter.enable=0
vendor.audio.capture.enforce_legacy_copp_sr=true
vendor.audio.hal.output.suspend.supported=true
vendor.audio.snd_card.open.retries=50
vendor.audio.AT.blocking=true
vendor.audio.volume.headset.gain.depcal=true
vendor.audio.camera.unsupport_low_latency=false 
vendor.audio.tfa9874.dsp.enabled=true
vendor.audio.lowpower=false
vendor.audio.ultrasound.stoplatency=60
vendor.audio.ultrasound.usync=1000
vendor.audio.compress_capture.enabled=false 
vendor.audio.compress_capture.aac=false
vendor.audio.spkr_prot.tx.sampling_rate=192000
vendor.audio.c2.preferred=true
vendor.qc2audio.suspend.enabled=true
vendor.qc2audio.per_frame.flac.dec.enabled=true
ro.audio.soundtrigger.lowpower=false
ro.audio.flinger_standbytime_ms=2000
ro.mediaserver.64b.enable=true
ro.vendor.usb.support_analog_audio=true
ro.vendor.audio.enhance.support=true
ro.vendor.audio.gain.support=true
ro.vendor.audio.pastandby=true
ro.vendor.audio.dpaudio=true
ro.vendor.audio.spk.stereo=true
ro.vendor.audio.spk.clean=false
ro.vendor.audio.dualadc.support=true
ro.vendor.audio.soundtrigger.adjconf=true
persist.audio.hp=true
persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24
persist.vendor.audio.ll_playback_bargein=true
persist.vendor.audio.bcl.enabled=false
persist.vendor.audio.delta.refresh=true
persist.vendor.audio.speaker.stereo=true
persist.vendor.audio.okg_hotword_ext_dsp=true
persist.vendor.audio.albus_owl29=true
media.recorder.show_manufacturer_and_model=true
  • Параметры Bluetooth

audio.effect.a2dp.enable=1 
vendor.audio.effect.a2dp.enable=1 
qcom.hw.aac.encoder=true 
qcom.hw.aac.decoder=true
vendor.audio.hw.aac.encoder=true
vendor.audio.hw.aac.decoder=true
vendor.media.audiohal.btwbs=true
ro.vendor.bluetooth.csip_qti=true
persist.service.btui.use_aptx=1 
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.vendor.qcom.bluetooth.enable.swb=true
persist.vendor.qcom.bluetooth.enable.swbpm=true
persist.vendor.qcom.bluetooth.aidl_hal=true
persist.bluetooth.sbc_hd_higher_bitrate=1
persist.sys.fflag.override.settings_bluetooth_hearing_aid=true

Проблемные строки, которые могут нарушить работу устройства:

// Иногда ломает запись голосовых сообщений
vendor.audio.feature.compress_in.enable=false 

// Иногда ломает разговорный динамик
vendor.audio.feature.compr_voip.enable=false 

// Возможно отключение звука на проводных наушниках
persist.vendor.audio.hifi=true

// Возможны лаги и разрывы звука
persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24

// Иногда ломают кодек AAC
qcom.hw.aac.encoder=true 
vendor.audio.hw.aac.encoder=true 
persist.vendor.qcom.bluetooth.aac_vbr_ctl.enabled=true

// Иногда ломает кодек APTX
persist.vendor.btstack.enable.twsplus=true

// Ломает звук по Bluetooth на некоторых прошивках Android 12
persist.vendor.qcom.bluetooth.scram.enabled=false

Не забывайте делать бэкап файла build.prop перед установкой пропов, чтобы избежать возможных проблем.

Если применение строк вызвало проблемы, то выберите из списка проблемные и попробуйте без них. В случае, если проблемы останутся, то методом исключения находите ту строку, что вызывает у вас проблему. Приятного использования.

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+3
Комментарии5

Публикации

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань