Frequently Asked Questions

"Forty-two," said Deep Thought, with infinite majesty and calm

Announcements

What is new in V8?

It is finally there! It has been a while since I shared that sneak preview around the holidays, and I appreciate everyone's patience. I have been beta testing for the past few months. So, here it is, thanks as always for your continued support and feedback:

V8.0.42: The Rob Reiner Edition

You can grab the new version here: PGGB - Get V8 Here

This is a significant update with improvements in both performance and reconstruction accuracy. I will summarize the changes below:

Native Apple Silicon

For those on Mac, PGGB v8 now runs natively on Apple Silicon. Previous versions ran under Rosetta emulation, which worked but left a lot of performance on the table. With native support, expect a 5-10x speed improvement on Apple Silicon Macs. This was one of the most requested features and long overdue given Apple will end support for Rosetta in 2027.

New DSD Modulators

This is where most of the effort went and has the potential to affect sound quality. In v7, we had 5th, 7th, and 9th order modulators, with 9th order available only for DSD512 and above. V8 extends this significantly: modulators now go from 5th to 25th order, available for all DSD rates. They are organized in three groups: Low Noise, Very Low Noise, and Ultra Low Noise, with 6 orders to choose from across the groups.

What this means in practice: using the highest order modulators, quantization noise in the audible band drops to between -600dB and -800dB depending on the DSD rate, compared to -400dB to -500dB in v7 with the modulators that were available at that time. Reduced quantization noise improves reconstruction accuracy in the audible band.

I had couple of break throughs that allowed the design of the new modulators. The Very Low Noise and Ultra Low Noise Modulators now use a new modulator structure. The Ultra Low Noise modulators use even higher precision. The higher precision does come with higher memory requirement. I anticipate this can be a problem when combined with long tracks and higher rate DSD. So, a block processing mechanism is in the roadmap to allow longer tracks to be processed in blocks to get around memory limitations.

Speed and Efficiency

Beyond Apple Silicon, the entire processing pipeline has been reworked with hardware acceleration. 256-bit PCM processing is now 3x-4x faster than v7 and uses about 25% less RAM, you can see PGGB 'fly' through your tracks now. DSD processing also sees a 10-30% speed improvement across the board (for 9th order and lower modulators).

DSD64 Support

PGGB now supports DSD64 as an output rate. Previously DSD128 was the minimum. While I would still recommend higher rates when your DAC supports them, DSD64 and DSD128 with higher order modulators target playback systems that are sensitive to higher data rates but when the DAC sounds best with DSD.

Website Changes

I have updated the website to better organize information, especially in the guide and FAQ section. I have also updated the page file size calculator to account for the additional memory needed for Ultra Low Noise modulators. As I mentioned before, the web page is now searchable.

Release Notes

Version 8.0.42: The Rob Reiner Edition (PGGB Plus)

  • SQ Changes: Possible through improved reconstruction accuracy of new DSD modulators
  • Features:
    • New hardware accelerated processing pipeline
    • Native support for Apple silicon with 5x-10x speed improvement
    • PCM 256 bit precision processing gets 3x-4x speed improvement
    • Adds DSD64 support
    • Adds 9th order modulator for all rates
    • Adds a new class of modulator: Very low noise up to 19th order modulators, supported by all DSD rates
    • Adds a new class of modulator that operates at 256 bit precision: Ultra low noise up to 25th order modulator, supported by all DSD rates

Upgrades from V7

If you purchased or upgraded a V7 license after January 1, 2025, you qualify for a free V8 upgrade to the same tier. Just email me with your name and Hardware ID. For those on older V7 licenses, upgrade options are available on the PGGB page. As always, there is a free 30-day trial that converts to a perpetual Lite license, so you can try the new version. V8 allows side by side install with V7, however V8 does not auto import your settings.

Looking forward to your feedback, especially on the new modulators. I am curious to hear impressions across different DACs and DSD rates.

