Granular Volume / Use cases
Granular Volume icon

Lower volume for sensitive IEMs and bone conduction headphones

A phone's minimum volume step is set for average headphones. In-ear monitors and bone conduction headphones aren't average, and that gap is exactly why the lowest setting still feels too loud.

Updated July 14, 2026 · 4 min read

In-ear monitors are usually far more sensitive than the earbuds or headphones a phone's volume curve was tuned around, often specified in decibels of output per milliwatt of input rather than the rougher "loud/quiet" range typical consumer earbuds are designed for. Bone conduction headphones have a different problem: at low volumes the vibration itself can feel uncomfortable in a way that's separate from perceived loudness. Both end up in the same place: the phone's lowest non-mute step is genuinely too much.

This isn't a flaw specific to your headphones. Android's volume steps are calibrated against the device's own maximum output level, not against whatever is actually plugged in. The lowest step is a fixed fraction of that maximum, and no amount of headphone sensitivity is factored into where that floor sits.

The actual fix

Granular Volume adds real attenuation steps below the hardware minimum, applied cleanly to the output before it reaches your headphones, wired or Bluetooth, IEMs or bone conduction, it doesn't matter which.

Why "more precise" volume apps don't solve this

The most common suggestion for this problem is an app that adds more volume steps: a hundred clicks instead of fifteen. That does two things: it smooths the transitions, and it lowers the first step a little, because Android places each step on a fixed attenuation curve according to its position in the range. On one configuration we measured, going from 15 steps to 100 bought about 5 dB. Then it stops, because the curve has a fixed bottom that no step count passes. On drivers sensitive enough that the stock first step is already too loud, a few dB often is not the gap you need to close.

What actually changes the floor

An attenuation effect applied through Android's own audio framework, rather than a remapped step count, genuinely produces output below what the hardware's own minimum step allows. It's a clean gain-reduction stage, not an equalizer or a compressor, so it doesn't reshape the signal your headphones receive, it just turns all of it down further than the phone's own slider is able to.

The quiet setting your phone doesn't have

Free, open source, no ads, no tracking, no account. A small floating dial you set once and forget, until you need to adjust it again.

FAQ

Does this work with wired IEMs through a USB-C or 3.5mm DAC?
Yes. The attenuation is applied to the audio session before it reaches whichever output path is active, wired DAC included, since it works at the operating system's audio effect layer rather than on a specific hardware output.
Does it work with Bluetooth IEMs and TWS earbuds?
Yes, the same way. Bluetooth output goes through the same global audio session as wired output, so the attenuation applies before the signal is sent to the Bluetooth stack.
Does the attenuation introduce distortion or hiss at very low levels?
It does not add hiss of its own. It's a clean gain-reduction stage rather than a compressor or limiter, so it doesn't reshape the signal. One thing it cannot do, and this matters if hiss is your actual problem: the reduction happens in software, before the signal reaches your DAC and amplifier, so it cannot lower a hiss those stages are producing. Turning the music down that way leaves that background noise where it was, which makes it relatively easier to hear. If the noise floor is what bothers you rather than the loudness, a passive inline attenuator on the cable is what addresses that, because it works after the amplifier. This app is for the case where the sound is simply too loud at its lowest step.