
Granular volume control with DynamicsProcessing and LoudnessEnhancer
Granular Volume uses Android's DynamicsProcessing and LoudnessEnhancer APIs to achieve sub-floor attenuation, and demonstrates reproducible F-Droid builds with flavor-scoped dependencies [Dev.to]
Granular Volume, an open-source Android app, uses DynamicsProcessing (API 28+) and LoudnessEnhancer (API 19+) to achieve sub-floor attenuation [Android Docs – DynamicsProcessing][Android Docs – LoudnessEnhancer]. The app drives a negative-gain stage in these APIs, processing the signal after the system volume slider has set its minimum non-mute step. By setting the post-EQ band gain to a negative value, the app pushes output below the hardware floor without distortion [Dev.to].
The app's UI lives in a floating overlay and runs as a foreground service, ensuring the effect survives screen locks and launcher switches. To ship the same codebase on Google Play and F-Droid, the author introduced a Gradle product-flavor split, removing the proprietary com.google.android.play:review dependency from the F-Droid variant [Dev.to].
This approach allows for true sub-floor attenuation without root access, and demonstrates the use of Android's audio primitives to change the signal path itself. The Gradle split also enables reproducible dual-store builds, keeping proprietary SDKs out of the F-Droid build graph [Dev.to].
Subscribe to the broadcast.
Daily digest of the day's most important tech news. No fluff. Engineering signal only.
// delivered via substack · double-opt-in confirmation


