Zaphod's Guide to safely consuming foo-RT (PGGB-RT foobar Component)

"Time is an illusion. Lunchtime doubly so."

Overview

foo-RT - A PGGB-RT foobar2000 (Windows) component upsamples or downsamples your audio tracks in near real-time fashion using insanely long linear filters. We are able to do this by using hardware acceleration PGGB-RT SDK. We say 'near real-time' because remastering using insanely long filters require a finite time. Depending on the length of your track and the filter length (in millions of taps) you choose, the very first track will take anywhere from a few seconds to a few ten seconds to start. The subsequent tracks would play in a gap-less fashion

Tip: PGGB.IT! Version 2.2 from Audiowise turns PGGB-RT into an offline, light-weight file remastering application with the same features as foo-RT.

In comparison to PGGB offline remastering, foo-RT trades off features and maximum filter lengths for processing speed. Both foo-RT and PGGB offline offer the same algorithms, with foo-RT limited in number of taps at higher output samplerates.

foo-RT is very simple to use. Once you have installed and configured foo-RT, select one or more tracks in your playlist, right-click and choose 'Resample with PGGB-RT', then just hit play. To stop resampling, right-click and choose 'Play normally (disable PGGB-RT)'. foo-RT is well integrated with Foobar, seek, pause, play etc will work normally. Optionally you can configure foo-RT to use Replay-gain information. You can also configure foo-RT to bypass volume control of Foobar and instead use PGGB-RT's noise shaped digital volume control. You can also use the Foobar's in-built 'Convert' feature to save foo-RT remastered tracks to disk!


Getting Started

There are a few steps before you can start gargle-blasting tunes from Foobar2000 using foo-RT

  1. If you do not have Foobar2000 installed, please grab the latest stable version from here .
  2. [Optional, not required] Download Foobar ASIO component from here Install the component following these simple instructions.
  3. You will also need x64 VC++ redistributable (if it is not installed), grab and install from here.
  4. Download latest foo-RT component from here Install the component following these simple instructions. Once installed, in Foobar, the components should show under File->Preferences->components as below:

  5. To Configure PGGB-RT, File->preferences->Tools->PGGB-RT and you will see configuration options. Please refer to Configuration. foo-RT needs a license to unlock all features. In trial mode, PGGB playback stops after 90 seconds if the number of taps is set to greater than 2M or if EQ is enabled. To upgrade from trial to a full license please go here and request a license using the Hardware-Id displayed in the foo-RT configuration screen.

  6. In Foobar, go to File->Preferences->Playback and make sure you set ReplayGain processing to none:

  7. This is optional but ASIO is recommended if your DAC supports ASIO driver. Go to: File->Preferences->output to choose your ASIO device to play back.

  8. If you are new to Foobar, to add albums go to Library->configure to add the location of your music files. Go to File->display->Default user interface->Quick setup->Main layout->'Albumlist + tabbed'. Now you should see albums, you can right on a album in the album list, then send it to a play list. You can also drag files onto a playlist. Once you have a playlist, right click and Choose 'Resample with PGGB-RT'
  9. If you are new to Foobar, to add albums go to Library->configure to add the location of your music files
  10. Enable: You can select all tracks and mark them or you can select a subset and mark them. Once marked, hitting play will process them using PGGB-RT before playing.
  11. Disable: To disable playing with PGGB-RT, right click on the track(s) and choose 'Play normally (disable PGGB-RT)'
  12. Convert to file: You can also convert (I.e gargle-blast tracks and save to disk). To do this select track(s), make sure they are marked for PGGB-RT, right click, convert->.. Once in the convert menu, click output format and choose .wav and 24bits if you are using 24bits, click destination and choose where you want them to be stored. You can ignore the 'processing' portion.


Configuration

foo-RT is already tuned to provide optimal results with very little tweaking needed. In short it is in auto-pilot mode. Go to File->PReferences->tools->PGGB-RT to change the settings.

