Jump to content
IGNORED

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


Recommended Posts

1 hour ago, ASRMichael said:

Ok I tried this today....I had to use my home pc i7 7700t & 24gb of RAM for the conversion. I am completely dumbfounded, blown away! I was never completely happy with how rock music sounded on my system, a few tracks of Metallica & I was in awe! Well done to everyone involved! I can’t wait to give extensive listening over the weekend! 

64gb ordered to take full advantage! @Zaphod Beeblebrox customer service is fantastic!  

Link to comment
23 minutes ago, Zaphod Beeblebrox said:

Thanks, I thought no one will ask :)

 

The Pan Galactic Gargle Blaster is an alcoholic beverage invented by ex-President of the Galaxy Zaphod Beeblebrox, considered by the Guide to be the "Best Drink in Existence."[1] Its effects are similar to "having your brains smashed out by a slice of lemon wrapped round a large gold brick."

 

Translation: PGGB is a very carefully mixed cocktail whose main ingredient is your music track, and intended to produce otherworldly effect when consumed through your ears. Please consume responsibly at safe levels.

 

 

That explains why the software is so good! You’ve got 2 heads & 3 arms! 😂

 

 

8DF85401-A026-403C-B6D3-EDD3294F8C41.png

Link to comment
  • 3 weeks later...
38 minutes ago, Zaphod Beeblebrox said:

Convolution is a less publicized feature of PGGB, I am not aware of anyone other than me using it :) which to me is quite surprising as I was expecting more interest in being able to use EQ/convolution filters. Of course I am happy with the results and I EQ both my headphones and speakers and  all my gargle blasted albums have EQ baked in.

 

Cheers! I’ll be doing it soon! It’s the icing on the cake! I’ll be in touch. 

Link to comment
1 minute ago, Zaphod Beeblebrox said:

@ASRMichaelIn addition to the above, it would be nice if you happen to have convolution filters at both a multiple of 44.1kHz and 48kHz, ideally measurements done at those rates (and not resampled), it is not a requirement though. 

 

Ok, Mitch at accurate sound normally gives me full range of filters. To 352kHz & 384kHz. Or are you asking to take the initial REW measurements at 44.1kHz & 48kHz? 

Link to comment
2 minutes ago, Zaphod Beeblebrox said:

Yes at 44.1kHz & 48kHz if it is possible, I understand that this is not always possible as that would require using a Mic, preamp and a D/A converter  (which is a significant investment) instead of a simple USB Mic that typically does only 48kHz and the EQ/measurement software would do the resampling at different rates. 

All I have is an Mini DSP UNIK USB mic. As you say is only 48kHz. 

Link to comment
1 hour ago, Zaphod Beeblebrox said:

No I would not need the initial measurements,  I would only need the convolution filters at those rates so that I can let PGGB do the resampling instead of the measurement software. PGGB does not do resampling between rate families.

 

Edit: I prefer this approach for  non minimum phase filters.

I now understand! Will supply Right & Left convolution filters 44.1 & 48kHz. Cheers 

Link to comment
7 hours ago, Zaphod Beeblebrox said:

I will be happy to answer, and sorry in advance of a very long post:

 

Inspiration:

MScalar was the inspiration for PGGB. MScalar showed that a well implemented sinc interpolation would result in a more natural and transparent sound. An iconoclast of a product in many ways, in spite of a lot of misinformation about linear filters and pre-ringing etc.

 

PGGB started as an experiment to see if it is possible to do a software based Multi-M-Scaling based on sinc interpolation to go beyond 1M taps and to see if it resulted in any improvement. Through Robs many posts I was already made aware that just the number of taps don’t matter and the quality of the taps, specifically how close they are to the true sinc coefficients matter more. I also was aware of the significance of noise shaping in being able to reproduce small signals and to decreases noise floor modulation due to quantization errors. What I was skeptical about was the significance of both the quality of taps and quantization noise.

 

Windowing experiments:

I started the experiments with 'off-the-shelf' window functions like Kaiser. I increased the number of taps, and conducted listening tests (myself and group of friends), it became clear that to come close to MScalar we needed 32 Million taps or more. Which meant, the taps using Kaiser window or similar was just not good enough and was not efficient enough. Kaiser window tapers from get go and very few taps are truly Sinc. Now, I was able to verify what Rob has said many times before, so the next step was to go a different direction, find a window that keeps more of the Sinc coefficients as is, then taper faster to zero. While our listening tests showed this window seemed to improve in some ways in terms of transient accuracy, the frequency domain performance was not as good as the Kaiser window in out of band rejection or having narrow transition band and we felt there was room for improvement.

 

