Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe it’s because macOS uses a worse audio codec: https://gist.github.com/dvf/3771e58085568559c429d05ccc339219


I don't think the AirPods support anything better than mSBC for bidirectional audio on iOS either. (AAC and aptX are only unidirectional, and macOS already supports AAC and uses it for the AirPods.)

But maybe iOS just uses the built-in microphone more often to avoid having to switch away from (high quality) unidirectional audio on Bluetooth?


Considering it is Apple they could also be using a proprietary profile that side-steps this issue, especially since they created their own Bluetooth chip (Apple Hx). But again, I don't know if this is true or not since I don't have an iPhone to test.


The second-generation Airpods Pro even do feature a custom low-latency audio codec, but it's apparently only used for the Vision Pro (which is a real shame, as it would be extremely useful for latency-critical things like playing rhythm games on iOS and macOS as well).

On the standards side, there's Bluetooth LE audio, which also offers very low latency, but that might actually require hardware changes (I believe there's reliance on some hardware layer changes).


Not really, the main issue is the Bluetooth profile[1] here. HFP is the profile used for bidirectional (i.e.: when you're using both the headset and microfone) while A2DP is the profile for unidirectional audio (i.e.: when you're only listening). The main issue is that HFP uses a much worse codec than A2DP, that is optimised for voice and not music. Newer versions of HFP supports mSBC that is a simplified version of SBC (the main codec used in A2DP) that is better but still significantly worse than SBC (and SBC is not considered a good codec anyway).

However I can't really answer OP question. I am not sure how iPhone get a better sound quality if what OP is saying is true (I don't have an iPhone). What I know is that in Linux you can activate mSBC and this improves the quality a lot when using HFP profile, but it is still significantly worse than anything A2DP has to offer. I also think Android uses mSBC if available, but I am not completely sure.

[1]: https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles


I believe this is the correct answer.


I can confirm it is, and all things considered reasons go slightly beyond just the codec, see my nearby comment: https://news.ycombinator.com/item?id=41705258




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: