Things die…

PCs eventually die. As with humans, this is a fact. No matter how much care we spend taking care of them or invest in upgrades, finally some vital component will fail and the device will go to the heaven of nonfunctioning gadgets (trash).

So after 4 years of work, a mini PC that I used as an HTPC meet its fate.

Time to upgrade, or so I thought.

The NUC

You may have seen or heard about the devices called Intel NUCs. These are compact PCs (very compact, think of a fancy wristwatch box (11 x 11 x 6 cm)) that are meant to be used as desktop replacements for light computer work, HTPC, kiosks or network clients. The NUC acronym stands for Next Unit of Computing.

So far so cool. The deceased HTPC was built around a Celeron 1037 dual-core CPU, 8Gb of RAM and a strange hybrid GPU that combined an Intel HD integrated GPU for usual tasks and an NVIDIA GPU for “heavy” graphics. This was known as ION graphics and somehow worked ok almost without any user intervention.

These mini PCs are cheap and save costs by using CPUs soldered to the motherboard, so the only viable possible upgrades are additional RAM or faster storage.

Checking prices and alternatives I settled for a NUC6CAYH, built around a quad-core Celeron 3055 CPU,, it is a barebones kit: you have to get your own RAM and storage. The barebones approach made sense since I had the hybrid HD and the RAM of the old machine still around.

After a lengthy conversation with the MS support guys in order to reactivate my Windows 10 Pro digital license, also salvaged from the dead HTPC, I proceeded to install the JRiver HTPC Media Center software (really nice piece of software, supported by a group of fanatical users and quirky but likeable developers), which is the heart of my HTPC system.

I did the corresponding audio setup of the software and bang!!!, I experienced the first disenchantment with the NUC.

Some background info

Allow me to explain myself: nowadays most people listen to the music they like through a streaming service, like Spotify or Apple Music or Amazon Music. If you listen to these services via the standard earplugs that came with your phone while walking in a downtown street, the result is OK for most of the people. But if you consider yourself a sort of an audiophile, that is someone who enjoys his music with the best possible attainable quality he can afford, the heavily compressed audio that these services provide will make you cringe.

Humans can hear sound frequencies that range from around 20 Hz to 20000 Hz (take or give some 10% margin due to age or unclean ears). According to digital sampling theory, if you want to avoid strange artifacts in your samplings (a phenomena known as aliasing), you need to sample your signals at a sampling rate that at least doubles the rate that you will use to reproduce your sampled data. This is the reason why Audio CDs are recorded at 44100 Hz and sampled with 16 bits resolution: you have double the frequency range that your hears can hear, so no aliasing should occur.

But, since most people use those white earbuds that came with their phones, they will complain that they can’t hear low frequencies and that their music is drowned by the noisy urban environment they are going through.

The solution to this issue came from the recording industry: the mixing engineers chose to compress the frequency range of the music to the upper range, That pushes the low frequencies upwards and enable people to hear the low tones by increasing the loudness.

So now you can hear the bass and drums sounds in your white earbuds, but the music sounds compressed, kind of flat, like an image with worn out colors.

This is why vinyl records are enjoying a rebirth. Vinyl records usually are meant to be played in dedicated environments, where you can appreciate the whole frequency range that we humans can hear. IMHO, a well recorded audio CD can sound as good as any vinyl record if it has not been compressed for loudness effect. And vinyl sounds good the first times you use the record, afterward vinyl wears out and you start listening to the cracks produced by the pickup stylus going through the spiral groove. I personally don’t like that sound, though for others is part of the experience.

Enter the world of high definition digital audio. Some companies offer digital versions of their catalog in special high definition audio formats: they usually start at a 48000 Hz frequency range and 24 bits (48/24 audio) sampling rate and can go up to 192000 Hz frequency range and 24 bits sampling rate (192/24 audio). This is usually referred to as High Bit Ratio (HBR) audio or, most commonly, as HD Audio.

The difference between an HD audio recording and a standard recording is really notable in a quiet environment, but it’s not perceptible in a noisy one. So I have gathered a collection of digital audio recorded with those high frequencies and bit rates. In order to playback (or render) those HD audio files, you can use some extremely expensive audio equipment (an option out of my budget) or you can use a small PC as an audio server. That’s where the NUC appears in the story.

Additionally, most movies and a few music records are available with HD audio using diverse multi-channel encoding methods also known as codecs. The encoding compresses the signal in order to reduce the bandwidth employed in the audio playback. Usually, a receiver/amplifier gets all the encoded data and decodes it with a dedicated DSP. Older codecs can be sent via a SPDIF (coaxial) or a Toslink (optical) connection. Modern high-resolution codecs require more bandwidth, so they require an HDMI connection.

We are talking about some intensive data transfer rates: a 192000Hz 8 channel audio signal implies a 1536000 Kbps data transfer rate, or 1,5 Mbps. On top of this you have to send the MPEG2 or H.264 encoded video signal available in your typical Blu Ray disc which needs a bandwidth from 8 Mbps up to 40 Mbps. That means that your HDMI cable could be transferring data at 40 Mbps!!!

You could also do the decoding in the HTPC using its CPU, so the receiver would get raw uncompressed digital audio, but since your receiver has dedicated DSPs for that specific chore why bother?