Settings highlighted by the green box are determined by your DAC and your PC

  1. Output Sample Rate: Choose a sample-rate family that matches the maximum output rate supported by your DAC.
  2. Maximum Taps: PGGB will choose the maximum taps to use for upsampling based on the physical memory on your PC. In Trial mode, playback will sto after 90 seconds if maximum taps is set to a value greater than 2M.
  3. Output Bit Depth: If your DAC supports 32 bits, then 32 bits is the best option. If your DAC is a 24 bit DAC, dithering or noise shaping is recommended to reduce correlated quantization noise. Bit depths of 12 bits through 32 are an available to help you choose the right bit depth that is optimal for your DAC. For example, some R2R DACs may have a higher settling time for very high sample rates (1Mhz or more), in these cases, choosing lower bit depths may help.
  4. Adaptive Noise Shaping: PGGB will choose the optimal noise shaping algorithm to remove quantization noise from audible range if left in ‘Auto’. Noise shaping helps attain high small signal accuracy in the audible range. The algorithm is based on the bit depth, sample rate you have chosen, and HF noise filter settings. The noise shaping and is very effective in removing quantization noise. Removal of quantization noise results in a very life like sound. Choose ‘Dither only’ if you do nto want to noise shape (recommended only when the track is likely to be processed further).
  5. Workers: foo-RT improves processing speeds by distributing the workload over multiple worker threads. It uses a heuristic based on the available RAM and logical cores to choose the optimal number of worker threads for each track. However, there are other factors (such as heat dissipation and fan noise) that PGGB is not aware. Here, you may use your judgment to cap the maximum number of worker threads. By default, this is the number of logical cores. If you set it to 1 there is no parallism and it may be beneficial to choose this option on a resource constrained PC for processing 176.4k or higher tracks including DXD.
  6. Volume: foo-RT already scales your tracks to avoid inter-sample-overs to prevent any clipping, it also scales your tracks to maximize headroom when applying EQ. Optionally, You can configure foo-RT to bypass volume control and ReplayGain of Foobar and instead use PGGB-RT's noise shaped digital volume control and also apply automatic level adjustment based on ReplayGain when ReplayGain for the track is available.

Preferences

Settings highlighted by the blue box can be chosen based on your preferences, though the default settings should work best for the majority.

Transparency Setting: These two buttons helps you choose between two flavors of transparency. Both provide a very high time domain reconstruction accuracy but make different tradeoffs. What you choose may depend on your playback chain and preferences.

  • Natural: This is the default setting; it is the most natural presentation that portrays leading edges and timing accurately while maintaining body and warmth.
  • Front Row: This setting is a different take compared to above. It is a slightly forward presentation favoring micro-detail, giving the feeling of a ‘front row seat’.

Presentation: PGGB is already optimized to provide maximum transparency, depth, and timbre. The presentation buttons let you fine-tune time domain characteristics of the remastered music and strike a balance between transparency and dense presentation. Choose ‘Moderate’ or ‘Dense’ when you need more body. This is especially useful for genres such as classic rock, big band jazz or CDs that may not have the best downsampled quality.

Noise filter: It is common for higher samplerate material to have a significant out of band quantization noise; this is especially true with DXD and DSD, but listening test and analysis show even material at 88.1kHz and above can benefit from noise filtering. Beyond the audible range, there reaches a point where it becomes increasingly hard to differentiate between quantization and other noise and the music signal. This is can be recording dependent and makes it harder to choose the noise filter. The new noise filter used in PGGB tries to simplify and remove some of the guess work. The default setting (Moderate) would work best in most cases. This is all about balancing the signal to noise ratio at frequencies beyond the audible range. As more filtering is done (Full setting), the sound is cleaner but may sound smoother or a little less open. With less filtering (Minimal setting), it would sound airy but can come at the cost of added noise or harshness. The Moderate setting seems to strike the right balance where it remains clean and yet has enough air and detail without starting to sound edgy. These are still very subtle changes to help you fine tune to your system and preferences. There is no correct answer. The noise filter will not be applied to 44.1k or 48k material.

Apodizing: CD audio can often have aliasing distortion due to either deficiencies in the decimation filters used or the Analog to digital conversion process. Apodizing is recommended to remove these aliasing distortions during the remastering process.


Difference between foo-RT and PGGB Offline

Both foo-RT and PGGB- Offline use the same algorithms for resampling, equalization and noise shaping, resulting the same quality of remastered tracks.

  • The main difference between the two is that foo-RT uses Intel's hardware accelerated libraries for improved processing speed and decreased memory usage to achieve near real-time remastering.
  • Intel libraries used by foo-RT limits the maximum taps possible depending on the ratio of input and output samplerates (conversion factor). If the conversion factor is N, then the maximum taps that can be used is limited to (N x 64M), So if you are upsampling a cd track from 44.1kHz to 352.8kHz, that is a conversion factor of 8 (because 352.8k/44.1k = 8), so the maximum taps here will be 8 x 64M = 512M.
  • Irrespective of the conversion factor, 1 Billion taps is the limit for foo-RT while PGGB offline application can use up to 8 Billion Taps. This again is a limitation of Intel libraries.
  • foo-RT currently does not support DSD to PCM conversion, but we expect to add support in teh future.

