The most budget audio streamer option is an HDMI streaming stick. The cheapest of them fluctuates around $30.
However, there is a problem. All known HDMI sticks upsample everything to 48kHz. Yes, connecting USB DAC to some of them is possible, but it complicates things and increases the price.
So, the main question here is this: how big of an issue is this upsampling? Can you hear it?
To answer this question I bought an HDMI capture device, which can be connected to a PC via USB so that the audio stream can be captured and analyzed in its digital form.
Two of the devices under test didn't have HDMI: Wiim Mini and Hisense Android TV, so I had to use a digital Toslink connection Creative Sound Blaster G3.
Test signals were generated by REW, 1 kHz tone at 44.1 and 48 kHz and 16 bit.
Here are my results:
BubbleUPnP was used as a DLNA UPnP controller, Plex as a local player, UAPP as both a DLNA UPnP controller and local player (with the same results), VLC as a Chromecast controller, XCast as a controller for Roku.
And here are the winners:
Wiim Mini is included for comparison, as it's not an HDMI streamer. It seems to be bit perfect in the tested scenarios.
For almost all other scenarios 44.1 had lower quality than 48 kHz test, the median difference is around 1 dB. However, Plex on Android TV has some serious issues, making THD+N worse by 15/20 dB.
Even though all HDMI streamers degraded audio quality, the difference in 1 - 5 dB of THD+N is impossible to perceive at around -90 dB level IMHO. Fire TV showed the worst results, but maybe even that is not very audible on most systems. My conclusion is that the source, player, EQ, DAC, speakers and their placement, listening room and listener's hearing play a much bigger role than 44.1 -> 48 kHz upsampling.
Versions of the DUTs:
Google TV HD, Kernel 5.4.180-android12-9-g7b1240a30d10
Fire TV Stick 4K, Fire OS 6.2.9.4
Hisense Android TV, V0006.01.00A.L025, Android 9, Kernel 4.9.118+, Build PTMR.190127.037, Chromecast version: 1.61.329909
Roku Streaming Stick 4K, Model: 3820X, Software Version: 11.5.0 build 4312-CU
Players:
BubbleUPnP 3.6.9.1 (arm64-v8a)
Wiim Home 2.3.5.221217.f1a589
Plex 9.13.1.37459
Roku Plex 7.0.23.8111-8c8a6a9b7-Plex
Roku XCast 1.0 build 1
VLC for Android 3.5.3. 2022-11-03
REW 5.20.13
All measurements in REW mdat format are attached (I had to split the measurements file into 44.1 and 48 kHz parts, as the attachment file size limit seems to be around 3 MB here).
However, there is a problem. All known HDMI sticks upsample everything to 48kHz. Yes, connecting USB DAC to some of them is possible, but it complicates things and increases the price.
So, the main question here is this: how big of an issue is this upsampling? Can you hear it?
To answer this question I bought an HDMI capture device, which can be connected to a PC via USB so that the audio stream can be captured and analyzed in its digital form.
Two of the devices under test didn't have HDMI: Wiim Mini and Hisense Android TV, so I had to use a digital Toslink connection Creative Sound Blaster G3.
Test signals were generated by REW, 1 kHz tone at 44.1 and 48 kHz and 16 bit.
Here are my results:
Streamer | Player | Sample Rate, kHz | THD, dB | N, dB | THD+N, dB | THD+N loss, dB | 44.1->48 cost, dB |
Source file | REW | 44.1 | -107.1 | -98.4 | -97.8 | 0 | |
Source file | REW | 48 | -97.1 | -137.2 | -97.1 | 0 | |
Google TV HD | Plex | 44.1 | -109 | -78.9 | -78.9 | 18.9 | 19.5 |
Google TV HD | Plex | 48 | -97.7 | -139.7 | -97.7 | -0.6 | |
Google TV HD | BubbleUPnP | 44.1 | -101.6 | -95.9 | -94.9 | 2.9 | 1 |
Google TV HD | BubbleUPnP | 48 | -95.2 | -137.7 | -95.2 | 1.9 | |
Google TV HD | VLC | 44.1 | -102.9 | -89.9 | -89.7 | 8.1 | 0.4 |
Google TV HD | VLC | 48 | -94.5 | -91 | -89.4 | 7.7 | |
Fire TV 4k | Plex | 44.1 | -90.7 | -70.5 | -70.5 | 27.3 | 1.4 |
Fire TV 4k | Plex | 48 | -90.1 | -71.3 | -71.2 | 25.9 | |
Fire TV 4k | BubbleUPnP | 44.1 | -89.8 | -71.2 | -71.2 | 26.6 | 0.7 |
Fire TV 4k | BubbleUPnP | 48 | -89.8 | -71.3 | -71.2 | 25.9 | |
Roku TV | Plex | 44.1 | -105.2 | -96.7 | -96.1 | 1.7 | 0.1 |
Roku TV | Plex | 48 | -95.5 | -136.8 | -95.5 | 1.6 | |
Roku TV | XCast | 44.1 | -104.9 | -96.4 | -95.8 | 2 | 0.2 |
Roku TV | XCast | 48 | -95.3 | -138.9 | -95.3 | 1.8 | |
Wiim Mini | Wiim app | 44.1 | -107.2 | -98.4 | -97.8 | 0 | 0 |
Wiim Mini | Wiim app | 48 | -97.1 | -135.2 | -97.1 | 0 | |
Wiim Mini | BubbleUPnP | 44.1 | -107.2 | -98.4 | -97.8 | 0 | -0.2 |
Wiim Mini | BubbleUPnP | 48 | -96.9 | -133.1 | -96.9 | 0.2 | |
Hisense Android TV | Plex | 44.1 | -101.9 | -78.7 | -78.7 | 19.1 | 14.7 |
Hisense Android TV | Plex | 48 | -94.1 | -130.8 | -94.1 | 3 | |
Hisense Android TV | UAPP upsample | 44.1 | -95.3 | -94.2 | -91.7 | 6.1 | 1.1 |
Hisense Android TV | UAPP | 44.1 | -92.1 | -93.4 | -89.7 | 8.1 | 3.1 |
Hisense Android TV | UAPP | 48 | -92.1 | -130.3 | -92.1 | 5 | |
Hisense Android TV | BubbleUPnP | 44.1 | -97.1 | -94.2 | -92.4 | 5.4 | 1 |
Hisense Android TV | BubbleUPnP | 48 | -92.7 | -130.1 | -92.7 | 4.4 |
BubbleUPnP was used as a DLNA UPnP controller, Plex as a local player, UAPP as both a DLNA UPnP controller and local player (with the same results), VLC as a Chromecast controller, XCast as a controller for Roku.
And here are the winners:
Best streamers | Best player | THD+N loss, dB |
Wiim Mini | Wiim app | 0 |
Roku TV | Plex | 1.65 |
Google TV HD | BubbleUPnP | 2.4 |
Hisense Android TV | BubbleUPnP | 4.9 |
Fire TV 4k | BubbleUPnP | 26.25 |
Wiim Mini is included for comparison, as it's not an HDMI streamer. It seems to be bit perfect in the tested scenarios.
For almost all other scenarios 44.1 had lower quality than 48 kHz test, the median difference is around 1 dB. However, Plex on Android TV has some serious issues, making THD+N worse by 15/20 dB.
Even though all HDMI streamers degraded audio quality, the difference in 1 - 5 dB of THD+N is impossible to perceive at around -90 dB level IMHO. Fire TV showed the worst results, but maybe even that is not very audible on most systems. My conclusion is that the source, player, EQ, DAC, speakers and their placement, listening room and listener's hearing play a much bigger role than 44.1 -> 48 kHz upsampling.
Versions of the DUTs:
Google TV HD, Kernel 5.4.180-android12-9-g7b1240a30d10
Fire TV Stick 4K, Fire OS 6.2.9.4
Hisense Android TV, V0006.01.00A.L025, Android 9, Kernel 4.9.118+, Build PTMR.190127.037, Chromecast version: 1.61.329909
Roku Streaming Stick 4K, Model: 3820X, Software Version: 11.5.0 build 4312-CU
Players:
BubbleUPnP 3.6.9.1 (arm64-v8a)
Wiim Home 2.3.5.221217.f1a589
Plex 9.13.1.37459
Roku Plex 7.0.23.8111-8c8a6a9b7-Plex
Roku XCast 1.0 build 1
VLC for Android 3.5.3. 2022-11-03
REW 5.20.13
All measurements in REW mdat format are attached (I had to split the measurements file into 44.1 and 48 kHz parts, as the attachment file size limit seems to be around 3 MB here).
Attachments
Last edited: