HDCD seems to be an abandoned format in hardware and software decoding support. I have grown frustrated with the late 90’s+ to today trend to see how “loud” they can master a CD, destroying the original recording the process, check out loudness war for some great examples and pictures. The HDCD encoding process is suppose to reduce some of the “loudness” and increase the dynamic range, it does not make a huge difference but it is better then nothing.
Since I archive all my music from CD’s in lossless compression I have been looking for a way to decode my HDCD collection to 24-bit 44.1K WAV –> FLAC files so I will not need any software or hardware decoders to playback the HDCD content, just a 24-bit DAC. I stumbled upon HDCD.exe and preform some tests to see if it matched Microsoft windows media players decoding of HDCD, end result, it does. Ready further if you want to see how I tested and how I got it wrong at first.
There is a lot of misinformation and conflicting reports on how HDCD data is stored, what data is stored, what the HDCD does, difference in decoders, etc. Also since Microsoft (the new owner of HDCD licensing) long since abounded there central point of information, HDCD.com, I can easily see why many people are confused about HDCD. It took a while for me to sort through the information.
After Microsoft acquired the company that designed the HDCD standard it slowly lost steam. This is why all versions of windows media player after and including version 9 include HDCD decoding support (24-bit output must be enabled and computer must have 24-bit sound card)
I decided to test HDCD.exe software decoder for myself after seeing a few posts saying that this software does not decode HDCD’s fully. I am a data and visual person so I had to run some tests and see if HDCD.exe can decoded HDCD information fully compared to windows media player.
HDCD.exe vs WMP 11 TEST 1
This test is Invalid, see second test 2 below, I removed the screenshots to avoid confusion.
Test 1: Using a WMP playback with windows direct sound capture to compare to HDCD.exe 24-bit decoded WAV
There seems to be an issue with the wav the direct sound function of windows works. The original CD EAC ripped WAV vs the direct sound capture of software playback of the original CD where almost identical but the same comparison done with WMP HDCD playback and HDCD.exe decoded wav were not, it may be that direct sound capture gets messed up in 24-bit. Either way the WMP wav out plug-in wav file matches the HDCD.exe decoded WAV, shown in test below.
HDCD.exe vs WMP 11 TEST 2
Test 2: Using a WMP wav-out plug-in to compare to HDCD.exe 24-bit decoded WAV
Here is how I tested this:
– I am testing this on the HDCD Sampler 2 album, track 2.
– I am running WMP 11, with 24-bit output checked in settings (there is a bug in WMP 11 where it will only show the HDCD logo when 24-bit output is disabled.. you have to turn on 24-bit output for the HDCD decoding to work). I am using the chronotron WMP wave output plug-in to output WMP playback stream to a WAV file.
– The second waveform is using HDCD.exe to decode an original HDCD ripped wav file to a 24-bit 44.1kHz HDCD decoded wav file.
Track information from hdcd.exe
Decoding Statistics: Packets Processed : 2730 Peak extend : Enabled permanently Minimum gain : -4.0dB Maximum gain : 0.0dB Transient filter (Unsupported) : Enabled intermittently
I have also tried tracks on HDCDs that do not use peak extend or transient filters and they match WMP decoded output
As you can see the output matches, if I invert the first waveform and add it to the second waveform in cool edit pro v2.1 I get the silence which confirms HDCD.exe is decoding the HDCD content the same as WMP is. Hope this helps others with questions about the two decoders.
It is important to note that WMP and HDCD.exe do not apply transient filters even if the disk has this feature enabled so software decoding will not be as good as hardware. I will try to grab the PCM stream to the DAC in my HDCD hardware player and post a compairison.
Other software decoders:
dBpoweramp has a DSP plug-in to decode HDCD but after looking in the plug-in folder you can see they are simply using the free HDCD.exe utility to decode HDCD information. If you have dBpoweramp and the dsp plug-ins installed take a look in the plug-in folder located in C:\Program Files (x86)\Illustrate\dBpoweramp\DSPs\HDCD -OR- C:\Program Files\Illustrate\dBpoweramp\DSPs\HDCD (depending if you have 64 or 32-bit OS) and you will find the HDCD.exe utility