Antinode
ongoingIn testing
An Android music player that controls the whole audio path to a pair of Bluetooth earbuds, not just the part before it leaves the phone.
Play a 44.1 kHz file over Bluetooth and something in the chain almost certainly resamples it, silently, every time. Android pins the A2DP stream to one sample rate when the codec is configured, and with LDAC enabled it defaults to 96 kHz, so every 44.1 kHz file you own is converted on the way out.
Other players can tell you this is happening. What they cannot do is stop it: changing the A2DP codec configuration needs a privileged permission no ordinary app can hold. Antinode matches the link rate to the source instead, downsampling hi-res by integer decimation and never crossing the 44.1/48 boundary, the one conversion genuinely worth eliminating.
No module in the app declares a network permission, so it has no way to phone home whatever it is doing to your audio. It is in testing now, ahead of a closed beta.