The process of delivering encoded audio to the receiver to be processed by its DSPs is called bitstreaming, and modern TVs use one single connection to receive the video data and they allow audio to go pass through its electronics back to the receiver. This technology is called ARC (Audio Return Channel) and the functionality is known as audio passthrough.

The HDMI specifications for the 1.0 version of this technology standard were written in 2002 and establish that a 1.0 HDMI connection must support 4 Gbps data transfer rates. The HDMI 1.4 standard doubled the capacity to 10 Gbps. So in theory, any HDMI compliant device should support the transfer of 1920 x1080p video plus 192×24 8 channels audio without even breathing heavily.

Who nucked my NUC?

I discovered that the NUC HDMI 2.0 output could not support 192/24 audio using the latest Intel drivers, although it actually played that kind of audio with older drivers quite well. The Intel community forums are fully packed with dozens of complains about this issue. Usual Intel responses were to upgrade drivers, update BIOS and apply firmware patches to the NUCs HDMI interface, all proposals being unsuccessful.

The Intel method of problem-solving

Finally, one member of the forums mentioned that sometime in 2017 Intel published new specs for the NUCs that quietly eliminated all references to HD audio codecs support.

So, according to Intel, if the specs don’t mention the issue, it ceases to exist. That is actual corporate customer support! Reminds me of Orwell “1984” ministry of truth…

NUC6CAYH specs, 2016 version

NUC6CAYH specs, 2017 version

You can see how the reference to 24/96 lossless audio and LPCM, 192/24, 8 channel audio just disappear from the datasheet.

Back to my NUC

I experienced the same issue in my NUC6CAYH, lack of support for DTS-HD-MA and other HBR audio file formats, lack of support for PCM audio at 192/24 encoding, applying the latest firmware and drivers limited the gizmo to 96/24 audio, etc.

Being a geek, I started to look for alternatives and trials, afterward, I discovered a couple of things:

If you start playing HBR audio in the NUC and then turn off the monitor or screen, my receiver started to bitstream audio at 192/24 effortlessly, even the so-called HBR file formats. The receiver correctly detected the HBR formats and worked ok.

If I turned on the screen (a Samsung 4K Smart TV), the sound went mute. Turning off the TV allowed me to recover the audio.

I suspect that the issue lies in either a bandwidth problem with the HDMI 2.0 LPSCON implementation in this NUC model or a case of just awful driver coding.

Intel chose to use a strange Display Port to HDMI adapter for the current family of NUCs. Here is the interface DSP datasheet (which is made by MediaTek).

MediaTek’s DSP datasheet clearly supports 192/24 8 channel audio.

After several tests, I tried to use the ASIO4ALL drivers, which are sort of a universal ASIO solution for sound devices that do not come with a manufacturer ASIO driver. The ASIO4All drivers are Open Source and free to use.

ASIO stands for Audio Stream Input/Output, it’s a standard created by the Steinberg company in order to provide musicians and audio engineers direct access to the audio hardware of a computer. It enables the audio software to get direct access to the hardware, bypassing all the WDM (Windows Driver Model) stuff in between. Microsoft offers a similar solution called WASAPI (Windows Audio Session API) which in theory offers the same benefits of ASIO, using WDM drivers.

And guess what?

Using the ASIO4ALL drivers, I can play audio at 192/24, even multichannel audio (8 channels)flawlessly. The problem with this approach is that the audio decoding is being done in the NUC’s CPU, so in Task Manager I could see CPU loads of up to 70% when decoding a 6 channel SACD ISO file.

The receiver gets LPCM audio up to 192/24 in 8 channels.

So, I defaulted the audio software player to use the ASIO4ALL drivers and decided to waste no more time trying to make WASAPI work (I kept using Jriver Media Center 23).

By the way, I’m using the latest Intel drivers, which are limited to 96/24 audio. The ASIO4ALL drivers don’t seem to care about this, playing audio at 192/24 just fine, although with heavy CPU load.

So, here goes a question to the Intel guys: Is this a hardware limitation or a software driver limitation? How is it possible that using a third party supplied ASIO drivers enables the NUC to do things that seem impossible with the Intel-native drivers?

By the way

I also discovered that the problem with HBR audio decoding is due to the poor ARC implementation in the Samsung Tizen 4k TVs. The ARC signal can be received by the TV as either PCM or bitstream, but the return audio signal can be only PCM, Dolby Digital, DTS or Dolby Digital +.

I guess that is why HBR encoded files play flawlessly if I turn off the TV: HDMI audio no longer uses ARC, it starts being decoded by the receiver.

The only alternative that I found is to use an HDMI audio extractor and splitter called HD Fury. This splitter detects the EDID info of each device that it is connected to and delivers what the device requires. Nice, but at 150 USD it seems to be a bit too expensive way to solve the 130 USD NUC’s problem.

Since I use the NUC mostly for audio, I can also leave the TV turned off and control the Jriver Media Center software via its web server or it’s Android app and get HBr support via WASAPI. But this is somewhat cumbersome.

So, I suppose that the life expectancy of my NUC will be reduced by the heavy CPU load while playing multi-channel HD audio, but at least I can still use the darn thing.

Go figure…..

Mirko Torrez Contreras is a Freelance Process Automation Consultant that craves for high definition audio. This time this hobby forced him to learn a lot about digital audio in order to avoid having to kick his NUC in the butt…