• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Review and Measurements of Chromecast Audio Digital Output

Roger Gustavsson

New Member
Joined
Nov 9, 2020
Messages
4
Likes
2
This is a review and detailed measurements of Google Chromecast Audio digital output. The Chromecast is a tiny dongle that allows one to "cast" (stream) audio and video to a remote device. The audio version as the name implies, foregoes the video functionality and provides audio streaming. The retail cost is $35.

Chromecast Audio has dual outputs in the same 3.5 mm jack. One is the standard stereo analog. The other, by use of a cable you need to buy, is Toslink digital optical output. The appeal, and the scenario for testing in this article is that by addition of the Chromecast audio to your own DAC using Toslink you immediately turn your DAC into a networked streamer. Concern however has been raised that the Toslink output has too much jitter to be a good interconnect. In this article, I will be digging into this aspect of the device. In a future article I will measure its DAC and analog output performance.

The Chromecast Audio is a tiny round dongle. It has a USB jack for power and the aforementioned 3.5 mm jack. Here, you see it connected with my switching USB power supply and the special Toslink to 3.5 mm cable:


The device requires setup for its Wifi functionality which I won't dig into. After that, in my admittedly limited testing it has proven to be very reliable in being recognized and streaming audio.

I have procrastinated testing the Chromecast Audio because I was not happy with using Google Cast software due to fear of it not being "bit exact." The protocol Google uses for streaming is proprietary so until recently, you were stuck with whatever opaque data path Google provided. Previous tests used PLEX media server which I have also used in other testing but I still preferred to use something more known and better.

Enter Roon's support of Chromecast audio as a remote audio device. Since I use Roon for my personal music enjoyment and for testing devices that don't act like a sound device in Windows (i.e. all networked streaming/rendering DACs), I was very happy to read that Roon can now talk to Chromecast Audio. How well was something I needed to figure out.

Let's get into measurements and answer these questions.

Measurements
Guessing that Google's CAST protocol or software is limited to 16 bits, I created a 12 kHz tone at that bit depth for test of jitter and noise. Jitter's amplitude is proportional to frequency of source material and hence the high frequency of this tone (relative to common 1 kHz we use for other measurements).

For the test setup, I connected the Chrome browser to my Chromecast audio and dragged the above file to its window. That gave me a plain play/pause control which was fine for this purpose. At connection time it asked for the volume and I set that to max. I connected the Toslink output of the Chromecast Audio to the input of my APx555 Audio Precision analyzer Toslink input.

Here is output comparing the Chromecast output (red) compared to APx555 playing the same file over its Toslink output (blue):
View attachment 15618

Yuck! We have a massive transformation of our simple 12 kHz tone. Tons and tons of distortion spikes are added along with heavily modulated noise floor. Fortunately a lot of it is either at low amplitude or masked by the main tone. Assuming they amplitude of distortions is signal dependent, then they are not as audible as the graph indicates. Still, we don't want to see this level of degradation in such a simple tone. Even if there is lossy compression going on (which I suspect there is), a pure tone should be encoded perfectly since it is so easy to compress.

Lossy codec testing is almost always done using listening tests. But some measurements should be performed to make sure simple scenarios such as flat frequency response and distortion free (or close to it) is achieved with simple tones. Clearly this is not done by Google which is a shame. So forget about 24 bit audio, we can't play 16 bit audio properly here.

Fortunately as I mentioned, I had Roon to test so I powered that up, and went all out using my 24-bit J-test file:

View attachment 15619

As we see, the results are identical to a whopping -375 dBFS!!! The APx555 internal audio representation is 32 bit floating point so it is able to achieve very low noise floors as you see.

The spikes are supposed to be there by the way. J-test signal toggles the low order bit at the rate of 250 hz which when decomposed into frequency spectrum, will have 250 Hz tone followed by odd harmonics forever. Normally you don't see this because it is buried in the noise of analog measurements (and addition of dither).

What this says is that we have perfect digital capture at 24 bits/48 kHz sampling through Roon. This allows us to then perform our standard measurements and not be limited by the audio pipeline. To that end, let's connect the Toslink output to a Topping D50 and measure its analog output and see how the two sources compare:
View attachment 15620

Since we are measuring analog output, we see aberrations such as mains contributions on the left. And a couple of jitter spikes around our main tone. Important thing here though is that the results are identical whether I use APx555 to source the bits or Chromecast audio driven by Roon. The Chromecast Audio is not at all the limitation here and is as transparent as it needs to be.

