Hacker News new | ask | show | jobs
by jjoonathan 972 days ago
NICE! Way to stick with it OP!

Speaking of loud earbuds, I might have the opposite problem. I use Bose exercise earbuds on the treadmill at what I believe is a comfortable and conservative volume, but my iPhone gives me a notification that the volume is too high and I am wrecking my hearing.

Is the phone correct? If so, I'd be willing to sacrifice a bit of enjoyment for a bit of ear health. However, there's a compelling alternative hypothesis: these earbuds have a distinctively lower physical volume at a given volume setting than others I have used, so lazy modeling on Apple's part could be expected to generate a false notification like the one I receive. I want to commend Apple if they did the right thing and built a database mapping (model,volume_setting)->physical_volume. Unfortunately, the complete lack of details in the notification and feature description do not inspire confidence and I do not want to make my workouts shittier just because Apple put a college homework quality model into production.

Does anyone here know if the data science backing these notifications is competent?

6 comments

I miss exactly two things from android on iOS. Both involve Bluetooth not sucking.

The first one is that the minimum volume on my Bluetooth earbuds is too damn loud on iOS. This is true for every third party set of headphones I have tried. People have been complaining about this online for a decade. The EU even passed a law to make them fix it (spoiler alert: it did not work).

FFS, min volume in the UI should map to hardware volume level integer one!

The second issue is that third party apps can’t expose music or podcasts via the car bluetooth media browsing menu. They can on android.

That means I can listen to podcasts and stream tidal using the jogwheel on my car with android, but not ios.

Other Bluetooth complaints:

Why does my Apple Watch blacklist car stereos?

Bluetooth is really buggy in iOS version N and N-1.

> The first one is that the minimum volume on my Bluetooth earbuds is too damn loud on iOS. This is true for every third party set of headphones I have tried.

That's wild. I've never experienced anything like that -- not with AirPods or Bose or a cheap brand TOZO.

Are you sure it's not a problem with the earbuds themselves, that their minimum level is higher than it should be?

If you've dug into it, what is the range/steps of Bluetooth volume levels, and which are the range/steps that iOS supports?

Also, have you ever tried dragging the volume slider in iOS? That lets you set volume smoothly, not restricted to increments. Does that not let you set the smallest volume?

I've had the same issue with some wired IEMs on iOS, using Apple's official USB-C to 3.5mm adaptor. I even have the EU model A2155 of the USB-C to 3.5mm adaptor that's supposed to have half the power of the US model.

What I found that helped was to create a custom Shortcut that "Set Media volume to 1%". iOS reports that this is 48 dB when playing pink noise. I managed to hit 47 dB when dragging to volume slider on iOS below 1%, but the Shortcuts app only seems to support integer percentages.

In my case, even the 1% volume level was too high in a quiet room, but some apps have a custom EQ setting that you can use to lower the volume further. E.g. if you're using Apple Music, you can go to Settings -> Music -> EQ and pick "Loudness" to lower the volume further.

You can buy passive inline volume knobs for 3.5mm headphones. They’re just a pair of variable resistors attached to a knob and cost about $10.
Unfortunately, they're not great to use with a phone in your pocket, since then the motion of walking around will adjust the knob and change the volume.

Although, come to think of it, I could probably just glue the knob into a fixed −10 dB of attenuation and then use software volume control to change the volume.

I have also noticed that those passive inline volume knobs tend to adjust the right and left channels by different levels, especially with low-impedance outputs like IEMs, but that might because the ones I've bought cost ~US$2 from AliExpress.

I could probably also fix the issue by buying a worse/less-powerful USB-C to 3.5mm DAC. The official Apple one is pretty well liked by the audiophile community, since it's powerful for the price, which is great if you have high-end headphones, but horrible if you have earbuds/IEMs.

Weirdly enough, the same Apple USB-C to 3.5mm DAC is much quieter on Android, since it defaults to a low hardware volume on the DAC, and Android then only uses software volume control to lower the volume, see https://issuetracker.google.com/issues/242221770.

> That's wild. I've never experienced anything like that -- not with AirPods or Bose or a cheap brand TOZO.

I had something similar with a usb 'sound card' I was using with a mac. I had to use some DSP software to artificially reduce the sound level to about 1%, and then it was usable. Worked fine on windows as I recall. I had a similar issue with a set of logitech usb speakers; one pair worked great, so I ordered a second pair, where (on windows) the lowest output volume is tremendously loud, I couldn't get the DSP software to stick though, and ended up replacing them.

In conclusion, computers are awful.

AirPods Pros and iPhone, same issue with the minimum volume not allowing a low enough volume. I want it to be quieter on the low end. I have a lot of issues with my AirPods and they are some of the best I’ve used, unfortunately.