I needed a windowing function that was closer to Kaiser window on frequency domain performance but retain as many sinc coefficients as is. I needed a windowing function I can parameterize , optimize and easily adjust to obtain the right trade off between reconstruction accuracy and frequency domain performance and with the constraint that it retain 50% or more sinc coefficients without any change and still achieve close to Kaiser window like performance in the frequency domain. It was indeed an up-hill task. With more research, I arrived at the window function I use now. It is not a window that is off-the-shelf, it is a custom window that is parameterized to not only control the % number of taps that are true sinc, I am also able to control when, how fast and the shape of how the window tapers from 100% sinc coefficients to zero. While the percentage of true sinc coefficients had a direct correlation to transient accuracy, the shape of the taper affected the tonal qualities more. Instead of using a one-size-fits-all approach, PGGB allows the user to control the tradeoff between reconstruction accuracy (by allowing more true sinc coefficients) and frequency domain performance via the transparency and presentation options. The windowing is adaptive, with longer tracks, even more taps are true sinc  (i.e well beyond 50%) and reconstruction accuracy increases.

 

Noise shaping:

We were quite happy with these results based on listening tests, so I started focusing on designing noise shapers. Here too, I did not want a one-size-fits-all approach. Though PGGB was inspired by MScalar attached to my Chord DAVE, I was aware that other DACs can benefit too and DACs operate at different rates all the way to 32FS and bit depths between 16 to 32. PGGB applies different noise shaping based on the output rate and bit depth but there were two goals I had in the design, to be able to reproduce small signals accurately and to have a quantization noise floor very very low. As an example, the noise shaper PGGB uses for 16FS signal to noise shape output signal to 32bits has a noise floor below -350dB in the audible range and can easily reproduce a tone at -200dB anywhere in the audible range.

 

 

While the noise shaping improved depth detail and texture and overall sounded cleaner, it felt more like an icing on the cake and the biggest improvement was still through the multi-million taps and windowing function. With that background. I would like to address the questions that were raised:

 

 

Answers:

Let me answer the question by asking a question. Whitaker Shannon also requires the signal to be band limited, and it is well known that CD audio is not perfect and it aliasing distortion is common. If the original CD audio  signal already contains aliasing distortion, does retaining the signal as is and applying Sinc interpolation produce better timing information than removing the aliased portion  and applying the sinc interpolation? How do the aliased components affect timing?

 

The above is really moot because PGGB in beta had the option to apply Whitaker Shannon without modifying the original signal in any way (i.e. no apodization)  but there was no interest in using it. For the sake of science, I will reinstate this option in the next release of PGGB so it does not appear ‘heavy handed’ on my part and there will be a non-apodizing option for 44.1khz and everyone can happy.

 

 

I will respond to this with another question. That is true, a windowed sinc function is not a true sinc following Whittaker-Shannon interpolation filter. That is true with any windowed sinc function including WTA and the window function PGGB uses. But is it not true that a windowed sinc function with 256M or more taps that retains more than 50% of its Whittaker-Shannon coefficients is closer to a true Shannon interpolation filter than a 1M windowed sinc function that retains 50% or more of the Whittaker-Shannon coefficients? Also is it not true that it is possible to reap the benefits of using Whittaker-Shannon filter by using more and more taps that are true Whittaker-Shannon coefficients?

 

The answer is quite simple, it is an overkill based on our listening tests compared to additional time and processing resources needed which are both finite quantities and have a cost attached. The benefits of using tap lengths longer than the track length at the output sample rate diminished. There are added benefits to being able to process tracks relatively quickly and with limited resources and RAM, not everyone is ready to buy a monster machine for upsampling. Though PGGB is currently being primarily used for off-line resampling, it was designed with the idea of being able to be used to do real-time resampling even with streamed audio. I already have it in a sdk form and benchmarked on multiple platforms to be able to do up to 256M taps with a few second startup delay and no delay after that with the right pipelining/threading, multimillion-taps close to Whitaker Shannon upsampling is possible while retaining more than 50% of the true sinc coefficients and also being able to do real-time digital volume control with noise shaping and EQ too.

 

