Is AAC worse on Android than iOS?
Dec 17, 2019 at 5:43 PM Thread Starter Post #1 of 7

neil74

100+ Head-Fier
Joined
Jul 26, 2017
Posts
259
Likes
60
Location
UK
Found this article interesting https://www.soundguys.com/the-ultimate-guide-to-bluetooth-headphones-aac-20296/

Anecdotally I have always found there to be something better about Bluetooth on iOS and this only really changed when I started using the Sony 1000 m2/m3s and LDAC with Tidal Hifi. Some googling seems to point to apple using a superior AAC transcoder vs Fraunhofer FDK on android, but there is not much info out there. The article is obviously not recent and I’d like to see other devices especially vanilla or close ones like the pixel or Oneplus.

It’s an interesting one and maybe SBC could actually be the better option on android?

Thoughts?
 
Dec 17, 2019 at 6:44 PM Post #2 of 7
My guess is that it won't be different.

You are changing the digital file into an analog signal, either it can read the digital file, or it can't. There's not really an in-between to my knowledge. I'm no dev or know much about software bare in mind

The only difference would be in the quality of the DAC and the amp. But that is up to each individual device
 
Dec 18, 2019 at 5:30 AM Post #3 of 7
I guess in the real world listening to actual music, the difference will not be big. I did some more digging this morning and there are a number of vague references both on here and the wider interweb to the android ‘bluetooth stack’ being inferior. Potentially down to apple having dedicated (and good) hardware encoders and android using a mix of maybe cheaper hardware and software encoding. Android has LDAC and APTX so maybe manufacturers do not focus as much on the AAC implementation?


I’d like to see the soundguys test run again with a wider range of up to date hardware. What is interesting though is the possibility that SBC could be the better option for android?
 
Dec 18, 2019 at 7:07 AM Post #4 of 7
You are changing the digital file into an analog signal, either it can read the digital file, or it can't. There's not really an in-between to my knowledge. I'm no dev or know much about software bare in mind
Not necessarily. AAC, like MP3, is an example of a lossy format - upon encoding uncompressed audio (e.g. WAV) into an AAC file, data has been selectively thrown away (therefore quality has been permanently lost) in order to achieve a smaller file size.
This is in contrast to lossless encoding formats like FLAC which don't throw away data, but use clever algorithms to store it in a smaller filesize - just like when you put files in a ZIP archive, when you uncompress them nothing has been lost - lossless audio is the same.

The bluetooth audio standard includes a number of lossy audio codecs (e.g. MP3) which all bluetooth compliant devices support. So if for example your audio files are in MP3, then the MP3 stream is sent over bluetooth unaltered, and the receiving device decodes it into an uncompressed audio stream which sent to the DAC and converted into an analog signal, amplified and sent to the speakers/headphones. This is fantastic as we haven't done anything to further degrade the audio compared to a wired setup. The digital data made it to the DAC completely unaltered from what was stored in the MP3 file.

If your files are in AAC, then in order not to lose quality the receiver must support the optional AAC codec. If not, the AAC audio will be transcoded (decoded then re-rencoded) into a different lossy audio format which is supported by both bluetooth devices, before it is wirelessly transmitted. This additional lossy encoding step degrades the audio quality further.

To my knowledge, there is not enough bandwidth provided by the bluetooth audio standard to support unencoded CD quality audio reliably.
If this was not the case, the AAC audio could be decoded and completely un-encoded 1411kbps CD quality audio could be transmitted over bluetooth. Or if the source was unencoded or lossless audio, you could have a completely lossless bluetooth setup.
Lossless encoding can't be used for wireless transmission because it makes no guarantees about bitrate - complex audio patterns can cause the lossless algorithms not to work efficiently and the encoded audio may not be any smaller/lower bitrate than the unencoded audio. Therefore to support lossless would also imply the wireless link can also support completely unencoded audio, so why would your bluetooth devices bother encoding to lossless in the first place.


That said, most decent lossy codecs like MP3 and AAC are subjectively 'transparent' at rates above about 200kbps. I.e. even though the audio quality has been slightly degraded, the degradation is so slight it cannot be perceived by humans.
SBC is a simple codec so it is not as efficient as AAC and MP3 but is much easier for devices to encode on-the-fly. As a result, 300kbps SBC is going to degrade quality more than 300kbps MP3 or AAC. As to how much degradation you can tolerate depends on the quality of your audio devices and your hearing.
The bottom line is, if you must transcode, you might as well select the highest bitrate and best encoder that your devices support, to minimise the degradation in quality caused by transcoding. Afaik this is currently LDAC 990kbps. One downside however is that the higher bitrate you use for bluetooth transmission, the more likely you are to encounter interruptions due to wireless interference.
 
Last edited:
Dec 18, 2019 at 8:50 AM Post #5 of 7
My guess is that it won't be different.

You are changing the digital file into an analog signal, either it can read the digital file, or it can't. There's not really an in-between to my knowledge. I'm no dev or know much about software bare in mind

The only difference would be in the quality of the DAC and the amp. But that is up to each individual device

There is an in-between step actually, both Android and iOS transcode your original audio file before transmitting over Bluetooth, regardless of what format your original file is in (so all AAC files are transcoded again to AAC on iOS, even if your Bluetooth device supports AAC). Lossy transcoding is always gonna throw out some data, so Bluetooth is always tossing some audio data away. Theoretically if the codec used is well designed any data loss is inaudible to human ears, but if a phone uses a truly inferior codec than it is possible that there could be some audible loss in quality.
 
Last edited:
Dec 18, 2019 at 10:58 AM Post #6 of 7
This seems to be what the soundguys article is getting at, that android may be worse at the packing up and sending part.


Worth knowing for any android users who are considering a set of AAC cans like the QC35 or NC700.
 
Oct 18, 2020 at 6:35 PM Post #7 of 7
That's almost targeted android bad-mouthing what soundguys.com does. In addition flimsy half-truths. For the most part, this only affects frequencies in the range around 15k in the diagram. It is not without reason that most equalizers only go up to 16k, some even only up to 8k. Soundguys is referring to flimsy psychoacoustic lousy games. As an example, the drop in the diagram for lg v30 aac would be at around 17 kHz ... that is already in an area that can be described as barely audible.

Here is a quote from Soundguys: " ...Audio frequency is measured logarithmically, and there’s very little content in music above 16kHz. ...The bulk of what you hear appears well below 10kHz..."

Although soundguys admit that everything over 16khz doesn't really matter anymore, because music usually only reproduces content below this value anyway ... And yet they now ride this ridiculous topic meticulously until sunset.



1603059338724.png
 
Last edited:

Users who are viewing this thread

Back
Top