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 Decoder (Read 330069 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HDCD Decoder

Reply #225
The component does not need to be placed anywhere in the foobar2000 installation folder to use the Install... feature. In fact, placing the component in the installation folder (but not the components folder) does nothing. Installing places the component in the user-components folder, which is located inside the user profile folder.



Which is a pain to find and locate if you have to turn it on/off.


For those of us with external HDCD decoders it would be nice to have the component display the HDCD data but not decode as an option.

HDCD Decoder

Reply #226
I will consider adding that. (Also, by that folder option I meant the simple option. Remove: Open preferences, right click component, remove. Install again: Use the Install... button or drag the downloaded archive onto the same preferences page.)

HDCD Decoder

Reply #227
For those of us with external HDCD decoders it would be nice to have the component display the HDCD data but not decode as an option.


There are external HDCD decoders for digital files that do different stuff than what is implemented in fb2k?

HDCD Decoder

Reply #228
I don't think.
But it might make sense - in my case, I have the PC in one room and sometimes I want to listen in another via WDTV Live connected to a HDCD decoding receiver.

HDCD Decoder

Reply #229
For those of us with external HDCD decoders it would be nice to have the component display the HDCD data but not decode as an option.


There are external HDCD decoders for digital files that do different stuff than what is implemented in fb2k?



You are asking why I don't just decode with the software?  The PMD100 HDCD digital filter used in nearly all classic DAC's is just a wonderful sounding filter,  this goes beyond HDCD its oversampling algorithm and filtering are just incredible.  So I want to feed it bit-perfect not decoded as it was designed for.  It just so happens that my DAC uses a PMD100 but the HDCD  indicator light is located inside not visible (for obvious reasons.)

So,

I just want there to be a readout on the status bar with hdcd-yes, gain, peak extend, transient filter.  while not decoding.

HDCD Decoder

Reply #230
You are asking why I don't just decode with the software?  The PMD100 HDCD digital filter used in nearly all classic DAC's is just a wonderful sounding filter,  this goes beyond HDCD its oversampling algorithm and filtering are just incredible.  So I want to feed it bit-perfect not decoded as it was designed for.  It just so happens that my DAC uses a PMD100 but the HDCD  indicator light is located inside not visible (for obvious reasons.)


I wasn't aware that there are such filters implemented in other devices except CD players. I'll have to doublecheck my own Onkyo TX-SR606 now.

Update: Onkyos don't seem to have them. Do you have any info where a stand-alone (non-soldering) PMD100 could be bought?

HDCD Decoder

Reply #231
I understand from reading this thread that 'filter switching' at output is a red herring, since there was only ever one filter.  But if the PMD-100 used a specific reconstruction filter,  wouldn't faithful software emulation of HDCD decoding require emulating that particular filter?  (leaving aside whether it makes an audible difference)


Yes and no.

Every soundcard, soundboard, or external D/A converter has a DAC chip. 99.9% of the time, this DAC chip has a built-in digital filter. 0.1% of the time there is a separate external digital filter. The digital filtering is basically never handled in software by your computer.

So the real question you need to ask is, "How much variation there are in various hardware digital filters, and furthermore how much they differ from the one built into the Pacific Microsonics decoder chips"?

The answer is that, in general, the differences are very small. There are a few new (expensive) external D/A converters that have minimum-phase digital filters. There are a few (expensive) old and new D/A converters that have "slow-rolloff" digital filters. These can make small changes in the response of the filter, both in terms of amplitude and phase. These changes are restricted to the top octave (above 10 kHz), so there sonic impact will be minimal.

The bottom line is that the only way to exactly copy a PMD-100 is to exactly copy a PMD-100. But the tools available to you now will get you 99% of the way there, and maybe more.

HDCD Decoder

Reply #232
Update: Onkyos don't seem to have them. Do you have any info where a stand-alone (non-soldering) PMD100 could be bought?


The PMD-100 was a digital filter / HDCD decoder chip designed to be used with a D/A converter chip. It hasn't been made for ten years. You can still find them on eBay from time-to-time, but building a DAC box with these chips is a seriously advanced project. You can't just add this to your receiver...

There were other HDCD decoding chips also, but they were all discontinued within a few years of the PMD-100. The only way to decode HDCD now is either with software (eg, this Foobar plug-in or the "official" WMP package) or with programmable hardware. These are DSP chips that are typically built into either DVD players or Blu-ray players and the developers pay a license fee to Microsoft to build an HDCD decoder into the chip.

HDCD Decoder

Reply #233
Denon and Harman Kardon had those DSP-based decoders in their top-tier receivers and DVD-players. Now, with the plague of "bluray" based sound formats, and MS lack of commitment, I think that support for HDCD divindled to almost zero.

Personally I have also an Apex AD3201 player (from 2000) that decodes HDCD.
Chinese DVD playes are the only ones still in the HDCD area - don't know why. Sound quality is unknown...

HDCD Decoder

Reply #234
I think that support for HDCD divindled to almost zero.

Absolutely correct.

Quote
Chinese DVD playes are the only ones still in the HDCD area - don't know why. Sound quality is unknown...

As a Hong Kong Chinese myself, my advise is -- Don't trust anything which is purely "Made in China" without any western participation
Hong Kong - International Joke Center (after 1997-06-30)

HDCD Decoder

Reply #235
Denon and Harman Kardon had those DSP-based decoders in their top-tier receivers and DVD-players. Now, with the plague of "bluray" based sound formats, and MS lack of commitment, I think that support for HDCD divindled to almost zero.

Personally I have also an Apex AD3201 player (from 2000) that decodes HDCD.
Chinese DVD playes are the only ones still in the HDCD area - don't know why. Sound quality is unknown...



A few years ago Oppo DVD players also featured HDCD decoding.  Not sure if that's still the case.

HDCD Decoder

Reply #236
Yes, Oppo players still suport HDCD decoding. To the latest bluray 3D capable BDP-95.
Personally I think an older Denon is a cheaper option with similar quality - I have DVD-2930 and DVD-2910 with HDCD decoding. And Denon AVR-3805 with same...

HDCD Decoder

Reply #237
I don't know if it's decoding my HDCD CDs, because when i use "scan for HDCD tracks" nothing is found. But when I scan my WAV or FLAC HDCD files they're recognized. the version is 1.11... can it be a problem with my drive?

HDCD Decoder

Reply #238
It may be a conflict due to the scanner attempting to process multiple tracks at once, which is impractical for audio CDs.

HDCD Decoder

Reply #239
so there's still the possiblity of despite that they're being decoded? It happens with individual tracks too
I'm using Windows 7 64, Xonar STX beta ASIO drivers(wit the foobar asio plugin enabled) and a Sony BWU 500s(whose offset is not present in database so not configured).

HDCD Decoder

Reply #240
Thanks for your work in this, kode54.

My question is, if I have a "HDCD" without peak extension enabled, would I possibly gain anything by decoding it? What happens with the control bits after decoding? I guess they are just replaced by regular dither?

So after decoding to 20 bit the last 4 bit will be emtpy and the 16th bit will only hold regular dither instead of the dither with control bits hidden in it. The possibility that one would ever hear a difference is about zero. Right?

HDCD Decoder

Reply #241
Actually, the control bits are encoded in the dithering. There is no way to remove them, really.

HDCD Decoder

Reply #242
Actually, the control bits are encoded in the dithering. There is no way to remove them, really.

OK, but what is done with the signal at all when there's no peak extension enabled? I examined some tracks with foobar and the bit comparison did show some minor differences (~0.01% of the samples), though the peak values were unchanged and I didn't ever bother to try to ABX the tracks.

HDCD Decoder

Reply #243
There should be no difference at all if the volume isn't being halved and there's no peak extension. The signal is otherwise passed through unmodified, except for the conversion from and back to float.

HDCD Decoder

Reply #244
There should be no difference at all if the volume isn't being halved and there's no peak extension. The signal is otherwise passed through unmodified, except for the conversion from and back to float.

So the differences are most likeley due to rounding error, I guess. But what about this low level extention stuff?

HDCD Decoder

Reply #245
Ah, right. That's another thing that affects volume. It can reduce the volume level up to 7.5 dB, with some minor ramping between each volume change.

HDCD Decoder

Reply #246
Is the low level compression/expansion always enabled in HDCD audio or is it triggered by a control bit like the dynamic range expansion? I ask because there is no info variable related to it.

PS. Argh, excuse my horrible typos

HDCD Decoder

Reply #247
Yes, there is %__hdcd_gain% or $info(hdcd_gain) if you prefer. It will show negative gain levels other than 0.0 dB in the event that the low level adjustment is active.

HDCD Decoder

Reply #248
Oh, I didn't know that it relates to the low level extension. I thought it was just an overall gain. TFEM

 

HDCD Decoder

Reply #249
Is the low level compression/expansion always enabled in HDCD audio or is it triggered by a control bit like the dynamic range expansion?


Earlier in the thread is an example string that you can place in the status bar that will give the status of the HDCD decoding. The one I use now is:

%codec% | %samplerate% Hz | $info(bitspersample) bits | %channels% | %playback_time%[ / %length%] | %bitrate% kbps | HDCD = %__hdcd% | $if(%__hdcd%,'('PE: %__hdcd_peak_extend% LLE: %__hdcd_gain% TF: %__hdcd_transient_filter%')')

I keep refining it to give the information I like. I'm getting there...

As far as LLE goes, it is pretty much dead in the water as you found when you compared files. The problem is that they wanted to use compansion techniques to create a 20-bit dynamic range from a 16 bit system.

Peak Extend (PE) is either on or off for the entire song (actually the entire album except in the case of compilations). One the other hand LLE varies throughout the song. But here's the catch -- it's useless! The reason is that although it can theoretically provide another 7.5 dB of dynamic range (in 0.5 dB steps), it isn't activated until the average signal level drops to -40 dBFS! For any pop recording this only happens in the silence between tracks. So sometimes you will see the LLE come on as a track fades out. For classical music this level is reached when a solo instrument is playing pianissimo. As soon as a second instrument comes in or they start to play at normal volume, the LLE goes off because the level is above -40 dBFS. So even on classical music LLE is only used about 1% of the time...