Regarding the accuracy of 64bit floats and quantization noise, while PGGB uses 64bit floats for the sinc coefficients, I applied optimal scaling to reduce the effect of quantization noise on accuracy. Internal computations are done in 80bit extended precision; the output is still 64bit floats but I too noise shape the output to the desired bit depth.

 

End

How does the cumulative effect of the approach I have outlined compare to what Mscalar (or any other upsampling software or hardware)? That is subjective and it is not for me to say, those curious to know can find out for themselves.

 

 

 

You’ll need a bigger hat soon! 😂

1682AD1E-BF35-45BA-AEB4-F0F8CC0A3F54.jpeg

Link to comment
22 hours ago, Zaphod Beeblebrox said:

I have released v1.2.05, this improves memory use and stability on Macs by reducing memory pressure during critical portions of the algorithm where there can be sudden increase in memory demand. With this new version, on M1 Mac, I have found setting max taps to 256M and setting number of workers to 1 is most efficient and stable even for long tracks.

 

As I promised earlier in my response to Rob Watt's questions, I have added an option to optionally remove apodizing option and to guarantee the use of pure Whitaker-Shannon coefficients  for CD audio (affects 44.1kHz tracks only). The full change log can be found here.

 

 

image.thumb.png.f9dfd25153f0e13fbc6b5258597ea42a.png

 

Hi 

 

Have you compared using with & without Apodizing? Which do you prefer? 

Link to comment
  • 2 weeks later...
20 minutes ago, romaz said:

PGGB - EQ / Room Correction Edition

 

Here is the listening room I wish I had:

 

No photo description available.

 

This is the Magico listening room in Hayward, California.  This room reportedly cost $250,000 to build.  It measures 33' x 22' x 13'.  It is a room within a room.  The outside walls are 5" thick Quiet Rock.  The inside walls are composed of 2 layers of sheet rock.  The floor floats meaning it has no interaction with the rest of the room.  The room was designed to have minimum gain and a noise floor of only 24dB.  According to Alon Wolf, Magico's founder, "It's very easy to measure a speaker above 800Hz, regardless of the room it's in. Below that, it gets tricky. Hence, the environment in which you listen to and test your loudspeakers is crucial...So I've taken the room out of the equation. In this room, you hear the bass from the speaker alone, not from the interaction of the speaker with the room. This helps us voice loudspeakers more accurately."  I have enjoyed listening to music in this room on a few occasions and regardless of the speakers and the electronics that were in the room that day, each time, I came away feeling deeply envious.  If I could use one word to describe it, it would be "balanced."  Not too lively and not too dead and everything sounds natural.  Ambience, imaging, clarity, natural decay, this room portrayed it all.  It has been said that your room is your most important component.  After listening to music in this room, I've become a believer.

 

Here are photos of my actual listening room:

 

image.thumb.png.ebe509fdc217c95e41eb5f160618800d.png

 

image.thumb.png.38d25252b8a3d4f0082ae6b057f55ec9.png

 

image.thumb.png.d642850b2e3cce33784f69ee0d32c892.png

 

Yes, I know, lots of problems.  As you can see, it's not a dedicated listening room.  Aside from my Wilson Alexia Series 2 speakers, I'm not allowed to have any audio electronics showing.  I've tried various room treatments from bass traps to various diffusers and absorbers but they kill the look of the room and so with a few exceptions (Synergistic Black Box and a few HFTs and other resonators), I live with the speaker placement restrictions that I have and the natural resonances of this room.  Fortunately, despite my limitations, at my listening position, my room measures pretty smoothly with no horrendous peaks and valleys and listening to music in this room has been very enjoyable.  

 

