HDCD Decoding on playback

Dbpoweramp’s hdcd plug-in can apply a +6dB gain at rip time.

1 Like

Hi evand. I remember that, but found the resultant signal to be still lower than original. Not sure why.

If your DAC already decodes HDCD, do not also decode when ripping with dBpoweramp. That is unnecessary and redundant. Moreover, it may cause double decoding problems.

Instead, just rip to a lossless format, configure Roon with a bit perfect signal path, and let your DAC do its decoding.

As for volume level differences, that comes with the territory. If an HDCD employs the peak extend function, it will possess greater dynamic range, hence lower average volume level when decoded. A +6 dB level shift never should be utilized with peak extend – because that will result in digital clipping on some tracks.

So, turn up an analog volume control downstream, adjust to listening at a lower volume, or disable HDCD decoding. And in that last case, HDCDs that do not employs peak extend or low level enhancement do not require any decoding in the first place. Those discs are HDCDs only because they were converted with a Pacific Microsonics ADC.

AJ

1 Like

Hi Andrew,

Thank you for the message. I am not that proficient on some of this digital processing matter, so I would kindly ask a few question and make a few notes:

  1. My system involves Roon/Rock, router, wifi to Chromecast Audio, optical link to DAC;

  2. Initial I have simply ripped the CD using dBpoweramp to ALAC. No extra processing. My DAC did not like the stream. Kept jumping in and out of HDCD decoding. The sound of messy/noisy with constant droupouts. I then realized the CD was HDCD - Roxy Music, Avalon. By the way, it decodes fine when I play it through my CD transport;

  3. Is there a specific type of ALAC setup I should have used in dBpoweramp ?

  4. Based on that I did a search in the internet and read people advising to decode the HDCD using the DSP function inside dBpoweramp. But also saying the sound would be considerably lower if the final format was ALAC or FLAC with 24bit stream because of the change from 20bit to 24bit. And I can assure it sounded and look much lower in Roon player (looking at that waveform type scroll).

  5. I have also tried the option to amplify the signal by +6db, but it was still lower when compared to the initial stream (the noisy and messy one), so I tried a few DSP option and decide to go for the Volume Normalisation. I dont remember now the exact name of the option but it was based on peak volume.

  6. I would be more than happy to let the DAC do its job, but I must be doing something wrong when I rip the CD or in Roon setup.

  7. What do you mean by “bit perfect signal path”? My path shows as lossless and I do not apply any DSP on it. DSP is off. The only thing that I have noticed recently and have called Roon’s attention for is that since last iOS Roon upgrade, the CCA does not show volume processing as Passthrough, it shows 0db. But MacOS Roon shows it as passthrough when I look at the signal path.

Thoughts or advises?

Thank you.

Bests,
Pedro

jriver can detect HDCD info, flag it and decode it properly on the fly. Hoping Roon can someday do this as well.

1 Like

+1 on that.

Yes. Please ROON. Add HDCD decoding. Thanks!!!

2 Likes

+1 on HDCD decoding.

Hey Wizards of ROON!

How many requests are needed before you consider adding an option?

How many ROON owners are there total? Then a simple majority rules with no filibusters?

Maybe a poll of some kind to of top requests so they could be ranked?

Of course you would have the final say as only you would n the brainpower costs and financial.

Adding HDCD decoder required to pay Microsoft!

On the surface that seems true. But some programs have reverse engineered the HDCD decoding. For example, foobar2000 has a component that will decode HDCD for playback. It may be that the rules are different for something like foobar2000 (which is distributed free) as compared to Roon, which charges for its commercial product.

Because if the foobar2000 running inside the Windows, can get access to Windows built-in HDCD decoder, but if running in Linux environment, licensing maybe still required

good point. foobar2000 is a windows program.

Most programs get access to HDCD decoder via Windows Media Player

https://forum.psaudio.com/t/ds-and-hdcd/1627/3?u=hercules-2

No, not accurate.

About 15 years ago, someone deconstructed Windows Media Player and reverse engineered the HDCD decoder component. That became the basis for the hack hdcd.exe, which then became the basis for open source decoder solutions in foobar2000, ffmpeg, etc.

The patent infringement and trademark protection legality of the reverse engineered hack and subsequent open source implementations likely is questionable. Roon probably will not tread down that murky path.

AJ

4 Likes

So HDCD is DRM then…

Yes. And HDCD is/was about as useful and necessary as MQA is. Meaning, not very useful and not at all necessary. But HDCD legacy remains with us, and dealing with it can be a headache. Much the same will be true of MQA in the future.

AJ

4 Likes

This is the code I referred to in the other thread: HDCD Playback decoding. But the Reference Recording people claimed it didn’t work properly. They didn’t voice concern over violating anyone’s rights (perhaps they don’t care).

SK

Not Reference Recordings’ patent or trademark to protect, and never has been. Reference Recordings is/was just an HDCD licensee.

Pacific Microsonics developed HDCD, then sold itself to Microsoft.

AJ

1 Like

Space is cheap. Therefore, I rip my HDCDs three ways:

  1. iTunes no HDCD decoding
  2. DBPA HDCD decoding w/ +6dB added
  3. DBPA HDCD decoding w/o dB boost

Then I compare the +6 to the iTunes rip to see if there is any clipping with the +6. If no, I am good.

Then I compare the waveforms to look for peak extension. If the look the same, then no peak extension used.

Then I listen to all three via Roon on my main system. This tells me which ones I prefer. Sometimes I prefer the Redbook, sometimes the HDCD with +6 boost, and sometimes without. That is why I love this hobby. Then I set my default version based on listening—not by waveforms.

This stuff is fun for me. I see value in having Roon decode HDCD for streams that utilized it, but I don’t need it for my own library…I got that covered in spades.