Now, the blogger Archimago found jitter to be higher in Chromecast Audio than other sources he used. His test DAC was the Teac UD-501. I tested another variation of that DAC and it is not as well behaved as the Topping DACs are (see https://audiosciencereview.com/foru...asurements-of-teac-nt-503-networked-dac.2028/). I don't have the Teac anymore but do have a Schiit Modi 2 Uber which from prior testing, shows willingness to let noise on its inputs to bleed into its output. Here is how that comparison stacks up:

View attachment 15621

Now we see that the Chromecast Audio's Toslink output (in red) is indeed more "jittery." Here it is even more so than the Teac UD-501 that Archimago tested because the Schiit Modi 2 Uber is a lesser DAC.

Conclusions
There are a few here:

1. The CAST audio functionality of Google Chrome is horrid. There is no excuse for it to be butchering even simple 16-bit signals as it did. While audibly it is not as dire as it looks, I still would avoid it if you can.

2. Roon's implementation of Chromecast streaming is superb. It is bit accurate up to 24 bits and 48 kHz that I tested. Congratulations to Roon for job well done. I assume they received support from Google to implement it as the protocol otherwise is not open to the public.

3. The Chromecast output has more jitter than an audiophile/instrument grade Toslink output. This is evident when used with low quality DACs like Schiit Modi 2 Uber.

4. Using a well-designed Dac like the Topping D50, there is no difference at all between Toslink from Chromecast or higher fidelity sources. All the jitter is filtered out resulting in the performance of the DAC itself being the limit.

#4 is a great news here. It means that if you have a good DAC and use Roon, you can turn your DAC into a streamer/renderer using the Chromecast Audio. For just $35, that is a superb addition. As such, the combination of Roon and Chromecase audio is highly recommended!

EDIT: bit-perfect playback is also supported in Android apps like Hi-Fi Cast. See: https://audiosciencereview.com/foru...omecast-audio-digital-output.4544/post-102185. So you are not just limited to Roon.
-------------

As always, questions, comments, recommendations, etc. are welcome.

If you like this review, please consider donating using Patreon (https://www.patreon.com/audiosciencereview), or upgrading your membership here though PayPal (https://audiosciencereview.com/foru...eview-and-measurements.2164/page-3#post-59054).


As Tidal on PC has its own "Cast" function since this summer. How is that performing compared to Roon and Chrome?
 

Roger Gustavsson

New Member
Joined
Nov 9, 2020
Messages
4
Likes
2
I did some testing of different methods in my setup.
Looked up a CD I have and also found it on Tidal. This is a rare CD so I hoped for a non-remastered track on Tidal. Here the five options I tried:

1. From PC Tidal Hifi app (16/44.1k) over USB cable to my DAC.
2. From PC Tidal Hifi app and its "Cast" to Chromecast Audio to my DAC.
3. From CD-player to my DAC.
4. From iPad Tidal app via "Airplay" to Apple Airport Express to my DAC.
5. From Tidal app recorded internally on PC, "record what you hear".

Do you think there was a difference in audio quality?
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands

BDWoody

Chief Cat Herder
Moderator
Forum Donor
Joined
Jan 9, 2019
Messages
7,028
Likes
23,097
Location
Mid-Atlantic, USA. (Maryland)
I did some testing of different methods in my setup.
Looked up a CD I have and also found it on Tidal. This is a rare CD so I hoped for a non-remastered track on Tidal. Here the five options I tried:

1. From PC Tidal Hifi app (16/44.1k) over USB cable to my DAC.
2. From PC Tidal Hifi app and its "Cast" to Chromecast Audio to my DAC.
3. From CD-player to my DAC.
4. From iPad Tidal app via "Airplay" to Apple Airport Express to my DAC.
5. From Tidal app recorded internally on PC, "record what you hear".

Do you think there was a difference in audio quality?

Whether or not you heard a difference depends a lot on how you went about comparing them.

Did you hear a difference, and how did you do your comparison?
 

Roger Gustavsson

New Member
Joined
Nov 9, 2020
Messages
4
Likes
2
I played through my DAC/preamp and recorded the analog output with my digital recorder. The digital file via "record what you hear" was added. All file were then played from my PC using a USB-cable to the DAC/preamp. I cannot hear any difference. I also let some other guys listen to these files in their systems. Sofar, no one has reported a difference. If you are interrested in hearing the files, you can find them here: https://1drv.ms/u/s!AvzjTm87GsmDqD2lHAEUAE5AvmUz?e=ksQ0Fn

I did not use Tidal's app over the Chrome browser, the one that is reported rally bad. I do not have Roon to compare with but as the all files sound identical to CD, what can Roon do?
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands

mika91

Member
Joined
Mar 29, 2020
Messages
66
Likes
19
Hi
When plugging the chromecast to dac with the optical out, is it the volume control disabled on smartphones app?
I’d like to have a fixed 100% volume, with only volume control on my preamp.
 

Bamyasi

Senior Member
Joined
Feb 19, 2019
Messages
487
Likes
354
Hi
When plugging the chromecast to dac with the optical out, is it the volume control disabled on smartphones app?
I’d like to have a fixed 100% volume, with only volume control on my preamp.
No.
 

MrOtto

Senior Member
Joined
Nov 4, 2020
Messages
456
Likes
357
Is using maximum volume from Tidal app and in Chromecast Home app and then regulating volume only on amplifier the best method of regulating volume when using a computer/phone and Chromecast connected to an amplifier? For as little as possible distortion?
 

mSpot

Senior Member
Joined
Nov 15, 2018
Messages
405
Likes
519
Is using maximum volume from Tidal app and in Chromecast Home app and then regulating volume only on amplifier the best method of regulating volume when using a computer/phone and Chromecast connected to an amplifier? For as little as possible distortion?
When casting to Chromecast, the Tidal and Chromecast volume controls are tied together and don't operate independently. Chromecast pulls the stream directly from the Tidal server, and volume in the Tidal app is like a remote control of the Chromecast.

When using Chromecast Audio's optical output (connected to an external DAC), set volume on the Tidal app and Google Home app to maximum, to best preserve the digital stream sent to your DAC. Then control the volume using only your amplifier.

If connecting Chromecast Audio's analog output directly to an amplifier, there is a possibility that the output of the Chromecast may clip during loud passages with the volume turned up. Set the Chromecast volume to a level somewhere in the middle where you can get a wide volume range using your amplifier's volume control. Basically set the Chromecast volume so that its output is approximately like a line level signal expected by the amplifier.
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands
When using Chromecast Audio's optical output (connected to an external DAC), set volume on the Tidal app and Google Home app to maximum, to best preserve the digital stream sent to your DAC. Then control the volume using only your amplifier.

Except if you have a DAC that doesn't handle inter-sample peaks - in that case, turn down the Tidal/chromecast volume 6 db or so.
 

mSpot

Senior Member
Joined
Nov 15, 2018
Messages
405
Likes
519
Except if you have a DAC that doesn't handle inter-sample peaks - in that case, turn down the Tidal/chromecast volume 6 db or so.
I am not familiar with this concept. If Chromecast is receiving a bit-perfect CD quality stream from Tidal, why wouldn't you want to pass it directly to the DAC? Same with digital output from a CD transport.
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands
I am not familiar with this concept. If Chromecast is receiving a bit-perfect CD quality stream from Tidal, why wouldn't you want to pass it directly to the DAC? Same with digital output from a CD transport.

Inter-sample peaks are cases where the interpolation of the DAC output results in amplitudes higher than the normal full scale (typically caused by hyper-compressed recordings). Many DACs are driven to clipping if exceeding normal full scale.

True_Peak_Oct_2016.png
 

mSpot

Senior Member
Joined
Nov 15, 2018
Messages
405
Likes
519
Inter-sample peaks are cases where the interpolation of the DAC output results in amplitudes higher than the normal full scale (typically caused by hyper-compressed recordings). Many DACs are driven to clipping if exceeding normal full scale.

View attachment 99325
So, such a DAC should apply digital attenuation (essentially a form of dynamic compression) all the time, and you wouldn't want to connect it directly even to a CD transport? Is this a problem with just a very small proportion of recordings? Audiophiles have pursued unaltered bit-perfect playback, and this is telling them to let it go.
 
Last edited:

Glasvegas

Active Member
Forum Donor
Joined
Apr 13, 2020
Messages
293
Likes
203
Except if you have a DAC that doesn't handle inter-sample peaks - in that case, turn down the Tidal/chromecast volume 6 db or so.

So, how do you know if your DAC doesn’t handle inter-sample peaks?
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands
So, how do you know if your DAC doesn’t handle inter-sample peaks?

It is easy to generate a suitable test file with something like audacity (or other free audio editing software). The result is of course easier to see if you have an oscilloscope.
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,028
Likes
4,035
Location
Amsterdam, The Netherlands
So, such a DAC should apply digital attenuation (essentially a form of dynamic compression) all the time, and you wouldn't want to connect it directly even to a CD transport? Is this a problem with just a very small proportion of recordings? Audiophiles have pursued unaltered bit-perfect playback, and this is telling them to let it go.

Audiophiles have pursued all sort of goals, some of them make sense, others don't. In most cases modern digital volume control is just as good or better than analog volume control.
 
Top Bottom