But each time I experience a really good sounding room (like the Magico or the Taiko Audio listening room), I can't help but want to make improvements and so on more than a few occasions, I've dabbled in room correction or DSP.  I've tried products from Denon (Audyssey), Lyngdorf, and DEQX.  I've brought in speakers that incorporated DSP like the Kii Three.  These solutions did not work for me.  I had my room measured and I enlisted the services of highly respected people like Uli Brueggemann and Mitch Barnett.  I can't say enough good things about these individuals and the services they provide.  They clearly know their craft and were very pleasant and enjoyable to interact with.  I learned a lot about minimum and linear phase filters from Mitch and after much trial and error, I settled on a group of mixed phase filters that I felt were generally to my liking.  The problem with these filters, ultimately, was transparency.  They did some good things but also did some not so good things and so there was always some tradeoff.  I also found that some filters sounded good with some tracks and horrible with other tracks and so this bothered me.  For example, my preferred mixed phase filter did a nice job smoothing the bass with a certain bass-heavy track from Fink or Daft Punk but with Tchaikovsky's 1812 Overture, as the cannons go off at the end, instead of an explosion, all you hear is a compression.  A dud.  Ugh.  Simply horrible.  With time, I found myself not using any of my room correction filters because implementing them for some tracks and removing them for others was more trouble than it was worth.  I figured that room correction technology, while good for movies and certain types of amplified music was not so great for the natural expression of unamplified acoustical instruments and this is what I listen to the most.  What was especially missing were natural extension, depth, and decay.  

 

For some time, I've been aware of @Zaphod Beeblebrox's background and interest in EQ and room correction.  On several occasions, he's encouraged me to give it another try because he felt he could more properly implement it within PGGB.  Based on my disappointment with previous experiences, I didn't prioritize it very highly but eventually I got around to giving it a try.  Because of how much more transparent sounding PGGB made my library sound, I was cautiously hopeful this transparency would extend to room correction and so I provided ZB with my room measurements.

 

With the first two attempts, I was immediately impressed by the transparency in the bass.  The cannons on 1812 Overture exploded with full extension.  I sensed zero compression in the lower octaves.  I also sensed no truncation of depth which seemed to be the other failing of room correction in the past.  On these 2 counts, this was a big win but I found the midrange and treble to sound too smooth and homogenized.  It became clear that I enjoyed the natural resonances of my room in the higher octaves and he wasn't surprised because he felt the mids and highs were well behaved in my room and so on the third try, he limited room correction to below 250Hz.  Here are the before and after measurements:

 

image.thumb.png.e4790d009b42e9b3e3c6b48a476070ba.png

 

The bright red and blue tracings at the top are the "before" measurements of my left and right channels, respectively, and you can see a fairly prominent dip in the bass below 50Hz in the left channel with respect to the right channel.  If you look at the photos of my room, you can clearly understand why.  There is also a moderate peak at 60Hz with the left channel.   With the "after" measurements, you can see how he boosted the left channel below 50Hz and cut the peak at 60Hz to match the right channel.  He used purely linear phase correction.  He left >250Hz alone.  To allow for easy A/B, he also boosted the overall gain to level match what I was getting with no filter applied.  

 

With this 3rd EQ filter, the results that I got were nothing short of AMAZING.  Bass was extended, full, powerful, clear, defined, controlled, and TRANSPARENT!  I once brought in a pair of REL 212SE subwoofers into this room but I could never quite get them to blend seamlessly enough and at no time did adding those subwoofers ever sound this good with these Wilsons.  Because my D'Agostino Momentum HD preamp and Block Audio SE class A monoblocks are capable of generating tremendous amounts of bass by themselves, bass quantity has never really the issue but never have I experienced this level of bass quality with no apparent compromises in my room before.  What is just as satisfying is that while room correction extends only to about 250Hz, it's apparent that my smeared bass was masking midrange detail because my midrange clarity has also very noticeably improved.  Vocals have taken on a new level of clarity and audibility.

 

This is a remarkable level of transparency that I had not experienced before with room correction.  Room correction with PGGB takes place after upsampling but before noise shaping.  Whether the order matters or not in the re-mastering process is not clear and so I will leave it to ZB to discuss the technical aspects of what he has done to the extent that he feels comfortable but clearly, he has accomplished something very right.  There is also the option of time domain correction but with further analysis, he did not feel my room would significantly benefit.  I am now in the process of re-mastering my entire library once again, this time with this room correction filter in place because unlike in the past, regardless of the track I have applied it to, this room correction this far has improved everything.  If I were to gauge the level of impact, in my listening room, I would say it is at least equivalent to every other quality PGGB offers.  

image.jpeg

Fantastic write up. You’re post timing is interesting to me. Just as you posted this I just sent off full range of filters from Mitch & Uli to Zaphod to do his magic. Like you I’ll be converting my library again for the next 4 days. Hopefully all in place by the weekend. Icing on the cake stuff! 
 

I also much prefer your leather seating than their chairs! 👍
 

Cheers

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...