V8 also adds a new tier 'Pro'. More details below.

Comparing V8 Tiers

Limited Trial
Free
Lite
Free
Plus
$350
Pro
$650
Max
$1050
PCM up to 107-bit Unlimited Unlimited Unlimited Unlimited Unlimited
PCM 128-bit 2 tracks Unlimited Unlimited Unlimited
PCM 256-bit 2 tracks 2 tracks Unlimited Unlimited
DSD64–DSD256 2 tracks Unlimited Unlimited Unlimited
DSD512–DSD2048 2 tracks 2 tracks 2 tracks Unlimited
EQ filters (PGGB-EQ)
Installs PC/Mac PC/Mac 1 PC/Mac 1 PC/Mac 1 PC/Mac
License validity 30 days Perpetual Perpetual Perpetual Perpetual
Support Forum/Email Forum Forum/Email Forum/Email Forum/Email
Free upgrades 1 year 1 year 1 year
Commercial use
Download Automatic Buy $350 Buy $650 Buy $1050

What is new in V8?

Feature
V7
V8
New
Platform support Windows, Intel Mac, Apple Silicon (Rosetta) Windows, Intel Mac, Apple Silicon (native)
DSD rates DSD128–DSD2048 DSD64–DSD2048
Upgrade Now

Getting Started

Will my DAC benefit from PGGB?

  • High rate PCM and DSD: DACs that support PCM rates of 705.6/768kHz or higher and DACs that support DSD rates DSD256 or higher will benefit most from PGGB remastered tracks.
  • PCM NOS: DACs that do little to no processing (such as R2R DACs that can be run in NOS mode) and DACs whose oversampling filter can be turned off will benefit significantly from PGGB PCM remastered tracks.
  • Pure DSD: DSD DACs that have a pure DSD mode that can be enabled will benefit significantly from PGGB PCM remastered tracks.
  • On DACs that support up to DXD rates and DSD128, remastering CD quality tracks using PGGB to DXD rate (352.8kHz) and DSD128 is likely to be beneficial too.
  • If you have a DAC that supports PCM only, then you can use PGGB to remaster DSD to the highest rate supported by your DAC with excellent results.
  • If you have a DAC that supports only 96kHz or 192kHz, you can use PGGB to remaster DSD or DXD files to rates that are supported by your DAC.

Does PGGB support DSD upsampling?

Yes, PGGB currently supports upsampling to DSD or PCM rates.


What is 1fS, 2fS, ..., 32fS etc?

One useful concept to learn is the terminology of FS. This refers to 'Fundamental Sample rate'. 1fS refers to 44.1 or 48 kHz. Thus:

  • 2fS = 88.2 and 96kHz
  • 4fS = 176.4kHz and 192kHz
  • 8fS = 352.8 and 384kHz (DXD)
  • 16fS = 705.6 and 768kHz
  • 32fS = 1411.2 and 1536kHz
  • 64FS = 2822.4 and 3072kHz

How big are PGGB remastered tracks?

As a rule of thumb, every 11 minute 25 seconds of a stereo track at 16fS and 32 bits or DSD512 takes up about 4GB of space. So, on an average typical CDs that are 40 - 45 minutes long will take about 16GB of space at 16fS 32 bits/DSD512 file. At 8fS 32 bits that is 8GB and at 8fS 24 bits it will be 6GB.

Remastered .wav tracks that are bigger than 4GB will be split, but the metadata is preserved and track numbering is changed so that they will play sequentially and in a gap-less fashion.


Does PGGB support lossless compression?

PGGB supports FLAC for bit depths less than or equal to 24 bits and sample rates less than 8fS.

PGGB also supports WavPack compression format for higher than 8fS rates or bit depth higher than 24 bits. WavPack compression is also lossless like FLAC.

PGGB will transfer all tags and artwork to both FLAC and WavPack output files.

Hardware & Setup