I’ve also experienced the other issues in this thread about headsets switching modes when the microphone is activated. I had a pair of Bose noise cancelling headphones and original they worked nearly perfectly but after a firmware update the bug I updated for was fixed but it made the loopback from microphone to headphones always on. Why can’t they make any “perfect” headphones and why is this stuff seemingly so hard?

You can press and hold on the volume in the control panel on the iOS menu screen to get a fine-grained volume control and go lower than "minimum". Is even that too loud?
I’ve tried dragging the slider. One pixel is louder than the bottom stop from the volume buttons on android. Haven’t tested with bose or no-name stuff. Mostly just midrange audiophile stuff.
+1 here
My phone (Android 5, and I barely use it, frankly, so until it stops working I don’t need anything newer) does the same thing when connecting it to my car over Bluetooth, the first time after every reboot. It’s simply and flatly a stupid feature. If I could root the device I could turn off that switch ’cos it’s in a config file somewhere, but I’ve never succeeded (Samsung Galaxy J1 (2016)).
Yeah, that's what I'm afraid of lol.

It all depends on the implementation. A $2.6 trillion dollar company could probably rummage up the spare change to buy and measure the most popular earbuds/phones -- but why do that when you can

    if (volume>14) alert("You're killing your hearing!")
I don’t think the OS knows how many dB’s come out of the other end. My Boses act differently with different Bluetooth chipsets. On Linux I have to do 150% volume to hear much of anything
The computer knows what it's sending to Bluetooth and it knows some model identifiers from Bluetooth. This could be implemented well. But I agree, it probably isn't.
What if the manufacturer changes the sensitivity but keeps the Bluetooth identifier the same? I assume Apple would rather set a conservative limit for everything than risk getting sued for allowing hearing damage with an incorrect custom limit.
If not raising an alert is "allowing hearing damage" then they already do plenty of that, as does everyone else. It's not a reason to do a poor job. Maybe an excuse, but not a reason.
It'd have to set up their own audiolab and produce a long list of models and what the output levels are per volume setting. OTOH, these things should be standardized.
I just want an option for the OS to normalize everything going through the sound processor prior to coming out the other end.
> I want to commend Apple if they did the right thing and built a database mapping (model,volume_setting)->physical_volume

Even if they did, it would be out of date the moment it shipped.

But no, there's no reason to believe they'd do anything like that. It would be interesting if headphone manufacturers reported the dB range when connecting with Bluetooth to enable something like that, but I've never heard of such a thing. (That is an area where Bluetooth could enable something like that, in a way that the 3.5mm jack couldn't.)

Software updates aren't just for distributing first party malware, you know -- they could also conceivably be used to update a device database. We have the technology.

This is probably an "all of the above" situation. Implement on AirPods and push for a standard and make measurements of popular old models and have a fallback that assumes industry averages. On the scale of Apple, this is not much to ask.

Or, they could just make the volume slider run from min to max, instead of loud to louder.

Presumably the manufacturers already calibrated volume range based on the Bluetooth spec.

> Is the phone correct? If so, I'd be willing to sacrifice a bit of enjoyment for a bit of ear health.

Noise cancelling headphones/earbuds solved this problem for me. With noise cancelling I can keep volume below 20% and have a comfortable listening experience that doesn't blow up my ears.

For me, I know the Apple notification is probably right because I started noticing ear aches after long workout sessions a few years ago. This has completely gone away after noise cancelling.

Mmm, Bose works great for that. But if you accidentally go one past "lowest volume but not silent" (which is still a bit too loud when everything is quiet around you!) into "silent", then the Bose headset makes a VERY LOUD DING SOUND to alert you. Thanks Bose.
The volume which comes out of speakers and into your ears is dependent on many different things. Some that come to mind are the sensitivity and impedance of the speaker drivers, the amplifier in the earbuds and the fit over/in the ear.

They are most likely just setting a toggle at a percentage of maximum volume level. The phone has no way of knowing what the sound pressure is at your eardrums.

You can rest easy knowing that you can ignore the warning if you think it isn't loud enough with the caveat that you could be damaging your hearing over time.

> The phone has no way of knowing

It could make a useful guess based on device identifiers. Or it could make a useless guess based on industry averages or some random device an engineer had on their desk one day. It clearly does one or the other, the question is which. Useful or useless?

Occam's razor says they are not going to keep a list of all devices and their configurations including types of ear pieces and their sound pressure level output at each volume setting when they could just say if (volume > .75){ warning();} and call it a day. There is no benefit to going above and beyond in this case -- they just need to say they warned people.