Egregoros

Signal feed

Timeline

Post

Remote status

Context

7
Do Android devices actually transmit differing audio over Bluetooth?

I'm confused because I have a OnePlus Pad 3 and a Fairphone 5, both running e/OS/. But for whatever reason when I connect them to my speakers over bluetooth, both using regular old SBC and volume set to 100% on device (without adjusting speaker volume) somehow the sound from my Pad 3 sounds darker and contains more bass, while my Fairphone sounds brighter and less bassy.

Like wtf, I always assumed that unless your Android ROM tries to do some crappy Dolby or Virtual "Surround" shenanigans it'd just take the same bits of PCM, compress them to SBC and ship them out over bluetooth. Why does it sound different???
At first I thought I was going mad and this had to be some weird placebo-ish thing. But no. But when I leave the speakers are untouched and test both client devices with the same audio player (Finamp), same Android ROM, same Bluetooth codec and same audio file, for whatever reason they sound different. The only variable is the hardware, which shouldn't really matter when you never do a digital to analogue conversion.

Are there some real cursed hardware shenanigans going on here? Is there a difference in how the two SoCs compress bluetooth? Or is the audio -> SBC conversion done by some proprietary firmware blob and one of them contains some fucked hard-coded EQ?

I feel like I'm going mad, taking a lossless audio file, then playing it with the same app, and compressing it to the same codec using the same UI and shipping it off over the same wireless protocol should in theory yield the same result, no? Everything is (supposedly) happening digitally in software.
@ignaloidas no i know that, but my speakers don't have fancy bluetooth, it only does SBC (the baseline required by the spec), it doesn't even do AAC.

Also
>4 different protocols

you poor innocent child.
I know of at least 8:
- SBC
- AAC
- LDAC
- aptX
- ̶a̶p̶t̶X̶ ̶L̶L̶ (Low-Latency)
- ̶a̶p̶t̶X̶ ̶H̶D̶
- aptX Adaptive
- aptX Lossless

aptX Adaptive deprecated LL and HD (it's essentially aptX HD which automatically does LL if supported by the receiver, Adaptive is backwards compatible with HD receivers)

@quad@akko.quad.moe there's a reason why I said "like" (tho didn't know there were 5 different aptX ones lol)

weird that even with the speakers being able to only run with a single protocol, it's still different, I'd guess somebody put some sort of filter in the android audio chain for phone speakers, yet it still gets applied for external audio as well

@ignaloidas Oh well, I guess I didn't notice the "like" well enough.

Also while googling around for details about Android and Bluetooth Profiles I found out there are three more codecs I personally didn't know about either:

- SSC (Samsung Scalable Codec, apparently only used between Samsung phones and their earbuds???)
- LHDC (Basically LDAC but someone decided to reinvent it, it seems)
- LC3 (Lower complexity codec intended for BLE devices. Probably intended for stuff like transmitting microphone input from a TV remote to TVs with a voice assistant or similar)

The filter thing seems like a reasonable guess.