What sort of PC will I need for running PGGB?

PGGB is a resource intensive application. It will benefit from as many CPU cores, as much physical RAM, and fast NVMe drives you can give it. That said, the application has been tuned extensively to scale to the available resources, so while a machine with lesser RAM or fewer cores may take longer to process a file, it will not fail, nor will the processing time grow exponentially.

Recommended system specification:

  • At least 4 cores, 8 cores preferred
  • 16GB RAM if processing Cds with tracks less than 12 minutes for PCM. For more flexibility, at least 32 GB is recommended, and 64GB or 128GB will reward you even more if your library and DAC call for it and if you wish to upsample to DSD. For detailed memory requirements, see here
  • A fast NVMe SSD for input and output files, and paging file
  • Recommend at least 128GB paging file for PCM and 512GB for DSD (see guide for details PC, Mac)

Unlike a Music server, the PC that runs PGGB need not be low noise. PGGB will produce the same results no matter what PC it runs on. Here are a few examples Configuration PGGB is being used with:

  • Ideal build (for PCM and DSD)
  • Custom Quiet PC (for PCM and some DSD)
  • Taiko Audio Extreme (for PCM)
  • Quiet PC Serenity 8 Office (quietpc.com, for PCM and some DSD): Nanoxia Deep Silence 1 Anthracite Rev.B Ultimate Low Noise PC ATX Case. ASUS PRIME Z370-A II LGA1151 ATX Motherboard. Intel 9th Gen Core i7 9700K 3.6GHz 8C/8T 95W 12MB Coffee Lake Refresh CPU. Corsair DDR4 Vengeance LPX 64GB (4x16GB) Memory Kit. Scythe Ninja 5 Dual Fan High Performance Quiet CPU Cooler. Gelid GC-3 3.5g Extreme Performance Thermal Compound. Palit GeForce RTX 2070 8GB DUAL Turing Graphics Card. FSP Hyper M 700W Modular Quiet Power Supply. Quiet PC IEC C13 UK Mains Power Cord, 1.8m (Type G). 2 x Samsung 970 EVO 2TB Phoenix M.2 NVMe SSD (3500/2500)
  • 2010 Mac Pro running Parallels (PCM): It was able to run PGGB with 6 cores and 32 GB of RAM but currently running 12 cores and 128 GB. Parallels was given at least 4 cores and at least 28 GB.
  • For PCM and some DSD: Streacom FC10 Alpha fanless chassis, Asus Prime Z490-A mainboard, Intel i7-10700 LGA1200 2.9 GHz CPU, CORSAIR Vengeance 128GB (4 x 32GB) DDR4 SDRAM 2666, OPTANE H10 256GB SSD M.2 for Windows 10 Pro OS, SAMSUNG 970 EVO Plus SSD 2TB M.2 NVMe with V-NAND Technology, HDPLEX 400W HiFi DC-ATX power supply.
  • For PCM: iMac Pro (2017) -- 3.2 GHz 8-Core, 32 GB, 1TB, Apple Bootcamp, Windows 10
  • For PCM: iMac, 48GB RAM, 3.3 GHz four core i5. Running Windows 10 Pro under Bootcamp with a shared drive set up

PGGB's memory requirements come from the need to accommodate input and output data, as well as the processing required to achieve near ideal reconstruction. Thus, the memory required is strongly dependent on:

  • The sample rate of the source track: The higher the rate, the more virtual memory is needed
  • The length of the track: The longer the track, the more virtual memory is needed

Can you suggest a sample PC build for PGGB that is also quiet?

