Jump to content
IGNORED

A toast to PGGB, a heady brew of math and magic


Recommended Posts

In both cases 64bit doubles are dequantized to 24 bit or 32 bit, without any noise shaping, there is no benifit of going with 24bits other than space saving or if your DAC does not accept 32 bits and you have to truncate anyway.

 

I just read your post again, I misunderstood earlier. Are you going USB-> SRC-DX-DBNC->Mscaler->DBNC->DAVE? IF you are going via SRC-DX, there is no point in using 32bits as SRC-DX will truncate to 24bits. 

 

 

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
17 hours ago, happybob said:

1. Highend listening: PGGB files get played back directly (not via Roon) to an SRC-DX via USB and then out to an MScaler via dual SPDIF cables. The MScaler output goes to a Dave DAC via another set of dual SPDIF cables. In this scenario only 24 bits get sent to the MScaler. The MScaler then (unavoidably unfortunately) does a 3dB level adjust AND more importantly does its own noise shaping (can't disable this). The MScaler out to Dave is also 24 bits. So for this mode, either 32 bit or 24 bit "no noise shaping" is optimal, but does it matter which?

 

I understand the convenience factor with this configuration, but before you settle on this long term, you may consider doing your own listening tests to confirm how much you lose in SQ (subjectively, to your ears, in your system) between the above (call it A), and an optimal configuration B, where you connect to an SRC-DX via USB and then straight out to the DAVE via dual SPDIF cables.

 

In A, you'd be feeding non noise-shaped 24-bit data to the chain, while in B, you'd be feeding noise-shaped 24-bit data.

 

In my past listening tests, when ZB first introduced noise shaping in development, the increase in SQ from noise shaping over standard rounding/truncation (only to 32 bit — this was pre- SRC-DX, mind you) was quite substantial. Truncation effects on 24-bit would be even more severe.

 

Still, ultimately, it's your system and your ears, so if the SQ delta between A and B isn't too large, then the convenience factor of A may be worthwhile.

Link to comment
5 hours ago, austinpop said:

 

I understand the convenience factor with this configuration, but before you settle on this long term, you may consider doing your own listening tests to confirm how much you lose in SQ (subjectively, to your ears, in your system) between the above (call it A), and an optimal configuration B, where you connect to an SRC-DX via USB and then straight out to the DAVE via dual SPDIF cables.

 

In A, you'd be feeding non noise-shaped 24-bit data to the chain, while in B, you'd be feeding noise-shaped 24-bit data.

 

In my past listening tests, when ZB first introduced noise shaping in development, the increase in SQ from noise shaping over standard rounding/truncation (only to 32 bit — this was pre- SRC-DX, mind you) was quite substantial. Truncation effects on 24-bit would be even more severe.

 

Still, ultimately, it's your system and your ears, so if the SQ delta between A and B isn't too large, then the convenience factor of A may be worthwhile.

 

@austinpop I agree with you completely - although I've got a complication that (temporarily I hope) mandates the current setup I use. The complication is that I have a bad buzz/hum when connecting my SRC-DX directly to my Dave. I've tried virtually everything (a very long list of things tried AC, DC, USB, SPDIF, and more) to eliminate it, to no avail, perhaps I've got a defective SRC-DX. I'll be contacting Dan at Audiowise soon on this. No buzz or hum at all with the SRC-DX feed going through the MScaler path and then on to Dave.

 

Now having said this, I'll add that the MScaler does its own Noise shaping at 24 bits - and this noise shaping is not able to be turned off in the MScaler settings, so the workaround is to not noise shape the PGGB output if it's going into the MScaler. Then the MScaler adds it's own noise shaping (per Zaphod, it's pretty good noise shaping) and that then goes on to Dave. 

 

