Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: What lossy format to use for Bluetooth transfer? (Read 4487 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

What lossy format to use for Bluetooth transfer?

I am considering getting a bluetooth speaker, mainly for use in my garden, using audio source from my phone.
It seems to be quite hard getting some information in advance what bluetooth codecs are supported by which device, the most i can find is bluetooth version number and A2DP version number, but no info on codecs.

Now, I want to avoid transcoding audio during bluetooth playback at *ALL* costs. Currently my audio format on my phone is 96 kbps Opus, which is perfectly fine, but i know this won't play over bluetooth without transcoding.

What coded should I go for to have 100% guarantee that it's being played back by the bluetooth speaker natively without transcoding at acceptable sound quality?  Will I have more luck with LAME -V5 or should i stick to AAC? What parameters should I look for for the speaker to avoid transcoding?

Re: What lossy format to use for Bluetooth transfer?

Reply #1
Unless you also use a special music player application (I'm not sure if such applications exist yet), the transcoding will happen anyway because the (decoded) sound has to go through a system-wide audio mixer.
Do you use an Android-based device?

Quote
Now, I want to avoid transcoding audio during bluetooth playback at *ALL* costs
At all costs? Why?
Do you want to avoid transcoding to reduce battery usage?
AFAIK, most bluetooth-specific codecs are specially designed to be energy efficient, so that might be not a big enough win in the end.
And no one of these bluetooth codecs will be transparent at 96 kbps (maybe except AAC, and maybe except MP3/LAME for some kinds of music — depends on your hearing), so you'll have to use more storage space if you switch from Opus.
a fan of AutoEq + Meier Crossfeed

Re: What lossy format to use for Bluetooth transfer?

Reply #2
In case this is about sound quality, it's not like a garden and a portable speaker make for an optimal listening experience.  Will transcoding make the situation any worse?  I doubt it.

Re: What lossy format to use for Bluetooth transfer?

Reply #3
AFAIK the only codec used both for music and BT A2DP in any significant way is AAC. Usually speakers and headphone manufacturers will advertise it if they use a non-SBC codec, it's selling point. Most modern Sony speakers and headphones use AAC at the very least, with higher tier ones using also LDAC. I know MP3 also can be used for BT, but no one that I know uses it, especially not any mainstream devices. In contrast, AAC over A2DP is supported in AOSP since Android 8.0, so probably all devices with 8.0 and above will support it. I think Apple also supports AAC on Bluetooth. Now if the devices will or won't reencode the AAC stream is up in the air, who knows.

Re: What lossy format to use for Bluetooth transfer?

Reply #4
i hate trancoding because it puts more strain on hw (thus reduces battery life and performance for other tasks), reduces audio quality while technically it’s absolutely unnecessary - itrancoding exists only because somebody in the chain was too lazy to implement the standards properly (or agree on the standards). i also have the concern that audio may be reencoded even if both the input and output support the same format, because just f*ck it.
after reading further into the topic i came to the conclusion that i should just stick to the plain old cable and avoid wireless audio transfer whenever it’s possible, because even if it works, the implementation is technically poor.

Re: What lossy format to use for Bluetooth transfer?

Reply #5
AFAIK the only codec used both for music and BT A2DP in any significant way is AAC. Usually speakers and headphone manufacturers will advertise it if they use a non-SBC codec, it's selling point. Most modern Sony speakers and headphones use AAC at the very least, with higher tier ones using also LDAC. I know MP3 also can be used for BT, but no one that I know uses it, especially not any mainstream devices. In contrast, AAC over A2DP is supported in AOSP since Android 8.0, so probably all devices with 8.0 and above will support it. I think Apple also supports AAC on Bluetooth. Now if the devices will or won't reencode the AAC stream is up in the air, who knows.

Don't forget aptX and aptX-LL

Re: What lossy format to use for Bluetooth transfer?

Reply #6
i am aware of aptx, but to me it still just proves how shitty today’s standars are. we already have opus. if aptx is better than opus then i want to encode my audio to aptx and listen to in even on my phone with wired headphones AND bluetooth devices WHITHOUT trancoding. if opus is better than it should be supported in a2dp. afaik opus was created especially with low latency streaming in mind.  bringing in aptx which is also heavily patented (i suppose) is pointless from technical point of view and is just a way of making money by qualcomm

Re: What lossy format to use for Bluetooth transfer?

Reply #7
aptx and Opus have totally different design goals. 
aptx doesn't need to save that much bits, but it needs to have the lowest possible latency (not even 20 ms) and be very easy to encode/decode. 
still if it's patented, it's crap, but so is Bluetooth as a whole, you can't simply add a codec to it without having a lot of bureaucratical drama AFAIK.
a fan of AutoEq + Meier Crossfeed

Re: What lossy format to use for Bluetooth transfer?

Reply #8
AFAIK the only codec used both for music and BT A2DP in any significant way is AAC. Usually speakers and headphone manufacturers will advertise it if they use a non-SBC codec, it's selling point. Most modern Sony speakers and headphones use AAC at the very least, with higher tier ones using also LDAC. I know MP3 also can be used for BT, but no one that I know uses it, especially not any mainstream devices. In contrast, AAC over A2DP is supported in AOSP since Android 8.0, so probably all devices with 8.0 and above will support it. I think Apple also supports AAC on Bluetooth. Now if the devices will or won't reencode the AAC stream is up in the air, who knows.

Don't forget aptX and aptX-LL
aptX isn't used in stored audio though, or streaming services. AAC is the only one that could potentially (realistically) be piped without transcoding over BT.

 

Re: What lossy format to use for Bluetooth transfer?

Reply #9
And I don't know if it would work for VBR or comparable modes. The few BT AAC devices I know of use 256kbps CBR.

Re: What lossy format to use for Bluetooth transfer?

Reply #10
To answer the OP directly: your best bet is to encode to AAC and have a phone and speaker that can use it over BT, which as I said above is not an insignificant number nowadays. Which devices are you using? Are you actually having battery troubles that you have pinned specifically to the transcoding? I'm pretty sure that part of the power usage equation is negligible in today's devices.

EDIT: posted without seeing the previous reply, so consider those parameters and if it's a good compromise.

EDIT 2: just noticed the mixer comment and it's right, it'll most likely be decoded to PCM first anyway.

Re: What lossy format to use for Bluetooth transfer?

Reply #11
aptx and Opus have totally different design goals. 
aptx and Opus have similar goals.
Main goal is high audio quality at low latency and affordable bitrates.

aptx doesn't need to save that much bits, but it needs to have the lowest possible latency (not even 20 ms) and be very easy to encode/decode. 
Latency numbers:
aptx (low latency mode) - 32 ms
aptx HD  - down to 1 ms.
Opus - 26.5 ms (by default). Configurable down to 5 ms.

P.S. Correction to aptx-HD numbers. https://en.wikipedia.org/wiki/AptX

Re: What lossy format to use for Bluetooth transfer?

Reply #12
i am aware of aptx, but to me it still just proves how shitty today’s standars are. we already have opus. if aptx is better than opus then i want to encode my audio to aptx and listen to in even on my phone with wired headphones AND bluetooth devices WHITHOUT trancoding.

Aptx is something like 20 or 25 years old. It's not that we already have Opus and aptx is some new format just coming out. It's been around long before opus.

Anyway, I would be very surprised if any devices actually skip transcoding even when given AAC files, so I don't think this is a real issue. It's all going to be transcoded, and the choice of AAC or Aptx are probably going to sound similar.

Re: What lossy format to use for Bluetooth transfer?

Reply #13
Correct me if I'm wrong, but doesn't LDAC have basically the same design goal of aptX-HD?
I.e. a low-latency (minimum latency?) codec.

I was under the impression, that both LDAC and aptX-HD not only produce high-quality output and being low-latency, it is also geared towards proper framing of the Bluetooth layer. Or is that aspect contained in being low-latency?

The question kinda arises why these high quality Bluetooth audio codecs exist in general, is it so we can connect a HD-audio source to a home stereo system or something?

In case of LDAC, it goes up to 24bit at 96kHz, at almost 1Mbit/s. This seems to me a bit overkill for bluetooth applications (unless there's a specific case which I'm unaware of). How do these two compare (aptX vs. LDAC), in terms of quality, bitrate, and latency? Is one more efficient than the other? I.e. assuming the same quality, is one or the other giving us better latency and lower bandwidth or something? Or perhaps is one more efficient in terms of decoding power than the other, so it saves battery life?

Harking back to Op's question, LDAC might be the better solution for him (notwithstanding the fact that a bt-boombox and outside environment isn't the best listening environment, etc).

Are there lossless codecs available for Bluetooth streaming?

Re: What lossy format to use for Bluetooth transfer?

Reply #14
Lossless codecs (which use some compression, like FLAC) for Bluetooth are pointless. A radio channel has a fixed maximum throughput, and lossless compression doesn't always compress (for reasons I hope I don't need to explain), so if a BT channel is wide enough to use lossless, it may as well use uncompressed PCM and save processing resources.
a fan of AutoEq + Meier Crossfeed