Saturday, 16 December 2017

MEASUREMENTS: Oppo Sonica DAC and Bluetooth 4.1 (Low-Complexity SubBand Coding) Audio...

Merry Christmas everyone! Hope things are going well out there.

As you know, earlier this year, I had a look at the Oppo Sonica DAC including measurements with the "fixed" firmware. Over the last few months, I've actually sold the device to a "more needy" audiophile buddy. Remember, the DAC measured and sounded fantastic, but truth be told, it is to the point where I personally am not able to differentiate the sound quality from my already excellent TEAC UD-501 bought in 2013 and I didn't absolutely "need" any of the new features it provided. Furthermore, as you know from my discussions of digital room correction, sound quality IMO is more a function of other factors than just the DAC accuracy.

Before I parted with the Sonica DAC, I did make a few other measurements out of curiosity. One of the measurements was to have a listen and look at the Bluetooth 4.1 audio playback from my Samsung Note 5 phone to the Sonica.

As "audiophiles", when asked for "best practice", we will of course suggest the "ideal" forms of playback employing lossless files and audio transmission. However, there's no need to get all neurotic when we just want to listen to some music conveniently :-). For many out there, Bluetooth is the way to go as a simple way to project some audio around the house or on the go...

There are many codecs that can be used with Bluetooth streaming.  AptX (CSR/Qualcomm's proprietary codec) is well known as sounding very good. And these days, Bluetooth AAC/AAC+ is becoming very important as the preferred codec when paired with iPhones especially since the iPhone 7 stopped including the good ol' phono analogue output.

As far a I am aware, the Oppo Sonica DAC's Bluetooth 4.1 receives A2DP (Advanced Audio Distribution Profile) audio through the standard, low-complexity SBC (SubBand Coding) codec. I say "presumably" because Oppo says nothing about this in the user's manual and SBC is the default standard. I would imagine if they had licensed aptX or could decode AAC, this would have been announced in the product specs. Furthermore, on the aptX manufacturer list, Oppo seems to currently only have a couple phones listed as offering compatibility.

Bluetooth engaged... Notice scrolling track title during playback.
Pairing the Sonica DAC with my phone (Samsung Note 5) was quick and trouble free. I know that the Note 5 is capable of aptX, but the sound quality alas suggested that the Sonica DAC was indeed just SBC. I was curious of course how this measured using the usual RightMark software compared to various MP3 bitrates and of course direct lossless audio.

With the Oppo Sonica DAC running latest firmware Sonica-33-0511, here's the measurement set-up for Bluetooth:
Samsung Note 5 phone (Google PlayMusic app, no EQ/DSP) --> Bluetooth wireless --> Oppo Sonica DAC --> 6' RCA--> Focusrite Forte ADC --> 6' USB --> Win 10 laptop
And the set-up when measuring using MP3 and lossless FLAC files wired through the USB interface:
Pi Touch (piCorePlayer) --> 6' USB --> Oppo Sonica DAC --> 6' RCA --> Focusrite Forte ADC --> 6' USB --> Win 10 laptop
To be clear, the test signals on the Note 5 are lossless FLAC encoded files so whatever is being streamed to the DAC originated not as some kind of lossy-compressed source. Remember that given the bandwidth limits of Bluetooth (max 328kbps, converted by a low-power device), audio will have to be lossy-compressed with a target sound resembling "standard" resolution CD. Nobody expects "high fidelity" here through SBC Bluetooth, the question is whether objective measures will show the difference and the types of anomalies we may find.

Subjectively, on a good sound system, I think most of us can already appreciate the sonic degradation (at least with standard A2DP using SBC). For me, it's the treble notes I find most objectionable usually. There's a "swirly" undefined character to the sound especially with more complex passages. The treble also sounds "thin" and artificial - sort of like the loss of complexity when excessive Auto-Tune is used in modifying vocal tracks. Bluetooth SBC audio IMO also seems to be missing dynamic impact at times; I'm not sure if this is a temporal phenomenon or actual deterioration in dynamic range due to loss of resolution. Some of the degradation is akin to low bitrate MP3 at 128-160kbps. To me, higher bitrate MP3 (256-320kbps LAME encoder) sounds superior and I generally find them indistinguishable from lossless files which is consistent with our blind test results from back in the day.

Objectively, how does the Bluetooth stream measure? First let's use the 16/44 test signal. Here's the usual numeric table... Notice that on the left is the Bluetooth 4.1 output, then we have MP3's encoded in 128, 192, and 320kbps using LAME 3.99. Finally on the right is lossless FLAC.

As you can see, lossless playback over USB is best - as expected. It has better dynamic range, lowest noise, least measurable distortion. The only curious difference compared to the lossy results is with the stereo crosstalk with Bluetooth! I wonder if this has anything to do with the SBC encoding itself or the fact that Bluetooth is being decoded through the wireless circuitry rather than the USB input which received the MP3 and lossless data from computer to DAC. In any event, it's all very low.

As usual, it's in the graphs that we can appreciate the relative differences better...

Above is the frequency response graph. Notice that I zoomed into the graph a bit to accentuate the differences. Notice that the 128kbps MP3 is filtering off by about 16kHz, 192kbps MP3 dips off by 18kHz, and the 320kbps MP3 goes until 20kHz. The Bluetooth playback doesn't look lowpass filtered like the MP3.

Now let's have a peek at the noise floor:

Again, I'm zooming in a bit. What's obvious is that the Bluetooth playback through the Oppo is a bit noisier than MP3 playback; about 3dB more noise overall skewed towards the bass frequencies.

How about THD and IMD+N distortion sweeps?

Bluetooth SBC has about similar harmonic distortion as 128kbps MP3 and higher IMD+N; presumably much of it reflects the higher overall noise level as demonstrated above. Again, notice the low-pass frequency filtering with MP3 not evident in the Bluetooth (SBC) playback.

Remember that MP3 is encoded using psychoacoustic modeling so given a specific bitrate, the quality will scale down in a way that minimizes audible effect. One objectively detectable effect with lower bitrates is frequency smearing. For example, here's a simple 1kHz -3dBFS tone used in RightMark to calculate THD which shows this effect. Notice the "skirting" around the 1kHz primary signal especially with 128kHz MP3 that gets significantly better as bit rate improves. Incidentally, this "skirting" around the primary signal is similar to what we see using very jittery DACs (generally not a problem these days with asynchronous USB interface):

Notice how Bluetooth SBC acts quite differently compared to MP3 around the 1kHz signal even though the output looks noisier across the full spectrum.

I was curious, what if I tried to send a hi-res 24/96 signal through the Nexus 5 to the Sonica DAC through Bluetooth and compare that with 24/96-sourced MP3 encodes? Any difference?

As expected, again, the lossless measurement looks best. What's interesting in these numbers is how we can see MP3 is able to scale with 24-bit data. Back in the day (around 2000), I remember WinAmp's MAD MP3 decoder was already able to provide that extra bitdepth when decoding 24-bit audio. I'm using piCorePlayer for playback and evidently the MP3 decoder in that is producing 24-bit output to feed the Sonica DAC. Again, objective results improves with higher bitrate MP3.

Graphs time, let's just look at a few relevant ones...

None of the lossy Bluetooth / MP3 audio managed beyond 20kHz (no surprise). Again, I zoomed into the graph a bit to highlight the fluctuations in the upper frequencies. As many people have noted and in my own experience as described above, it's often in the higher frequencies that we can hear objectionable defects in lossy codecs. Even with a synthetic test signal, we can see the loss of "smoothness" which improves significantly with upping the bitrate.

Again, elevated noise levels with Bluetooth through the Sonica DAC which looks accentuated with a 24-bit test signal. Notice some noise spikes with Bluetooth at 5.5kHz and above. This could possibly be from the Bluetooth circuitry in the Sonica DAC itself (harmonics of 5.5kHz - 11, 16.5kHz) and not necessarily the codec.

Finally, there's the IMD+N graph. Again, we see the frequency limitations of the lossy codecs as well as the overall higher noise level with Bluetooth SBC unable to benefit from a 24-bit test signal.


Well, obviously when looking at lossy codecs, we're not expecting perfect results :-).

It's all about finding balance between bitrate reduction and unobtrusive sound quality. What we can say about the Oppo Sonica DAC's Bluetooth connection with my Note 5 is that compared to just an MP3 decode from the Raspberry Pi 3, it tends to be noisier overall. Just in case anyone's wondering, I doubt the noise is from the wireless connection itself but rather intrinsic in the lossy digital encoding. There's also no benefit to be gained with a 24-bit source whereas with MP3, there is at least the potential of a lower noise floor when sent audio data with greater bitdepth (even if ultimately, IMO it really doesn't matter).

Of course we can be even more demanding and use test tones like the 500Hz-spaced multitone reported in Stereophile a few years back to show off the relative differences between these lossy codecs; but even without anything all that special, it's not difficult to demonstrate the deviation from ideal.

I must say that with all the MP3 files out there, why is the MP3 codec not commonly implemented in receiving devices like Bluetooth DACs and headphones? MP3 is now officially patent-free (of course it didn't "die" as that silly article asserts). 320kbps MP3 sounds great, and is even lower bitrate than SBC's typical 328kbps. Online music sellers like Amazon still sells 320kbps MP3 and that's a common bitrate for online streaming like Spotify or TIDAL Premium so no recompression needed for transmission. Apple can stay with AAC for their devices and 256kbps Apple Music but license-free MP3 support would capture a way larger audience and provide sound quality at a lower price than proprietary solutions like aptX.


Well guys and gals, I hope this little exploration into the sound quality from using the Oppo Sonica DAC's Bluetooth input is somewhat interesting. I haven't seen many (any?) measurements especially of Bluetooth output from a high quality DAC in awhile.

To be honest, I rarely listen to Bluetooth audio but it's good to have run some measurements to get a sense of what SBC looks like in comparison to MP3. Maybe at some point I'll have a Bluetooth DAC with more codec compatibility to compare/contrast with aptX, etc...

On a practical note, for the Android users with aptX ability, I've heard good things about the V-MODA Crossfade 2 Wireless with aptX for a great sounding pair of Bluetooth headphones. Remember that if you own an iPhone, it looks like you'll need one with AAC/AAC+ decoding capability for best sound since Apple doesn't support aptX. Remember that this is only good if you're playing AAC files of course! I'm not sure whether there are great choices out there for AAC-compatible headphones... Might have to bite the bullet and grab a Beats headphone like the Studio3 or BeatsX for example to get at the benefits of Apple tech powered by their W1 chip (which of course debuted with the AirPods).

Looking ahead, what's potentially more interesting for high-end DACs would be Sony's LDAC codec to be incorporated into upcoming Android 8.0 "Oreo" releases (supposedly Sony "donated" the code to Android but I assume headphone / receiver / DAC manufacturers might need to obtain a license). LDAC has been around for close to 2 years at this time but hasn't penetrated the market much yet beyond Sony products like their NW-ZX100HN Walkman (or much more affordable NW-A35). The claim here is that LDAC will allow an increase to the audio bitrate to 990kbps and achieve 24/96-level sound quality. Even though that's still compromised compared to a direct wired link, an audiophile probably could appreciate high quality Bluetooth like that, or maybe aptX HD (claimed 24/48 resolution sound quality) incorporated into a device like the Sonica DAC. It's still lossy but certainly has potential...

The Sony MDR-1ABT headphones with LDAC, AAC, and aptX compatibility has been out since 2015. And if you're into IEM-type headphones, check out the Sony WI-1000X supporting the full range of Bluetooth codecs - AAC, LDAC, aptX, aptX HD, and of course SBC!

Just one caveat to remember about high-resolution sound. Double check on power utilization for mobile devices. It's great to have the potential for excellent sound quality like aptX HD and LDAC, but not if battery life for the mobile device or wireless headphone becomes severely sacrificed.

Okay folks, time to seriously enjoy the holidays with family in town!

Hope you're all enjoying some wonderful sights and sounds of the season. Merry Christmas and a Happy New Year!


  1. Interesting...this week in Montreal the company Bluewave Audio introduce an BT Headphone Amplifier based on Aptx HD codec.
    More info here :

    1. Thanks Blogue,
      That looks like a very nice device to get Bluetooth sound everywhere - aptX family, MP3, AAC codecs. $160CAD. Would be interesting what measurable difference 24-bit aptX HD makes for a device like this!

    2. I give them your name, they should contact you.

  2. Multi Tone for Testing Lossy Audio Codecs

    Hi Archi. As I have participated at a Working Group on Audio Codecs (some years ago), I would suggest to use Multi Tone for testing. You will be “surprised” that the characteristic of the “lossy codec output” does change with different signals in both channels and with different phase of the signal in both channels. Also one has to “learn” to interpret the measurement result (and compare this with listening tests). This is not as trivial as it looks from first sight, as this needs some experience. And also, the time behavior does differ within different lossy codecs (and with different content and phase relation from left to right). If you need some “test files”? ;-)


    1. Hey Juergen,
      Thanks for the note.

      Yeah, that would be great to grab some test files :-).

  3. Audio Precision Testnote 14:

    PS: This is a good pdf paper to go and have a read, how to test codecs.
    "Testing Reduced Bit-Rate Codecs Using the System One DSP Program CODEC"


  4. One of the details about Bluetooth that I'm unclear about is how it handles transmission of multiple types of audio simultaneously, especially when having to mix multimedia audio with device sounds (ringer, notifications, etc.). I had a back-and-forth convo on the comments thread of an Ars Technica article several weeks ago regarding this. I assumed, as you do, that if the source (e.g. phone) is playing an AAC file, and the sink (e.g. headphones) supports the AAC codec, then the file would be bitstreamed directly to the sink to be decoded, without any additional encoding for transmission. The other person believes that there would still have to be an additional encode after mixing the multimedia audio with system sounds (e.g. ringer, notifications, etc.). That would lead to a second step of lossy compression on an already lossy compressed AAC file.

    Or, like I originally thought, does the source bitstream the AAC audio directly to the sink to be decoded (when supported)? I still think it is done this way. There are different bluetooth profiles for multimedia audio (A2DP) vs other audio (like HSP or HFP for telephony). And the different profiles have different specifications for how to encode the relevant audio (HSP uses 64 kb/s CVSD or PCM), which would suggest that the sounds are transmitted unmixed via multiple streams.

  5. Hi Archimageo, InTheBoilerRoom and everyone else
    I have been researching the subject of how Bluetooth transmits compressed (aac) files as well recently. Like InTheBoilerRoom I have found only anecdotal evidence, no systematic research. It is unclear whether compresses (aac) files are first decoded and then reencoded using aac, sbc or aptx. The information I did find suggest that the4 files are first decoded and then reencoded for transmission.
    This situation is made worse by the fact that the Intel's bluetooth driver stack gives no indication of or control over the protocol being used. Android 8 (Oreo) at leasst allows the user to chose the codec he/she would like to use. But it does not give any indication of whether the aac file is piped directly to the sink or reencoded.
    Does anyone have any further information on this issue?