• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Help: Estimating headphone loudness

artnoi

Member
Joined
Dec 9, 2018
Messages
54
Likes
27
Location
Bangkok, Thailand
I'm reaching 30 and worried if my listening level has been too loud, so I want to estimate my headphone listening loudness. But not exactly sure how.

I listen on iPhone 13 + Lightning dongle + Etymotic ER4SR. The iOS volume slider position is usually at 1-2 notches louder than the middle position for high dynamic range music, and at the middle position for louder music.

I understand the our ear's non-linear sensitivity to different sound frequencies, differences between peak and average loudness, and A-weighting (throwing out low freqs + very high freqs), and know that most venues have over 110dB peak loudness, and that the optimum level for music is around 75-90 dBA (correct me if I'm wrong).

But I don't understand audio enough to work it out by myself. This is what I don't know:
- How the digital volume slider works, in iOS in particular
- How average music dynamic range affects our calculation
- How the dongle's digital volume control behaviour when plugged to different devices (volume slider - dongle connection)

So my question here is: Is there anyway to quickly estimate loudness for average music? My gear all have known specs (Etymotic ER4SR and Apple USB-C dongle):
ER4SR
Sensitivity: 98dB @ 1kHz, 1mW
Impedance: 45Ohm @1kHz

Apple USB-C dongle
Power: 31mW @ 30Ohm
Output Impedance: 0.9Ohm

Apart from the estimation math and result, I also want to know the science behind the estimation, about digital volume control plays a role in this estimation, and how music dynamic range translates to listening levels. Thanks for sharing your knowledge!

PS: I also came up with some unscientific methodology: I'd play 1kHz test tone on my phone at my levels, and then take note of the volume slider position. I'd then plug the noted parameters into some equations to get the loudness at 1kHz. I'd then switch back to some music, and see if my levels exceeded the level I jotted down. But then I realized early that this would not work as 1kHz test tone at x dB would be much louder than real music at the same volume. I also can't do this simplistic experiment with real music because of the DNR-peak/average loudness issues.
 
I have an old Radio Shack SPL meter.
So I made a foam board ring about 6 inches in diameter, with a hole in the center for the meter.
Then I held the meter against the headphone cushion to read SPL level.
 
You've got a few too many unknowns going on, I'm afraid. While ER-4SR sensitivity is fairly well-documented (49 mV for 90 dB SPL at 1 kHz, or 116 dB SPL / 1 V), the fruity UI is too dumbed-down to be of much use. I used to do this kind of stuff on a player with Rockbox, which sports a volume display in dB. The spreadsheet is still available.

If you have a multimeter with an AC range that's useful into the millivolts and a 3.5 mm to 3.5 mm cable (preferably with a 1/4" adapter), you could try to calibrate the volume slider top to bottom with a 0 to -3 dBFS (0.999969 to 0.707) test tone, the 50-60 Hz range (maximum about 400 Hz) being preferred if the meter isn't True RMS capable. Since you know that the dongle can dish out 1 Vrms at 0 dBFS maximum, you should be seeing the equivalent of that depending on test tone amplitude.

Yes, you still have the effect of music crest factor (which can be determined in software) and potential volume normalization ("Sound Check" in Apple speak) to deal with. (Not sure what the normalization target level would be on an iPhone 13. Apparently it used to be -16 LUFS in Apple Music and changed to -20 LUFS a few years back. I guess you could just turn off Sound Check temporarily.)
 
So my question here is: Is there anyway to quickly estimate loudness for average music?
See here:
 
Buy a Qudelix 5K, add the impedance and dB SPL/mW to the PEQ settings for your IEMs and the Q5K will calculate it all for you (in real time, as you change the volume)...

1757715851776.png
 
You've got a few too many unknowns going on, I'm afraid. While ER-4SR sensitivity is fairly well-documented (49 mV for 90 dB SPL at 1 kHz, or 116 dB SPL / 1 V), the fruity UI is too dumbed-down to be of much use. I used to do this kind of stuff on a player with Rockbox, which sports a volume display in dB. The spreadsheet is still available.

