Friday, January 29, 2010

Playing HDCD in Full Resolution

Do you recognize this logo on the left? You may see it on the back cover of some of your CDs. This means your CD has High Definition Compatible Digital (or HDCD) information encoded in the disc. HDCD is an encode-decode process that improves the sound quality of HDCD-encoded CDs. If you play the HDCD disc in a CD player that includes the HDCD decoder, the audio is played back at 20-bit 44.1kHz. These CDs are also backward compatible with a regular CD that uses the standard Redbook CD specification (which is any CD that will play in a CD player). So when you play an HDCD disc in a regular CD player, it plays just like any other CD at 16-bit 44.1kHz.

I'm not sure exactly why these discs sound better. According to the wikipedia article for HDCD, it could be due to the mastering engineers taking advantage of 4 more bits of dynamic range and digital interpolation filtering which results in a more natural, open, and accurate sound reproduction. I think the engineers that take advantage of HDCD are probably more careful when mastering, use less compression, and are concerned about overall sound quality, just like they are when mastering for vinyl, SACD or DVD-Audio.

The only way to take advantage of HDCD with a PC was to play the physical disc with Windows Media Player. Microsoft actually bought the developer of HDCD technology, Pacific Microsonics, and all their intellectual property, in 2000. If you ripped your HDCD disc to your computer's hard drive (or media server), the audio would not play back at the higher resolution. It would just play back as a regular 16-bit 44.1kHz CD.

I recently discovered that you could use a combination of tools to convert HDCD encoded audio files into a higher resolution and take advantage of the higher quality recordings. It's important that your ripped CDs are exactly the same as the original CD. If they are compressed using a lossy format like MP3, this will not work. If you use lossless compression like FLAC or lossless WMA, it should work. One method is to use the custom little decoder program 'hdcd.exe'. This little tool will input the 16-bit WAV data and if it finds the embedded HDCD info, it will upconvert it to 24-bits. The last 4 bits of this 24-bit file are empty, so your DAC just sees it as a 20-bit file. For more information on how to use this command line utility read this thread at Doom9's forum. Apparently it will still work with non-HDCD encoded files, but the volume will be cut in half. So maybe this isn't the best method. Or, supposedly there's a way to check if the file is HDCD encoded using hdcd.exe in test mode. So it's probably a good idea to check if the file is HDCD encoded first.

Another method, which I believe is a lot more convenient, is to use dBpoweramp. Using dBpoweramp's conversion utility, you can activate their HDCD plugin, which automatically detects HDCD encoded files and decodes to 24-bit. If the file is from a non-HDCD audio CD, it is left as 16-bit. Again, it will only work if the file is exactly the same as the original HDCD encoded CD. So it had to have been ripped to uncompressed WAV or losslessly compressed FLAC, lossless WMA, etc., etc. When you convert the file just use the same encoding method (I usually just use FLAC) and overwrite the original file.

You can now play your decoded 24-bit 44.1kHz audio file on your PC with any software player. Now, all you have to do is dig through you CD collection and check the back of the disc for the HDCD logo and go to work. If these CDs have already been ripped, then use the dBpoweramp converter to decode them to the higher resolution. Some HDCD encoded discs do not have the logo printed on their back cover, but still include this capability. You could always use dBpoweramp to test if they have HDCD, but that might take a lot of time. You can also search the web for a list of HDCD encoded CDs. I was able to find this list on Head-Fi's forum. So before you dig through all your CDs, you might want to check to see what's on the list. I plan to convert all my HDCD encoded CDs to 24-bit when I get the chance.

6 comments:

  1. Hello Greg,

    I've been doing these conversions for over a year now since I first followed the author's discussion about the converter on the doom9 forums.

    Recently, however, a foobar2000 plug-in has been released which claims to be able to do the up-conversion to 24bits on the fly. After you've installed it, you need to do the following:

    1) Set Windows Audio Output to a 24bit resolution (or use WASAPI)
    2) Set foobar2000 to output 24bit
    3) Disable replaygain processing as it may interfere with the HDCD detection.

    ReplyDelete
  2. Have to agree with Jorgo. Up-scaling HDCD files to 24-bit (or more sensibly to 20-bit) is now obsolete since Foobar2000 can reproduce HDCD quality from the original 16-bit files (with the HDCD plug-in installed).

    ReplyDelete
  3. Hello

    I'm trying the HDCD plugin but foobar still display 16bits instead of 24 for my HDCDs (track properties) :-/ Foobar as well as my soundcard are set to output 24bits and I don't use any DSP nor replaygain in foobar2000

    Any idea?

    Thanks

    ReplyDelete
  4. You do have the HDCD plugin active, right?? (just checking)

    ReplyDelete
  5. I HAVE THE ORIGINAL TWO HDCD RECORDINGS DALLAS LITTON AND A DICK HYMAN RECORDING OF ELLINGON OR SOMEONE ELSE BUT THE MAJORITY OF HDCD DISCS ARE BY THE GRATEFUL DEAD (I GUESS JERRY LIKED THIS FORMAT GOD BLESS HIS SOUL!)I COULDNT EVER TELL THE DIFFERENCE IN SOUND QUALITY-I HAD A CD CHANGER THAT RECOGNIZED HDCD BUT NEVER A AN AV RECEIVER THAT DID I'LL TRY YOUR SUGGESTIONS IF YOU FELL THE SITES ARE SAFE I ALREADY USED DVD AUDIO EXTRACTOR TO RIP AMERICAN BEAUTY AND RIDING WITH THE KING BOTH AT 96 AND 88 BIT SOUNDS GREAT ON MEDIA MONKEY AND I CAN LISTEN AT <=-30dB RATHER THAN AT >-20dB WITH ALL MY RIPPED CD'S IN EITHER FLAC FOR MM OR WMA LOSSSLESS FOR WMP I HaVENT SIGNED UP FOR THIS PAGE YET SO YOU REACH ME AT rburdic2@twcny.rr.com or at bobbmd on computer audiofile SORRY FOR THE CAPS HIT THE CAP LOCKE BUTTON!

    ReplyDelete
  6. For Mac users. Convert hdcd to 24 bits apple loss less.
    Quick list of steps.
    What you need:
    ITunes
    Wines (windows app emulator)
    Dbpoweramp windows installer (for hdcd.exe)
    Tune up (to clean the tracks and avoid doing it manually)


    Steps:
    Wine should be installed and dbpoweramp install in wine.
    Convert the hdcd to WAv via iTunes. Using wine dos command line copy to wine drive. Use hdcd dos command line to convert to 24bits WAv, bring back to Mac file system, add to iTunes, use iTunes to convert to apple lossless, clean with time up.

    ReplyDelete