Sure we can:

  • Be quiet! Pure Base 500, No PSU, ATX, White, Mid Tower Case. Caveat - It's a nice quiet case, but nothing great to look at.
  • Prime B460-Plus, Intel B460 Chipset, LGA 1200, HDMI, ATX Motherboard
  • Core i7-10700 8-Core 2.9 - 4.8GHz Turbo, LGA 1200, 65W TDP, Retail Processor
  • 128GB Kit (4 x 32GB) HyperX FURY DDR4 2666MHz, CL16, Black, DIMM Memory. Caveat - can easily start with 64GB
  • 750 GA, 80 PLUS Gold 750W, ECO Mode, Fully Modular, ATX Power Supply
  • Be quiet! Dark Rock 4, 160mm Height, 200W TDP, Copper/Aluminum CPU Cooler
  • 2TB 970 EVO Plus 2280, 3500 / 3300 MB/s, V-NAND 3-bit MLC, NVMe, M.2 SSD

Can I use the Taiko Audio Extreme to run PGGB application?

As extreme as the Taiko Extreme is, it is not quite extreme enough out of the box to run PGGB. The Extreme has a stripped down installation and memory configuration that is optimized for SQ during playback. PGGB consumes all available system resources (and then some). The good news is that you can install PGGB on the Taiko Extreme and run it when you are not listening to music and not impact SQ.

To get PGGB to run on the Extreme, you must configure a paging file when upsampling. By default, the Extreme has the paging file disabled to maximize sound quality. To run PGGB, you will be turning on a paging file, running PGGB, then disabling the paging file and rebooting, then listening to music on your Extreme as you normally do (for convenience, you can listen to music with the paging file on, but there may be some SQ impact).

To turn on the paging file on your Extreme, from the Start menu, follow the following path: Start -> Windows System -> Control Panel -> System -> Advanced System Settings -> Advanced -> Performance Settings -> Advanced -> Virtual Memory Change

Select the drive on which you want to put the paging file (C: drive usually), and select "custom size." Set to 135000 for both min and max. Click OK and you're paging file is ready to go. When you turn on or increase the size of the paging file, you do not need to reboot. If you shrink it or disable it, you will need to reboot for the change to take effect. Note that the default configuration of the Extreme has the paging file disabled, because it could impact SQ. For best sound quality, turn on your paging file, run PGGB, then turn it off and reboot before listening to music.

If you're doing a lot of PGGB work, give a listen to playback with and without the paging file to decide if the inconvenience of rebooting your system prior to music playback is worthwhile for you. At 48GB, the Taiko Extreme is at the minimum amount of memory that you need to run PGGB. Typically it does OK, but upsampling DXD files or processing DSD files pushing the system to its limits. If you're processing overnight, you won't notice, but enjoy a cup a coffee if you're sitting there waiting for these more intensive processing jobs to run.


If I had both PCM and DSD versions of an Album, which do I choose to remaster?

Regarding DSD... there are so many factors that come into play: original recording format, original editing and mixing format, your DAC, etc., etc. Ultimately, it all boils down to a couple of key considerations:

  • Is the DSD album the best-sounding version in your library? If so, just upsample with PGGB - it will uplift SQ.
  • If you also own PCM versions of the album, or are aware of other PCM versions, by all means explore upsampling your best-sounding PCM version with PGGB, and then choose the best-sounding upsampled versions.

A couple of examples from a user experience may help. Below is are direct quotes:

Example 1:

Mahler 2nd, Gilbert Kaplan, Vienna Philharmonic, DG hybrid SACD. I don't know the details of the recording, editing, and mastering format. Played natively to my DAVE in DSD+ mode, the DSD layer sounds best, with the CD layer played in PCM+ mode second best. I upsampled both versions to 32/705.6 with PGGB, played back natively on DAVE in PCM+ mode (of course), and found the following to hold: a) the upsampled DSD version still sounds better than the upsample CD version; b) the gap between the 2 versions shrunk. In other words, PGGB did more good to the PCM version, but the improvement to the DSD version was still extraordinary.

Example 2:

