XXHighEnd

Ultimate Audio Playback => XXHighEnd Support => Topic started by: DannyD on February 25, 2010, 07:14:27 pm



Title: Volume control extinguishes HDCD light
Post by: DannyD on February 25, 2010, 07:14:27 pm
I use the HDCD light on my Berkeley Audio DAC to determine bit perfect data.  When I lower XXHE’s volume control the HDCD light goes out.  This conflicts with my understanding that XXHE’s volume control doesn’t damage the sound.  Can someone enlighten me?   


Title: Re: Volume control extinguishes HDCD light
Post by: PeterSt on February 25, 2010, 08:07:58 pm
Haha ... I'l try ...

First of all, the fact that the light lits is not a guarantee that you are receiving bit perfect data (at in your case the Alpha). But with XXHighEnd you can depend on it because, well, I say it is. So, you can use this to determine the other way around : when does XXHE stops to be bit perfect.

Allright. When the digital volume is used, the data just *can not* be bit perfect anymore. Why ? well, because the digital data just *is* changed. It must, because you are just using the digital data to lower the volume. For example, a value of 1000 which is lowered by 6dB will become 500. Simple.
And next, the HDCD decoding notices this, because it expects a 1000 to remain 1000. Notice that this is a way simple explanation of HDCD, but what it comes down to anyway : when it doesn't see the 1000 as 1000, it can decode anymore. So, this is to keep in mind. Light off = doesn't decode HDCD.
Btw, the same happens when you upsample the data. Not because 1000 changes into something else then, but because the position in the sample where the bits are expected, is changed.

Good. Now, why do I say/claim that applying the digital volume doesn't "molest" the data, or SQ if you want ...
(but, do not incorporate change in SQ because HDCD decoding not working anymore, okay ?)

This is because the actual data indeed is NOT changed. Only the volume is "perceived" lower by the DAC. Do note though the DAC needs to be a 24 bit DAC, and the data you apply must be 16 bit data (or 32 vs 24, also good). Now, with a 16 bit DAC and 16 bit data, a sample may look like this :

1001011000101101  (this is 16 bits, and represents the volume value of one sample of one channel).

With a 24 bit DAC, it looks like this :

100101100010110100000000 (this is 24 bits, and the last 8 bits are 0 -> they don't do a thing to the sound, while meant to imply better volume resolution).

Ok. I know I am going to be too simple now, but let's say I don't want to tell everything. But, too simple doesn't mean the next is 100% true :

100101100010110100000000
010010110001011010000000

Do you see what happened ? all bits shifted one position to the right, and this works out as 6dB lower volume. But, everything is there and really nothing is lost ! However, *now* the last 8 bits of your 24 bit DAC chime in, because, well, it just can ! So, there's exactly as much detail hence volume resolution. And because of that, SQ will be exactly the same, no matter you attenuated. And you can do this up to 48dB, which would look like this :

100101100010110100000000  (-0dB)
000000001001011000101101  (-48dB)

And still *nothing* is lost.
Ain't that great ...

Keep in mind though that a DAC is not at its best at the least significant bits (shown at the right side here).

Please keep in mind : the story is somewhat (:swoon:) more complicated, but this is the general idea.
Peter






Title: Re: Volume control extinguishes HDCD light
Post by: DannyD on February 25, 2010, 08:29:46 pm
Oh God… I’m sorry I asked!  Actually I think I get it, at least except for the case of HDCD material.  I thought HDCD DACs knew to do some extra processing when presented with data they recognized as being HDCD-encoded.  If the HDCD light on my DAC isn’t on, then the DAC must not know it’s supposed to do the extra processing.  Right?  Are you saying that in the case of HDCD material, you do the extra HDCD processing within XXHE when you see that the volume has been attenuated?


Title: Re: Volume control extinguishes HDCD light
Post by: PeterSt on February 25, 2010, 10:22:56 pm
Danny - It was a very good question actually.

Quote
If the HDCD light on my DAC isn’t on, then the DAC must not know it’s supposed to do the extra processing.  Right?

Must not know ... doesn't know. So, correct.

Quote
Are you saying that in the case of HDCD material, you do the extra HDCD processing within XXHE when you see that the volume has been attenuated?

Very indirectly you can say that it does come down to that, yes. Two remarks though :

1. You'd have to use Arc Prediction in order to let that work;
2. Without attenuation and Arc Prediction active both XXHighEnd and your HDCD decoder attempt to do it (but XXHE is the first in the chain of course).

In either case - and might you not already know - choose Filter-2 on your Alpha. It is judged by others to give the best result (with Arc Prediction !). And there seems to be some logic in that as well (which I did not make up, but I'll believe it). But please have a listen to that ...

Peter


Title: Re: Volume control extinguishes HDCD light
Post by: manisandher on February 25, 2010, 10:31:48 pm
Without attenuation and Arc Prediction active both XXHighEnd and your HDCD decoder attempt to do it (but XXHE is the first in the chain of course).

Not sure if I understood you correctly Peter, but with Arc Prediction active, the DAC will not attempt to perform any HDCD decoding. Why? Because the LSB that contains the HDCD flag has been changed.

Are you saying that in the case of HDCD material, you do the extra HDCD processing within XXHE when you see that the volume has been attenuated?

There's more to HDCD encoding/decoding than meets the eye (see my 'HDCD 101' thread).

Technically, XXHE doesn't do any HDCD decoding - XXHE has no idea whether material is HDCD encoded or not.

Using the volume control in XXHE (in any player actually) will switch the HDCD decoding off in your BADA - not because the decoding is then performed in XXHE, but simply because the LSB that contains the HDCD flag has been changed. If this is the case, then no HDCD decoding is performed anywhere.

However, Arc Prediction in XXHE is very similar (maybe identical?) to Peak Extension in HDCD. But AP isn't for everyone. Indeed, some BADA users, like earflappin, prefer not using it (which from a theoretical point of view I can understand). FWIW, I love AP (Quad) with my DAC, even though it stops the 'official' HDCD decoding.

If I had a BADA, I would be inclined not to use the volume control in XXHE with HDCD-encoded material.

Mani.


Title: Re: Volume control extinguishes HDCD light
Post by: PeterSt on February 25, 2010, 10:40:07 pm
Without attenuation and Arc Prediction active both XXHighEnd and your HDCD decoder attempt to do it (but XXHE is the first in the chain of course).

Not sure if I understood you correctly Peter, but with Arc Prediction active, the DAC will not attempt to perform any HDCD decoding. Why? Because the LSB that contains the HDCD flag has been changed.

Of course you are correct Mani. I made the wrong combination; With or without attenuation, Arc Prediction is not bit perfect (this is "a" upsampling means I referred to earlier), and thus HDCD decoding won't take place.

It's very good I'm not alone here.
Thank you for correcting me Mani.
Peter