Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: HDCD to 24 bit (Read 5204 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HDCD to 24 bit

Hi. I'm trying to convert audio with HDCD layer into simple 24-bit PCM WAV.




foobar2000 detects HDCD layer in the source WAV. Then I use converter with destination bit depth 24 and "Enable decode postprocessing" checked. But when I compare source 16-bit and resultant 24-bit WAV I see:

Quote
All tracks decoded fine, no differences found.

Comparing:
"D:\Various Artists - Feel Jazz_841kbps.wav"
"D:\Various Artists - Feel Jazz_841kbps_1411kbps.wav"
No differences in decoded data found.


If I use 16 bit as destination, I gat the same 16 bit WAV with detectable HDCD layer:



So, as we see, HDCD postprocessor doesn't want to work o_O

foobar2000 1.2.8, HDCD Decoder 1.15
🇺🇦 Glory to Ukraine!


HDCD to 24 bit

Reply #2
I see it differently. You have fine encoded 24 bit WAV or FLAC which doesn't require HDCD to be used while paying - it has "HDCD footprint" permanently encoded. You have 2nd WAV or FLAC. While it is decoded by bitcomparator HDCD decoder is used. In the end you have 2 streams - one which is HDCD decoded on-the-fly from 16 bit file, and one which is HDCD decoded to disk. Both resulting in the same stream passed to soundcard...

HDCD to 24 bit

Reply #3
Oh, bitcomparator also uses postprocessing... I didn't know it, thx.
🇺🇦 Glory to Ukraine!

HDCD to 24 bit

Reply #4
Well, okay... But it doesn't explain, why I get the same 16-bit WAV with HDCD layer when I convert to 16-bit, using postprocessor. And.. look at this:

Quote
All tracks decoded fine, no differences found.

Comparing:
"D:\Various Artists - Feel Jazz_841kbps_1411kbps.wav"
"D:\Various Artists - Feel Jazz_841kbps_1411kbps_nohdcd.wav"
No differences in decoded data found.


First file is 16-bit with hdcd layer -> 24-bit, postprocessor enable
Second file is 16-bit with hdcd layer -> 24-bit, postprocessor disabled

So in both cases I get the same stream. And postprocessor doesn't work...

P.S. And if I convert this audio back to 16 bit, foobar2000 detects the HDCD layer again...
🇺🇦 Glory to Ukraine!

HDCD to 24 bit

Reply #5
Maybe it is file that doesn't use any of the HDCD features in real, but has been just passed through HDCD equipment? In such case it will trigger all HDCD indicators but there will be no real decoding and altering of audio stream.

HDCD to 24 bit

Reply #6
Maybe it is file that doesn't use any of the HDCD features in real, but has been just passed through HDCD equipment? In such case it will trigger all HDCD indicators but there will be no real decoding and altering of audio stream.



Maybe... But why foobar2000 keeps HDCD "flag" after transcoding 16>24>16 with postprocessing feature? I thought this flag should be surely lost while decoding.
🇺🇦 Glory to Ukraine!

HDCD to 24 bit

Reply #7
I suggest asking question about that flag preservation in HDCD decoder thread. I performed encoding and bit comparison tests after I've read your firt post in this topic. I used Mike Oldfield's "Incantations" from remastered version, which uses HDCD encoding. It uses at least one HDCD feature in real - Peak Extension. Results of my tests are:
- if you use postprocessing and forced 24 bit output then resulting file is OK and gives no differences with original file. HDCD flag is not preserved - this is proper hardcoding HDCD into files.
- if you use postprocessing and let use Converter choose bit depth (Auto) you got resulting file that has clipping and HDCD flag preserved
- if you don't use postprocessing but use forced 24 bit output (simple padding) you got resulting file that has lots of differences from original file. HDCD flag is not preserved
- if you don't use postprocessing and let use Converter choose bit depth (Auto) you got resulting file that is the same as original file. HDCD is of course presrved.

Converting both 24bit WAVs back to 16bit with dithering used gives normal result - HDCD flag is NOT preserved. Bitcomparing those 16 bit files with original files (HDCD, 16 bit directly from CD) produces of course lots of file differences. Additionally bitcomparing source files (24bit) and resulting "back-to-16bit" files also gives lots of differences. When I disabled dithering I've made another test. I compared 16 bit no dither file made from forced 24 bit file without postprocessing (without hardcoding HDCD into stream). HDCD flag was restored. And it's proper - unnecsessary padding was removed and thus original signal has been found, with it's normal properties, including HDCD. I think that it shows that your files are "fake" HDCD - they could be passed through HDCD equipment but they don't use any HDCD feature. When I tried bitcompare file truncated to 16 bit, which was made from properly hardcoded HDCD I saw that there is no sense of doing this. Such file has lot's of clipping - like the one made with postprocessing enabled, but automatic bit depth selected. Now I am almost sure that you have those "fake" HDCD files.

HDCD to 24 bit

Reply #8
Now I'm even more confused... So your test file is also "fake" HDCD?
But...


Quote
- if you use postprocessing and let use Converter choose bit depth (Auto) you got resulting file that has clipping and HDCD flag preserved


Why it happens?

Could someone provide true HDCD sample???
🇺🇦 Glory to Ukraine!

HDCD to 24 bit

Reply #9
Could someone provide true HDCD sample???

Mark Knopfler - Sailing To Philadelphia (US version) (HDCD) for example.
There is easy way to check if it is true HDCD or not. After converting with postprocessor to 24 bit file you can test Actual Bit Depth in Audition (or other audio editor, I guess). If it is >16 bit then HDCD is true HDCD, if it is 16 bit - "fake HDCD".

HDCD to 24 bit

Reply #10
true HDCD sample???


With the HDCD component, you can right-click --> utilities --> scan for HDCD tracks. Both 'true' and 'fake' ones will be detected, but features are shown – and 'fake' HDCD is an informal term for those which do not use any of the features.  You will see it there.

HDCD to 24 bit

Reply #11
true HDCD sample???


With the HDCD component, you can right-click --> utilities --> scan for HDCD tracks. Both 'true' and 'fake' ones will be detected, but features are shown – and 'fake' HDCD is an informal term for those which do not use any of the features.  You will see it there.


Thanks! Now almost everything is clear.

But why do they use HDCD signature for audio without HDCD layer?

🇺🇦 Glory to Ukraine!

 

HDCD to 24 bit

Reply #12
Most probably because they were passed through specific device while mastering was done. Device "signatures" audio passed through it regardless of applying or not applying any HDCD features.

In response to one of your previous posts - I don't know why clipped file had HDCD signature/flag. Original file was for sure "true" HDCD" - even CD covers of remaster of Mike Oldfield's "Incantations" holds HDCD logo (as all Mike's remasters from about 2000-2001). If it was clipped, then HDCD Peak Extension was used while decoding/processing, but extended peaks haven't fit into 16 bit dynamic range while encoding and thus sound was clipped. If file wasn't clipped it will mean that it was a fake file. Resulting file shows definitely that HDCD processing was done, but improper bit depth/dynamic range was used to save decoded/processed information properly.