Das Lied von der Erde, MTT, SF Symphony, recorded in DSD64, but unclear what format it was edited and mixed in. I suspect it was PCM, but not sure. I own 3 versions: DSD and CD from the hybrid SACD, and 24/96 hi-res version purchased from Qobuz. Played natively on my DAVE, I find the 24/96 (2fS) version to sound best, with the DSD version 2nd best. After upsampling with PGGB: a) The upsampled 24/96 version reigns supreme. b) The gap between the upsampled 24/96 and upsampled DSD is greater than the native gap. This again suggests PGGB's ability to impart magic is most with PCM, but DSD is also uplifted.

Bottom line in all of this is: Pick the best sounding version of an album in your library (irrespective of PCM or DSD). Where it's close or equal, always prefer the PCM version.


Does PGGB support multi-channel music?

PGGB currently does not support multi-channel PCM or DSD, but it is relatively easy to extend it to support multi-channel. If there is modest demand for it, or a requirement for a commercial application, we are open to offering multi-channel support. Just drop us an email.


Do you use Matlab?

PGGB no longer uses Matlab as of version v7. PGGB uses QT for cross platform GUI. The core of PGGB processing for 64 bit, 128 bit, and 256 bit is written fully in C/C++ and that is why there is already a real-time option that is free and is available as a Foobar2000 plugin that runs at 64bit precision and does not use Matlab runtime. The PGGB C++ core is cross platform compatible and works on Windows, Mac and Linux.

We do not intentionally design software that will require a lot of resources (RAM and time), in fact performance optimization is one of our areas of research. The reason PGGB takes so much resources is because 256bit computations of this nature take a lot of time. We are confident in saying that we have the fastest and most memory efficient implementation on the planet (if one considers the equivalence of using a filter that is about the same length as the number of samples in the track, computed at the output rate, with 256 bit precision). There is no free lunch, if one wants the ultimate quality in reconstruction, there are no shortcuts. We can of course design shorter filters that are faster and need less memory, but then it will not be PGGB any more, there are alternate options that do that.

It is very easy to compare speeds by setting 64bit, 128bit and 256bit precision in PGGB and see the difference in speed. Please be warned, if you are running a trial version processing will stop after 2 tracks at 128bit or higher precision. So if you run PGGB in trial mode overnight, do not be surprised if you only see 2 processed tracks in 7 hours! It did not take 7 hours to process, it just stops after three tracks. For example, on a Windows PC with a 8-core, 3.6GHz i9 CPU and 64GB RAM, an average CD (44.1kHz) track converted to 16fS rate will be processed at about 1x - 0.8x speed at 256bit precision. There are both text and csv logs in the output folder that show the actual time taken.

How It Works

It looks like PGGB can process really fast, can it do this on streamed music?

There is a real-time version available for Foobar2000 as a plugin. This version is limited to 64bit precision.

PGGB is available in a SDK form for OEM, for that exact purpose. SDKs are available for Windows, Mac and Arch Linux. The SDK is in the form of C++ header file and static libraries.

Developing a player from scratch that will both play local files and streaming audio is a huge undertaking, and also doing it the right way (managing buffers, load balancing and keeping any processing noise to an absolute minimum etc.) is even harder.

One option We considered is for PGGB to sit in between an existing player and an endpoint or like a plugin. The problem with this approach is the latency will be unacceptable as PGGB in the middle will only have access to the stream at the rate at which the host application sends the data. For this reason, the only way I would implement PGGB in real time is if I had direct access to the full track or multiple tracks (this is possible even for streamed data as most players will cache the tracks in advance).

The PGGB in SDK form uses a different framework for performance and is light weight and our tests indicate after just a few seconds of startup delay, gap-less playback is possible.


Are linear phase filters better for upsampling?

Upsampling requires a low pass filter (to interpolate intermediate samples). The purpose of the filter is to provide good estimates of the intermediate samples so that the upsampled signal is smooth and as close to what the original music signal would have been.