If you have a multimeter with an AC range that's useful into the millivolts and a 3.5 mm to 3.5 mm cable (preferably with a 1/4" adapter), you could try to calibrate the volume slider top to bottom with a 0 to -3 dBFS (0.999969 to 0.707) test tone, the 50-60 Hz range (maximum about 400 Hz) being preferred if the meter isn't True RMS capable. Since you know that the dongle can dish out 1 Vrms at 0 dBFS maximum, you should be seeing the equivalent of that depending on test tone amplitude.

Yes, you still have the effect of music crest factor (which can be determined in software) and potential volume normalization ("Sound Check" in Apple speak) to deal with. (Not sure what the normalization target level would be on an iPhone 13. Apparently it used to be -16 LUFS in Apple Music and changed to -20 LUFS a few years back. I guess you could just turn off Sound Check temporarily.)
I always disable volume normalization in iOS (Sound Check). Thanks for your experiment suggestion, too bad I don't have the meter.
Buy a Qudelix 5K, add the impedance and dB SPL/mW to the PEQ settings for your IEMs and the Q5K will calculate it all for you (in real time, as you change the volume)...
This app looks really, really handy. Will check it out!

Anyway, I just came across this very nice (though not verified) loudness estimation AND iOS volume steps from u/blargh4 on Reddit.
I'm going to copy his tables and paste it here to also preserve the info on ASR:

iOS volume "step" (as of 17.2.1) dB Vrms
16 (Max) 0
15 -2.5
14 -5
13 -7.9
12 (3/4ths up the dial) -10.5
11 -13.4
10 -15.9
9 -19
8 (halfway up the dial) -21.9
7 -25.4
6 -29
5 -32.5
4 (1/4 up the dial) -35.9
3 -40.5
2 -45
1 -50.5
0 (Minimum) Mute

Windows volume step dB Vrms
100 0
90 -1.5
80 -3.4
70 -5.4
60 -7.4
50 -9.8
40 -13.4
30 -17.4
25 -19.8
20 -23.4
15 -27.4
10 -32.4
8 -35.4
6 -38.4
4 -42.9
2 -49.5
1 -54

This should enable me to use some loudness calculators or something.
 
I think I got "good enough" answer now.

I figured that based on the iOS volume table above, I could give ChatGPT the specs and have it generate tables with loudness of 1kHz test tone.
This should be the loudest the Etys can get at that volume position.

1kHz Test Tone: Estimated SPL at Each iOS Volume Step​

StepdB (rel)VrmsPower (W)SPL (dB SPL)
1600.9600.0205111.1
15-2.50.7590.0128109.1
14-50.6060.00815107.1
13-7.90.4650.00481105.1
12-10.50.2860.00182100.6
11-13.40.2040.00092697.7
10-15.90.1620.00058295.6
9-190.1080.00025992.1
8-21.90.07770.00013489.3
7-25.40.05720.000072786.6
6-290.04240.000039984.0
5-32.50.03090.000021281.3
4-35.90.02160.000010478.2
3-40.50.01700.0000064276.1
2-450.01080.0000025974.1
1-50.50.005370.0000006470.1
0Mute000

I then had ChatGPT replace the 1kHz test tone with real music based on DR rating.

DR4 (Modern Pop — RMS ≈ –8 dBFS)​

iOS Volume StepSPL (Test Tone)Avg SPL (DR4)
16111.1 dB103.1 dB
15109.1 dB101.1 dB
14107.1 dB99.1 dB
13105.1 dB97.1 dB
12100.6 dB92.6 dB
1197.7 dB89.7 dB
1095.6 dB87.6 dB
992.1 dB84.1 dB
889.3 dB81.3 dB
786.6 dB78.6 dB
684.0 dB76.0 dB
581.3 dB73.3 dB
478.2 dB70.2 dB
376.1 dB68.1 dB
274.1 dB66.1 dB
170.1 dB62.1 dB
000

DR8 (Rock/Jazz — RMS ≈ –12 dBFS)​

