Overview
Dynamic Range Control (DRC) is an audio DSP algorithm designed to compress acoustic dynamics by boosting quiet sounds and aggressively attenuating transient volume peaks. While beneficial for preventing distortion on tiny, low-power smartphone speakers, many smartphone manufacturers (particularly on Qualcomm Snapdragon platforms like SDM and SM series chipsets) force DRC onto all audio pipelines—including external USB DACs, high-fidelity Bluetooth codecs, and 3.5mm headphone jacks.
When DRC is active, musical passages lose punch, orchestral crescendos sound flat, and high-impedance headphones sound constrained. Because this compression is applied at the vendor audio HAL layer before audio leaves the Android mixing engine, software players cannot bypass it.
Developed by zyhk, DRC Remover locates your device’s active vendor audio policy configuration, disables the hardware compression switch, and mounts the corrected configuration systemlessly.
How DRC Remover Operates
During module initialization:
- Hardware Inspection: Scans
/vendor/etc/and/vendor/etc/audio/for active audio policy descriptors (e.g.,audio_policy_configuration.xml,audio_policy_configuration_a2dp_offload_disabled.xml, etc.). - Conditional Activation: Determines whether
speaker_drc_enabled="true"is declared. If the OEM firmware already leaves DRC disabled (common on MediaTek SoCs), the installer reports clean status and terminates without unnecessary modifications. - XML Substitution: Clones the active policy XML into
$MODDIR/system/vendor/...and alters the boolean attribute:<!-- Stock Qualcomm Configuration --> <globalConfiguration speaker_drc_enabled="true"/> <!-- DRC Remover Patched Configuration --> <globalConfiguration speaker_drc_enabled="false"/> - Systemless Mount: Binds the patched XML directly over the vendor partition at boot.
Important Operational Notes
- A2DP Offload Changes: If you change Developer Options settings that switch the active audio configuration file (such as enabling or disabling “A2DP Hardware Offload”), you must reflash or update DRC Remover so it targets the newly active XML configuration file.
- Custom ROM Inversions: A minority of third-party custom ROMs invert the programmatic meaning of
speaker_drc_enabledinside custom HAL trees. If your ROM specifically requires inverted flags, test output dynamics carefully. - Explicit Conflict: Do not install alongside Audio Samplerate Changer (
audio-samplerate-changer), which already embeds this exact DRC removal logic into its installation sequence.
Installation & Verification
- Download and flash the
drc-remover.zipin Magisk or KernelSU. - Examine the installer log output to verify that an active DRC policy file was discovered and patched.
- Reboot the device.
- Verify that the patched configuration is mounted:
The output should confirmsu -c grep "speaker_drc_enabled" /vendor/etc/audio_policy_configuration.xmlspeaker_drc_enabled="false".
