XXHighEnd - The Ultra HighEnd Audio Player
November 23, 2024, 07:26:33 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: August 6, 2017 : Phasure Webshop open ! Go to the Shop
Search current board structure only !!  
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Volume control extinguishes HDCD light  (Read 8488 times)
0 Members and 0 Guests are viewing this topic.
DannyD
Audio Loudspeaker
*
Offline Offline

Posts: 97


View Profile
« 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?   
Logged

June 10, 2010
Windows7Ultimate 32-bit  / jkeny-modified HiFace / Berkeley Audio Alpha DAC /
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16854



View Profile Email
« Reply #1 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




Logged

For the Stealth III LPS PC :
W10-14393.0 - July 17, 2021 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to 14/28 cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/0/0/*1*/ Q1Factor = *4* / Dev.Buffer = 4096 / ClockRes = *10ms* / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.13*  (max 10.13) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *62* / Nervous Rate = *1* / Cool when Idle = n.a / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / Custom Filtering *Low* (16x) / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^3
A: W-Y-R-G, B: *W-G* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> Blaxius*^2.5* A:B-G, B:B-G Interlink -> Orelo MKII Active Open Baffle Horn Speakers. ET^2 Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
DannyD
Audio Loudspeaker
*
Offline Offline

Posts: 97


View Profile
« Reply #2 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?
Logged

June 10, 2010
Windows7Ultimate 32-bit  / jkeny-modified HiFace / Berkeley Audio Alpha DAC /
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16854



View Profile Email
« Reply #3 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
Logged

For the Stealth III LPS PC :
W10-14393.0 - July 17, 2021 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to 14/28 cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/0/0/*1*/ Q1Factor = *4* / Dev.Buffer = 4096 / ClockRes = *10ms* / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.13*  (max 10.13) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *62* / Nervous Rate = *1* / Cool when Idle = n.a / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / Custom Filtering *Low* (16x) / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^3
A: W-Y-R-G, B: *W-G* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> Blaxius*^2.5* A:B-G, B:B-G Interlink -> Orelo MKII Active Open Baffle Horn Speakers. ET^2 Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
manisandher
Crazy Audiophile
****
Offline Offline

Posts: 2112

from-first-principles.com


View Profile WWW Email
« Reply #4 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.
Logged

Main System:
Phasure Mach III (Win 14393.0 on RAM-OS / controlled by RDC, / connected directly to music server / XXHighEnd 2.11 / Minimize OS / Engine#4 Adaptive / DB=4096 / Q1=10 / xQ1=15 / Q3,4,5=1 / SFS=4.00 / XTweaks = 34, 10, 0, 0, 0 / Straight Contiguous / Clock Resolution = 15ms / Scheme 3-5 (low/realtime) / 8x Arc Prediction / switch #5 'up/off' / Unattended) mobo USB3 port -> Lush^3 -> Phasure NOS1a B75 G3 -> 8m Blaxius^2 -> First Watt F5 mono amps -> Tune Audio Anima horn speakers
Office System:
Phasure Stealth II -> Lush^2 -> RME ADI-2 Pro FS R -> Neurochrome 286 mono amps -> Tune Audio Marvel horn speakers
PeterSt
Administrator
High Grade Audiophile
*****
Offline Offline

Posts: 16854



View Profile Email
« Reply #5 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
Logged

For the Stealth III LPS PC :
W10-14393.0 - July 17, 2021 (2.11)
XXHighEnd Mach III Stealth LPS PC -> Xeon Scalable 14/28 core with Hyperthreading On (set to 14/28 cores in BIOS and set to 10/20 cores via Boot Menu) @~660MHz, 48GB, Windows 10 Pro 64 bit build 14393.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/0/0/*1*/ Q1Factor = *4* / Dev.Buffer = 4096 / ClockRes = *10ms* / Memory = Straight Contiguous / Include Garbage Collect / SFS = *10.13*  (max 10.13) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / Stop Desktop, Remaining, WASAPI and W10 services / Use Remote Desktop / Keep LAN - Not Persist / WallPaper On / OSD Off (!) / Running Time Off / Minimize OS / XTweaks : Balanced Load = *62* / Nervous Rate = *1* / Cool when Idle = n.a / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = Optimal / Time Stability = Stable / Custom Filtering *Low* (16x) / Always Clear Proxy before Playback = On -> USB3 from MoBo -> Lush^3
A: W-Y-R-G, B: *W-G* USB 1m00 -> Phisolator 24/768 Phasure NOS1a/G3 75B (BNC Out) async USB DAC, Driver v1.0.4b (16ms) -> B'ASS Current Amplifier -> Blaxius*^2.5* A:B-G, B:B-G Interlink -> Orelo MKII Active Open Baffle Horn Speakers. ET^2 Ethernet from Mach III to Music Server PC (RDC Control).
Removed Switching Supplies from everywhere (also from the PC).

For a general PC :
W10-10586.0 - May 2016 (2.05+)
*XXHighEnd PC -> I7 3930k with Hyperthreading On (12 cores)* @~500MHz, 16GB, Windows 10 Pro 64 bit build 10586.0 from RAM, music on LAN / Engine#4 Adaptive Mode / Q1/-/3/4/5 = 14/-/1/1/1 / Q1Factor = 1 / Dev.Buffer = 4096 / ClockRes = 1ms / Memory = Straight Contiguous / Include Garbage Collect / SFS = 0.10  (max 60) / not Invert / Phase Alignment Off / Playerprio = Low / ThreadPrio = Realtime / Scheme = Core 3-5 / Not Switch Processors during Playback = Off/ Playback Drive none (see OS from RAM) / UnAttended (Just Start) / Always Copy to XX Drive (see OS from RAM) / All Services Off / Keep LAN - Not Persist / WallPaper On / OSD On / Running Time Off / Minimize OS / XTweaks : Balanced Load = *43* / Nervous Rate = 1 / Cool when Idle = 1 / Provide Stable Power = 1 / Utilize Cores always = 1 / Time Performance Index = *Optimal* / Time Stability = *Stable* / Custom Filter *Low* 705600 / -> USB3 *from MoBo* -> Clairixa USB 15cm -> Intona Isolator -> Clairixa USB 1m80 -> 24/768 Phasure NOS1a 75B (BNC Out) async USB DAC, Driver v1.0.4b (4ms) -> Blaxius BNC interlink *-> B'ASS Current Amplifier /w Level4 -> Blaxius Interlink* -> Orelo MKII Active Open Baffle Horn Speakers.
Removed Switching Supplies from everywhere.

Global Moderator
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.054 seconds with 20 queries.