I have done the comparison tests you indicate and agree SRC-DX to Dave direct is best (but currently with nasty hum). The SRC-DX going to MScaler (via dual BNCs) and then onto Dave (with another set of BNCs) is not far behind though and is better sounding than if I have any Chord USB Amanero in the signal flow (which would be the case if I didn't use the SRC-DX at and then went directly either through the MScaler or to Dave directly via USB)...

 

I could perhaps get an Opto-DX between the SRC-DX and Dave for a direct feed, although who knows I may have the buzz with this option too. Dan will hopefully add some insight. 

 

So back to my original query: given that the MScaler will always 24 bit noise shape everything, is there any benefit to having my original PGGB gargle blasts be non-noise-shaped 32 bits vs non-noise-shaped 24 bits? My assumption is that the only difference between the 32 bit and 24 bit non-noise-shaped outputs is that the 24 bit output has the bottom 8 bits truncated, but that might not be a valid assumption if Zaphod does something different in the garble blasting (besides truncation) with 32bit vs 24bit output.

 

And the main reason this matters to me is my secondary use of the PGGB files via Roon (less critical, but multi-room listening that must be at 192K) so I'm thinking those extra bits (with 32 bit PGGB files) might help Roon do a better job of the required (not-always-power-of-2) downsampling. 

 

Lastly - a big thanks to you and all the others who have worked diligently to create the ARC6 DC4! I love my DC4 and wait anxiously for news on the ARC6 version.

Link to comment
40 minutes ago, happybob said:

So back to my original query: given that the MScaler will always 24 bit noise shape everything, is there any benefit to having my original PGGB gargle blasts be non-noise-shaped 32 bits vs non-noise-shaped 24 bits? My assumption is that the only difference between the 32 bit and 24 bit non-noise-shaped outputs is that the 24 bit output has the bottom 8 bits truncated, but that might not be a valid assumption if Zaphod does something different in the garble blasting (besides truncation) with 32bit vs 24bit output.

You need not worry much about 24bit vs 32bit non noise shaped as it relates to if 32bit truncated is equivalent to 24bits, they may not always match bit for bit but they should be darn close. If you do not mind the additional storage, then 32bit may provide additional flexibility (like going direct to Mscaler via USB), letting SRC-DX truncate 32bit to 24bit will till be OK and for Roon you will have the additional resolution to work with. 

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
10 minutes ago, Zaphod Beeblebrox said:

You need not worry much about 24bit vs 32bit non noise shaped as it relates to if 32bit truncated is equivalent to 24bits, they may not always match bit for bit but they should be darn close. If you do not mind the additional storage, then 32bit may provide additional flexibility (like going direct to Mscaler via USB), letting SRC-DX truncate 32bit to 24bit will till be OK and for Roon you will have the additional resolution to work with. 

Thanks! And I assume that the SRC-DX does not do any sort of noise shaping itself? Seems it wouldn't given not much (or any) processing ability, but I'm not sure.

 

For now, I'll run with 32 bit non-noise-shaped outputs and then down the road if I do ever go direct from SRC-DX to Dave I'll just re-gargle-blast the files with 24 noise-shaped output. 

 

And just in case anyone knows: Does Roon do any sort of noise-shaping when doing downsampling (either power of 2 or non-power-of-2) downconversion to 192K from 7xxK PGGB files? I think it does for upsampling, but don't know about downsampling. This only matters for my Roon listening (not my highest SQ listening) mode.

Link to comment
2 hours ago, happybob said:

And just in case anyone knows: Does Roon do any sort of noise-shaping when doing downsampling (either power of 2 or non-power-of-2) downconversion to 192K from 7xxK PGGB files? I think it does for upsampling, but don't know about downsampling. This only matters for my Roon listening (not my highest SQ listening) mode.

It is highly unlikely Roon noise shapes at192kHz. Also you may get better results if you already have HQP and use it to resample down to 192kHz.

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
10 hours ago, Zaphod Beeblebrox said:

letting SRC-DX truncate 32bit to 24bit will till be OK

 

Truncation generates distortion, how can that be OK? You always need to dither or noise shape to avoid generating distortion, no matter if the output is 24-bit, 32-bit or something else.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
3 hours ago, Miska said:

 

Truncation generates distortion, how can that be OK? You always need to dither or noise shape to avoid generating distortion, no matter if the output is 24-bit, 32-bit or something else.

 

Thanks for chiming in (again). You have quoted me completely out of context. Of course truncation is never a good idea (duh!)

 

Some context:  I was addressing a very specific question where he wanted to know pros and cons of using  24bit vs 32bit (with noise shaping/dithering turned off) going into SRC-DX, and yes he is aware that this is not ideal. In this case, allowing SRC-DX to truncate 32 bit to 24bit  will be OK (SRC-DX is USB  to dual  BNC converter and outputs 24bits, it does no other processing or dithering). He also wanted to use the same files with Roon (and the additional resolution of 32bit files will be helpful for downsampling)

 

Some more context:  His SRC-DX feeds into the dual BNC input of Mscaler. Mscaler does not have a true pass through mode and it applies -3dB gain and noise shapes any input it receives, and most have found using noise shaped signal adds harshness due to the additional noise shaping it does. This is the reason he had to turn of noise shaping in PGGB.

 

PGGB automatically dithers or noise shapes based on output samplerate. Turning it off applies neither dithering or noise shaping as the output is designed for bit-perfect playback into the DAC. But in use cases such as this, it would be good to have an option to just apply dither to aid further processing. I do plan to add an option to add dither without any noise shaping in the next release to address a few unusual use cases. If this option existed, I would have recommended using 24bit dithered output.

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
3 hours ago, Zaphod Beeblebrox said:

Thanks for chiming in (again). You have quoted me completely out of context. Of course truncation is never a good idea (duh!)

 

Some context:  I was addressing a very specific question where he wanted to know pros and cons of using  24bit vs 32bit (with noise shaping/dithering turned off) going into SRC-DX, and yes he is aware that this is not ideal. In this case, allowing SRC-DX to truncate 32 bit to 24bit  will be OK (SRC-DX is USB  to dual  BNC converter and outputs 24bits, it does no other processing or dithering). He also wanted to use the same files with Roon (and the additional resolution of 32bit files will be helpful for downsampling)

 

Yes, I understand this, but in my opinion it is not OK to let SRC-DX truncate 32-bit to 24-bit, as it will add distortion. This was the reason why I commented on the topic.

 

For that purpose, there should be two sets of files, one dithered to 24-bit and another dithered to 32-bit (for Roon).

 

3 hours ago, Zaphod Beeblebrox said:

Some more context:  His SRC-DX feeds into the dual BNC input of Mscaler. Mscaler does not have a true pass through mode and it applies -3dB gain and noise shapes any input it receives, and most have found using noise shaped signal adds harshness due to the additional noise shaping it does. This is the reason he had to turn of noise shaping in PGGB.

 

PGGB automatically dithers or noise shapes based on output samplerate. Turning it off applies neither dithering or noise shaping as the output is designed for bit-perfect playback into the DAC. But in use cases such as this, it would be good to have an option to just apply dither to aid further processing. I do plan to add an option to add dither without any noise shaping in the next release to address a few unusual use cases. If this option existed, I would have recommended using 24bit dithered output.

 

That was my point, output should be at least TPDF dithered, regardless of output resolution. Be it 24-bit or 32-bit, if noise shaping is not applied.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Hi ZB,

 

With the new PGGB-EQ tab, how would one set the filters to work below 250Hz?

 

Is fine tuning of the "curve" still possible as suggested by my reading of @romaz post June 8?

It seems the EQ provided was adjusted to taste.

 

When requesting filters from Mitch; do we need to request 705/768kHz as well?

 

PH SR7 > MacMini+Uptone MMK Mod > Audirvana 3.2 > re-clocked D-LInk switch/LPS1.1 > sMS-200Ultra/LPS1.2 > tX-USBUltra/PH SR7 > Chord BluDave > Focal Utopia(Norne Silver) or Voxativ 9.87/ Stereo REL G1 Mk II

Link to comment
40 minutes ago, HeeBroG said:

With the new PGGB-EQ tab, how would one set the filters to work below 250Hz?

If you are already using a program such as Audiolense or Acourate, you can set them up to do partial correction and you can leave the EQ tab at the default setting, this was not meant to be a substitute for partial correction. I have it more for convenience. But I agree, the current UI is limited.

 

40 minutes ago, HeeBroG said:

Is fine tuning of the "curve" still possible as suggested by my reading of @romaz post June 8?

It seems the EQ provided was adjusted to taste.

PGGB does not do any of this. in the case of  @romaz , as the first beta tester for PGGB-EQ, I had helped tune his EQ. He already had the measurements from Mitch and I just changed the target a bit based on his and Mitch's suggestions. I am not able to provide that a as a service due to my limited time and leave it to more knowledgeable folks. Typically either you will have to do it yourself based on your preference or you will have to work with someone like Mitch to help you arrive at what you want.

 

40 minutes ago, HeeBroG said:

When requesting filters from Mitch; do we need to request 705/768kHz as well?

No you do not need filters at those rates and I don't think any of the measurement/EQ software's I know can even do it at that rate. You have two choices:

 

1. If you want to try time domain correction (typically not required if your speaker has a single full range driver like the Omegas and you don't use subs) and not use PGGB optimized filters, then you will have to request stereo wav files for all rates 44.1kHz - 384kHz.

2. If you want use PGGB optimized filters, then you will only need a single stereo wav file. This can be at any rate, but preferably at the sample rate of your measurement (typically, this will be 48kHz for USBmik).

 

For maximum flexibility , go with 1,, this way you can decide for yourself what you prefer.

 

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
On 5/31/2021 at 8:58 PM, austinpop said:

Standing up a VM in the cloud with the necessary resources is pretty straightforward. The big issue is the cost (in time and $$) to move native files to the VM (ingress), and huge upsampled files from the VM back to you (egress).

 

That said, never say never, this is being looked at!


Here is a one possible option. 
https://www.exoscale.com/pricing/
 

They also support iPfire, which mean you should have a trouble free integration with you local network, not to mention Roon. (Yes Roon will have no problem access files in the cloud). 

Link to comment
5 hours ago, R1200CL said:


Here is a one possible option. 
https://www.exoscale.com/pricing/
 

They also support iPfire, which mean you should have a trouble free integration with you local network, not to mention Roon. (Yes Roon will have no problem access files in the cloud). 

 

The costs will likely still be high if you are moving lots of data from your instances.  

 

Effectively, there are 1.42 GB of free output bandwidth per instance. If an instance doesn’t use its free tier, it is reported on other running instances of the same organization. So, with 5 instances running during the last hour, there are 7.1 GB of free output bandwidth. The exceeding bandwidth is billed.

Digital:  Sonore opticalModule > Uptone EtherRegen > Shunyata Sigma Ethernet > Antipodes K30 > Shunyata Omega USB > Gustard X26pro DAC < Mutec REF10 SE120

Amp & Speakers:  Spectral DMA-150mk2 > Aerial 10T

Foundation: Stillpoints Ultra, Shunyata Denali v1 and Typhon x1 power conditioners, Shunyata Delta v2 and QSA Lanedri Gamma Revelation and Infinity power cords, QSA Lanedri Gamma Revelation XLR interconnect, Shunyata Sigma Ethernet, MIT Matrix HD 60 speaker cables, GIK bass traps, ASC Isothermal tube traps, Stillpoints Aperture panels, Quadraspire SVT rack, PGGB 256

Link to comment
4 hours ago, R1200CL said:

We find a creative way of sharing a cloud service to perform the conversion. 

The objective is obvious.  The problem is the cost cloud services charge for data in and out.  I know of know cloud service that doesn’t make the cost prohibitive.  

Digital:  Sonore opticalModule > Uptone EtherRegen > Shunyata Sigma Ethernet > Antipodes K30 > Shunyata Omega USB > Gustard X26pro DAC < Mutec REF10 SE120

Amp & Speakers:  Spectral DMA-150mk2 > Aerial 10T

Foundation: Stillpoints Ultra, Shunyata Denali v1 and Typhon x1 power conditioners, Shunyata Delta v2 and QSA Lanedri Gamma Revelation and Infinity power cords, QSA Lanedri Gamma Revelation XLR interconnect, Shunyata Sigma Ethernet, MIT Matrix HD 60 speaker cables, GIK bass traps, ASC Isothermal tube traps, Stillpoints Aperture panels, Quadraspire SVT rack, PGGB 256

Link to comment

We did a lot of this math at the very beginning of PGGB (before it was called PGGB).  Very hard to make it work.

 

Only idea we came up with is find a buddy with symmetric fiber to the home and unlimited data and no throttling, and put a shared server in their closet (says the guy with symmetric fiber to his house and a server in his closet)

ATT Fiber -> EdgeRouter X SFP -> Taiko Audio Extreme -> Vinnie Rossi L2i-SE w/ Level 2 DAC -> Voxativ 9.87 speakers w/ 4D drivers

Link to comment
On 7/30/2021 at 11:59 PM, Zaphod Beeblebrox said:

No you do not need filters at those rates and I don't think any of the measurement/EQ software's I know can even do it at that rate. You have two choices:

 

1. If you want to try time domain correction (typically not required if your speaker has a single full range driver like the Omegas and you don't use subs) and not use PGGB optimized filters, then you will have to request stereo wav files for all rates 44.1kHz - 384kHz.

2. If you want use PGGB optimized filters, then you will only need a single stereo wav file. This can be at any rate, but preferably at the sample rate of your measurement (typically, this will be 48kHz for USBmik).

 

For maximum flexibility , go with 1,, this way you can decide for yourself what you prefer.

 

Thanks ZB.

 

So request files for sample rates 44-384k for TDC but use only 48k for PGGB optimised?

PH SR7 > MacMini+Uptone MMK Mod > Audirvana 3.2 > re-clocked D-LInk switch/LPS1.1 > sMS-200Ultra/LPS1.2 > tX-USBUltra/PH SR7 > Chord BluDave > Focal Utopia(Norne Silver) or Voxativ 9.87/ Stereo REL G1 Mk II

Link to comment
8 hours ago, HeeBroG said:

Thanks ZB.

 

So request files for sample rates 44-384k for TDC but use only 48k for PGGB optimised?

Yes that is correct.

Author of PGGB & RASA, remastero

Update: PGGB-256 is completely revamped, improved, and now uses much less memory

New: PGGB-IT! is a new interface for PGGB 256, supports multi-channel, smaller footprint, more lossless compression options

Free: foo_pggb_rt is a free real-time upsampling plugin for foobar2000 64bit; RASA is a free tool to do FFT analysis of audio tracks

System: TT7 PGI 240v > Paretoaudio Server [SR7T] > Adnaco Fiber [SR5T] >VR L2iSE [QSA Silver fuse, QSA Lanedri Gamma Infinity PC]> QSA Lanedri Gamma Revelation RCA> Omega CAMs, JL Sub, Vox Z-Bass/ [QSA Silver fuse, QSA Lanedri Gamma Revelation PC] KGSSHV Carbon CC, Audeze CRBN

 

Link to comment
12 minutes ago, Miska said:

 

Not him, but it is because 24-bit data is 3 bytes long and very inefficient to deal with in computers and micro-controllers used for USB interfaces, since sample size is not power of 2. In addition that means that buffer boundaries don't align with bus width and thus causes problems for DMA transfers.

 

32-bit data is 4 bytes long and thus allows efficient handling and proper DMA transfers.

 

There are some USB interface implementations that support 24-bit sample sizes, but most implementations like XMOS use 32-bit sample size for above reasons. DAC can report it's true resolution even if it uses 32-bit sample size for transfers. True resolution could be for example 20 or 18-bit which are not even possible as transfer unit size (such as old Burr-Brown or Analog Devices R2R chips). WASAPI on Windows supports this information, ASIO doesn't. I've added support for this into Linux kernel and it is now in recent mainline Linux kernels too.

 

I2S is also 32-bit, and then the number of actual bits used to handled outside of I2S.

 

Thanks. So I have a pair of Burr Brown PCM1794A. This DAC is 24bit but accepts 32bit. Should I avoid truncating from 32 to 24bit? 

Link to comment
14 hours ago, kennyb123 said:

The objective is obvious.  The problem is the cost cloud services charge for data in and out.  I know of know cloud service that doesn’t make the cost prohibitive.  

Let’s see pricing on Microsoft new cloud PC service. We should know later today or tomorrow. 
Microsoft has said that Windows 365 will be priced per user, per month, unlike AVD, which is priced based on resources consumed.“

 

Here is another link. 

https://techtwiddle.com/windows-365-microsofts-new-virtualized-cloud-pc-service/

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...