There are several ways to implement the low pass filter and each method has its pros and cons. Linear phase filters maintain the phase relationship of the original signal and tend to preserve the timing of the original signal, resulting in improved imaging precision. Minimum phase filters when compared to linear-phase filters of the same length, have better frequency domain performance that results in better tonal accuracy and a denser presentation.

For the above reason, for short lengths, minimum phase have a significant advantage over linear phase filters. With longer filter lengths, the choice becomes more subjective and comes down to preference and synergy with the playback chain.

With, the ultra-long windowed Sinc based linear filters such as the one PGGB-AP uses, it is possible to get very close to the original, as if the music was recorded at a higher sample rate. As a result, the ultra-long filters pull ahead of other implementations in terms of realism and accuracy.

The ultra-long windowed Sinc based linear filters come with a significant cost in terms of latency and computational requirements, which make them hard to use for real-time playback. However, for offline upsampling and remastering, they are an excellent choice.

PGGB use a proprietary method different from the above methods. PGGB is non apodizing and it does not use windowed sinc functions, or long filters either. The best way to look at the current approach used by PGGB is that it considers the track as a whole. If no HF filters are enabled (which is the default for CD and 2fS rates), PGGB keeps all of the original samples intact, then creates intermediate samples all at once by time shifting all of the original samples. Our method approaches the theoretical limit of reconstruction accuracy possible for a track of given length and sample rate. This is more accurate than using pure Whittaker-Shannon coefficients with windowing. As the sample rate increases, and the track length increases, our method approaches the mathematical equivalence of using pure sinc based interpolation.


Why use noise shaping? Is it same as dither?

Both dither and noise shaping can be used to reduce the audible effects of quantization (i.e., digital noise). Quantization noise is introduced when the remastered track that resides in memory in 64-bit floating-point precision format, but needs to be output at 32-bit integer precision or lower. However they work in very different ways. Dither is the process of adding an intentional small random noise to randomize quantization noise. This serves to decorrelate the music signal and quantization error, resulting in a more natural sound. Dither does not reduce the quantization noise, it just helps to mask it.

Noise shaping does not simply mask the quantization noise, but it instead pushes the noise out of the audible range. Well implemented noise shapers can almost completely eliminate quantization noise from the audible range. This helps preserve and reproduce even the smallest of changes accurately, resulting in a clean and almost analog like quality. While noise shaping provides better results, unlike dithering, noise shaping can only be used if the output sample rate is 8fS (DXD) or higher.

PGGB uses specially designed higher order noise shapers that are optimized for output sample rates and bit depths and are designed to almost completely remove quantization noise from the audible range.


What is a 'HF Noise filter'?

HF noise filter refers to 'High frequency' noise filter. Most Hi-res recordings (4fS or higher) contain a significant amount of residual noise (beyond 30kHz) as a result of noise shapers used during analog to digital conversion process. There is no music information contained in this noise. So the HF noise can be safely removed, and has a positive effect on sound quality.

PGGB offer a choice of three HF noise filters. However the HF noise filters are not applied separately, instead they are integrated into the design of resampling process. Just like adding more elements to a camera lense can reduce transparency, using additional filters can reduce transparency. So PGGB uses a single optimized process that does both reconstruction and HF noise filtering for the most transparent sound.


Does PGGB use Apodizing filters?

PGGB does not use apodizing filters.

Apodization in Greek means cutting off the foot. It has different technical meanings depending on the application. In Signal processing, it just means using a windowing function to reduce ringing artifacts due to the abrupt truncation at the beginning and end of a sample window. In digital-audio, the term has been used and also misused. In digital-audio, more often than not 'apodizing' is used to mean it is a non-brick-wall filter which has reduced or no 'pre-ringing'. It is implemented as a slow-roll off filter.

Deep Dives

In-depth technical explorations for the curious audiophile. Click to expand.


So long and thanks for all the fish

.·´¯·.´¯·.¸.ZB.´¯·.¸¸.·´¯·.¸><(((º>