I have the following audio path on my system:
Windows Audio Device Graph ->
Windows 7 Kernel ->
Soundcard (on-board Intel HD Audio @ 24-bit 48000 kHz) ->
3.5mm TRRS stereo analog output ->
Avantree Saturn Pro Bluetooth transmitter (BT 3.0 with apt-X Low Latency) ->
Sennheiser Momentum 2.0 Wireless On-ear ("M2 OEBT")
This exposes the following independent volume sliders:
- Application-level volume: attenuation of the digital PCM data before it's passed to the Windows Audio Session.
- Windows volume mixer "application" volume: attenuation of the digital PCM data before it's mixed with other applications' volumes.
- Windows volume mixer "hardware" volume: attenuation of the digital PCM data before it's sent to the soundcard's DAC. Directly affects the amplitude of the analog signal sent to the 3.5mm jack.
- Sennheiser M2 OEBT volume: attenuation of the decoded (lossy) PCM data before it's sent to the headphone drivers, but after receiving it encoded from the transmitter.
I have the following constraints:
Windows volume mixer "hardware" volume, or near to it, I experience analog overdrive in the audio. This means the ADC in the Bluetooth transmitter is not able to handle analog sounds at that high of an amplitude and convert it into digital data properly. I do not experience this if I plug a good pair of headphones into the 3.5mm jack, but it plays VERY loudly in the headphones at 100% (enough to make me jump out of my chair if someone sends me an IM).
At below 10%
Windows volume mixer "hardware" volume, quieter pieces of music will be omitted entirely from the playback. This is due to a power-saving feature in the Sennheiser M2 OEBT, which causes it to cut off the audio stream entirely if it detects a very low volume in the incoming Bluetooth data stream. The problem is, quiet pieces of music are audible, and we can hear them with the ear, so they should be played. But they are not, in this configuration.
Living with these limitations of my devices, I want to minimize the loss of fidelity in my music, while listening at a comfortable level. If I set all the volume sliders to maximum, the audio comes out of the headphones at what I measured using my smartphone to be in the vicinity of 90 dB, which is dangerous if you listen to it for long periods.
How should I set my volume sliders to maximize the fidelity without running into the overdrive or auto-standby limitations of my devices?