iOS Volume StepSPL (Test Tone)Avg SPL (DR8)
16111.1 dB99.1 dB
15109.1 dB97.1 dB
14107.1 dB95.1 dB
13105.1 dB93.1 dB
12100.6 dB88.6 dB
1197.7 dB85.7 dB
1095.6 dB83.6 dB
992.1 dB80.1 dB
889.3 dB77.3 dB
786.6 dB74.6 dB
684.0 dB72.0 dB
581.3 dB69.3 dB
478.2 dB66.2 dB
376.1 dB64.1 dB
274.1 dB62.1 dB
170.1 dB58.1 dB
000

DR14 (Classical — RMS ≈ –20 dBFS)​

iOS Volume StepSPL (Test Tone)Avg SPL (DR14)
16111.1 dB91.1 dB
15109.1 dB89.1 dB
14107.1 dB87.1 dB
13105.1 dB85.1 dB
12100.6 dB80.6 dB
1197.7 dB77.7 dB
1095.6 dB75.6 dB
992.1 dB72.1 dB
889.3 dB69.3 dB
786.6 dB66.6 dB
684.0 dB64.0 dB
581.3 dB61.3 dB
478.2 dB58.2 dB
376.1 dB56.1 dB
274.1 dB54.1 dB
170.1 dB50.1 dB
000

Not sure if confirmation bias but it sure looks very convincing for my experience, as my ears start tiring at around the volume position that maps to range 87-90dB hahaha.
 
Last edited:
I'm reaching 30 and worried if my listening level has been too loud, so I want to estimate my headphone listening loudness. But not exactly sure how.
The 1st thing is, if you are get ringing in the ears, or if you notice temporary partial deafness (a "Temporary Threshold Shift") after you stop listening, you are listening too loud!

But depending on the duration of the loud sound and the long-term repeated exposure, you can get hearing damage without obvious-immediate symptoms.

Measurements (without a proper measuring setup like Amir uses) could be off by a significant amount. The same goes for "calculations", except that you may be able to calculate the maximum possible loudness if you know the maximum output voltage and the sensitivity of your headphones or in-ears. If your setup combination isn't capable of delivering damaging levels you should be safe. But, you might miss-out on non-harmful transient dynamic peaks.
 
Not that it matters much (probably) but is it Lightning dongle or USB-C dongle in the end? They are not the same.
That was my bad. Lightning dongle is the one I use.

However, before I posted the whole thing I did some cross-checks and specs from both types of Apple dongle seem to have very close (near identical) specs. Here is the measurements I used to compare the 2 dongles: Amir's (USB-C), Ken Rockwell's (Lightning), and Archimago's (Lightning). Both seem to have 1.0Vrms, and ~1Ohm output impedance. I also found some informal claims that the USB-C can output more power, but just a tiny bit and thus not relevant to my estimation which is more in the middle range of the volume knob and not at peak power.

Both Lightning and USB-C dongles come in 2 flavors: US and EU. The EU version has half the output voltage of the US version (1Vrms vs 0.5Vrms). I assume mine is US-spec, because we Thais don't have laws like the EU.

After verifying that both USB-C and Lightning versions are almost identical in the power department, I went on and stumbled across this Reddit post (that I copied their results), and assume that the Reddit results should be valid for both Lightning and USB-C dongle.

