I usually a different formula where the listening level is set by listening to regular music.
dB(SPL) = S + 20 log ( Va / Vref )
where:
- dB(SPL) is the average listening volume for a track.
- S is the sensitivity of the headphones expressed in dB/Vref, Vref is often 1V and the specification is dB/V
- Vref is the reference voltage used in the dB/V spec, or the calculated one from the dB/mW spec ( Vref = sqrt (0.001 W * Zload)), Zload is the impedance of the headphones
- Va is the 'average' voltage at the headphone output corresponding to to the listening volume and the specified track.
Va = Vmax * 10 ^ ( (Gvc + Gtrack) / 20 )) (1)
where:
- Vmax is the max Vrms output of the headphone out, usually 1 or 2 Vrms for on board computer outs
- Gvc is the gain in dB set with the Windows volume control (2)
- Gtrack is the level of your track compared to a 0 dBFS sine wave (3)
(1)The idea comes from 20 log ( Va / Vmax ) = Gvc + Gtrack, that is to say that you need to subtract the gain of the volume control and the gain of the track to find the voltage output compared to the max voltage
(2) Control Panel > Sound > Properties > Level > right-slick on the number and select dB. Gvc is - 15 dB in this case.
(3) Gtrack is - 14 dB in this case, the Dynamic Range Meter plugin for foobar is available here: http://www.jokhan.demon.nl/DynamicRange/index.htm
NB: The above calculation takes into account the average level of the track, not the peaks, I find it a more accurate approximation of the average listening volume, It also assumes a 0 ohm output impedance, otherwise replace Vmax by Vmax * ( Zload / (Zload +Zout) ), where Zout is the output impedance and Zload the impedance of the headphones.