Our recommendation is to use PGGB Offline if you want to remaster DSD. We also recommend PGGB offline if you own a lot of DXD content with tracks that exceed 10 minutes.


Equalization (PGGB-EQ)

foo-RT supports EQ using convolution filters. You can access EQ configuration through the 'Equalization' section of the configuration . The interface is quite simple.

Bring your own EQ

PGGB uses the concept of ‘Bring your own EQ’:

  • DRC: If you are interested in Digital Room Correction (DRC), PGGB is not a substitute for a measurement software. You would use your favorite measurement software to create the convolution filter. Alternately you can also enlist the services of someone who can help you with measurements and EQ. The filters need to be mono or stereo in .wav format.
  • Headphones: You have a few choices
    • If you have your own headphone EQ filters, you can import them.
    • Alternately you can use the Auto EQ project to find your headphone and import the 48kHz or 44.1kHz Minimum phase wav file.

Applying EQ is a simple mathematical operation (convolution). However, the quality of your filters affects the quality of resulting remastered track. Ideally, applying equalization should impart tonal changes only, with no degradation in other qualities like dynamics, transparency, depth, and resolution.

PGGB Optimized: foo-RT allows you to import your EQ filter and apply them during the remastering process in a transparent fashion.foo-RT does not resample your filters for different input rates, but instead creates new filters from scratch from the imported filters and applies them in a way that retains transparency and only alters the tonal balance.

Choose Filter: Once you have the EQ filter you want to use, click on ‘Browse’ button to choose your EQ filter (stereo only)

EQ Mode: You can use the 'EQ Mode' dropdown to either turn off EQ or you can choose to apply EQ 'Before resampling' or 'After resampling'. Applying EQ before resampling is more efficient but applying EQ after resampling results in slightly better sound quality.

Start and End Frequency: You can choose the start and end frequency over which you want EQ to be applied. In most cases. You can leave this setting at the default values if you have already created your EQ filters only for the desired range of frequencies.


Between foo-RT and Your DAC

Digital processing within PGGB has been done with the utmost care. When playing back PGGB remastered tracks, a bit perfect transmission to your DAC will yield the best results and when possible, your DAC must be configured to do the least processing.

Setting up your DAC:

  • A direct connection (or the equivalent) to your DAC from the end point is ideal (i.e., not using any upsamplers). Use of re-clockers or regens that do not alter the bits are OK
  • Set foo-RT output rate to the maximum input PCM rate your DAC supports.
  • Set foo-RT output bit depth to the native bit depth of your DAC (not the maximum allowed by the Audio driver). In the case of some R2R DACs, the optimal bit depth may depend on the sample rate.
  • If your DAC has the option, set your DAC to NOS mode.
A note about software volume control:

Software volume control may look innocuous, what possible harm could come from converting to 64 bit doubles and changing the level? PGGB’s noise shaper all but eliminates additional quantization noise in the audible range. Any sort of processing such as volume control leads to 64 bit conversion and then truncation back to your DAC’s bit depth (16, 24 or 32). This conversion adds quantization noise back into the track that PGGB worked hard to remove.

Sometimes your DAC does not provide volume control and/or you may prefer to use software volume control.

  • Enable Noise shaping in foo-RT configuration menu and choose either 'Volume' or ''Both' in the Volume dropdown. foo-RT will take over foobar's volume control and remastered tracks will play in bit perfect mode.

System Requirements

foo-RT requires 64-bit Windows 10 PC. On Windows, a minimum of 8GB RAM and 4 core processor is recommended. More cores and faster processor and more RAM give you flexibility in being able to use more Taps.Faster processor also helps to reduce the startup delay on the very first track in your playlist.

foo-RT scales to use all the processor cores when more memory is available and CPU load can reach max TDP. Be sure that your PC has the cooling necessary to handle the heat especially if you have overclocked or run in turbo mode.


Licensing

foo-RT needs a license to unlock all features. In trial mode, PGGB playback stops after 90 seconds if the number of taps is set to greater than 2M or if EQ is enabled. To upgrade from trial to a full license please go here and request a license using theHardware-Id displayed in the foo-RT configuration screen.


Inter-Sample-Overs

During reconstruction of the music signal after upsampling, the new samples can have values greater than 1.0 these are generally referred to as inter-sample-overs. Inter-sample overs will cause clipping and can be unpleasant. foo-RT detects inter-sample overs and applies just enough attenuation to avoid clipping.


So long and thanks for all the fish

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