Maybe you could correct me that the 2 are different after having a look at those measurements (I'm a noob).
 
The 1st thing is, if you are get ringing in the ears, or if you notice temporary partial deafness (a "Temporary Threshold Shift") after you stop listening, you are listening too loud!

But depending on the duration of the loud sound and the long-term repeated exposure, you can get hearing damage without obvious-immediate symptoms.

Measurements (without a proper measuring setup like Amir uses) could be off by a significant amount. The same goes for "calculations", except that you may be able to calculate the maximum possible loudness if you know the maximum output voltage and the sensitivity of your headphones or in-ears. If your setup combination isn't capable of delivering damaging levels you should be safe. But, you might miss-out on non-harmful transient dynamic peaks.
Thanks! I usually listen at iOS volume steps 7-12 when using in-ears, which seem to be in the safe SPL range (see the tables above, though it's not A-weighted). What's your opinion on this? Is it too quiet? I usually stop cranking the volume up once it's loud enough to sound full and has sense of space in it.
 
Both Lightning and USB-C dongles come in 2 flavors: US and EU. The EU version has half the output voltage of the US version (1Vrms vs 0.5Vrms).
For USB-C, yes, for Lightning I'm not sure. I'm pretty certain I have Lightning EU version (I don't have packaging anymore, so I can't confirm 100%) and it measures only 1 dB less than USB-C US version.
 
I always disable volume normalization in iOS (Sound Check).
But it shouldn't be. Loudness normalization is one of the most handy features I can think of, and taking measurements is one of very few applications that would warrant turning it off. Playback chains are providing more than enough dynamic range these days. (In fact, in a portable application you generally want to apply dynamic range compression to the material on the fly to account for high ambient noise levels.)
I figured that based on the iOS volume table above, I could give ChatGPT the specs and have it generate tables with loudness of 1kHz test tone.
Given that LLMs can be substantially math-challenged, that strikes me as a somewhat risky proposition. (It's a Large Language Model after all. If its training data were to contain plenty of instances of 2 + 2 =5, it would be trying to tell you that.) Especially when you could easily do the same in a boring ol' spreadsheet with the tables you found, going from 116 dB SPL @ 1 Vrms. It's literally just addition / subtraction.
 
But it shouldn't be. Loudness normalization is one of the most handy features I can think of, and taking measurements is one of very few applications that would warrant turning it off. Playback chains are providing more than enough dynamic range these days. (In fact, in a portable application you generally want to apply dynamic range compression to the material on the fly to account for high ambient noise levels.)

Given that LLMs can be substantially math-challenged, that strikes me as a somewhat risky proposition. (It's a Large Language Model after all. If its training data were to contain plenty of instances of 2 + 2 =5, it would be trying to tell you that.) Especially when you could easily do the same in a boring ol' spreadsheet with the tables you found, going from 116 dB SPL @ 1 Vrms. It's literally just addition / subtraction.
I see. I want SoundCheck disabled so that I could very quickly tell if some tracks were compressed (loud tracks = bad) when choosing between the best version of each on track on Apple Music. Some have "{YEAR} Remaster" in their names that let me know right away, but some don't. I do this because I'm excessively obsessive with obtaining the versions closest to my CD rips or downloads. For example, say track A was first released in album X, but it's also later included in the artist's 2nd and 4rd "Greatest Hits" compilations, and there's no way to know which master Apple Music uses for the albums. Some obscure tracks are no where to be found except in the compilations like many of the previously unreleased Bob Dylan songs, which I usually find on separate compilations but are essentially the same recordings but with different mastering.

Also, thanks for your concern about my ChatGPT use. But don't worry, I'm a Go/Rust programmer and rarely used any AI software engineering tools unless if you count my company's CodeRabbit reviews at work, which is automatic. I always write my own code because AI sucks at writing high quality complex code, but I still use AI to do something else like quickly scanning the logs or writing a quickie Python script for one-off tasks. I just pushed back my engineering manager when he wanted me to use more Cursor requests (I only use 19 requests per month, out of 500). I know the limitations of these tech quite well. I don't even trust AI, and hate that it's enabling unseen level of enshitification in products, all while consuming unprecedented chunks of our resources and replacing workers. I don't even have AI subscriptions, except Cursor which my work provides.

But this time it's not work or critical task. I didn't wanna cross-check everything myself, given how Google search quality has become. I'm also lazy and dumb so I had ChatGPT find other additional info for me too, like the DR ratings for certain genre, and explanations of other concepts like how should I think about average vs peak SPL. That's why I went the lazy way, and had ChatGPT do all the reference works + fact-checking + explain the math and how everything fits together in 1 scroll. That helped free me to do something else, so I could come back and read all the summary and the results, including references, all at once. In this way I believe I properly used AI as a tool, like my scripts, Excel, spreadsheet, or calculator, depending on complexity. If I just wanted to do the math and generate the tables I would have written a program or use spreadsheet.
 
Back
Top Bottom