Academy Dashboard Forum Production Digital Recording How Good is Your Limiter/Meter in Terms of True Peaks?

  • This topic has 5 replies, 2 voices, and was last updated 5 years ago by Arthur Labus.
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #48263
    Jürgen Schuler
    Participant

      Accidently, I stumbled across a problem with some limiters and level or loudness meters. The True Peak algorithms used appear to differ and in some cases to be lacking the desirable precision.

      Most probably this is not important during recording and mixing, since you will not be printing close to 0dBFS with modern interfaces. However, during (DIY-)mastering this may become important, as the headroom above 0dB full scale (dBFS) is very small or not existing at all in many consumer devices. And I stumbled across this problem during playing around with an already mastered song, as I will tell below. So there may be some significance. See and judge for yourself.

      To test your limiter/meter all you need to do is to loop the WAV-files, which are all stereo files at 48k and 32 bits floating point with a length of 1s each, feed them into your limiter and/or meter and compare the true peak reading with the values given in the file names and the values listed below. All true peak values are zero or positive:
      01-sinc-0dBFS.wav: 0dBFS TP
      02-sincshift-0dBFS: 0dBFS TP
      03-sinesweep-0dBFS: 0dBFS TP
      04-alt001-0.77dBFS: +0.77dBFS TP
      05-alt003-2.64dBFS: +2.64dBFS TP
      06-alt010-4.56dBFS: +4.56dBFS TP
      07-alt020-5.55dBFS: +5.55dBFS TP
      08-alt100-7.53dBFS: +7.53dBFS TP

      When testing your plugins, please use a little caution: Missing the true peak values by 0.1dB can be caused by rounding errors or the like and is most probably no problem what so ever. Even missing the real true peak by 0.3dB should not be a problem in many cases. Missing the true peak by 1dB or more may become a problem when (DIY-)mastering your songs, for instance when you set your ceiling to -1dBFS.

      In essence, that is what I wanted to let you know. If you want to know more, please feel free to continue reading. However, there is a word of warning, I’d like to give you.

      WARNING:
      This is going to be nerdy! Do you need to read this? Only if you like nerdy and consider mastering yourself. And even then only “perhaps”.

      To let you stop reading whenever you want to, let me just summarize first. I found a blog post by iZotope (https://techblog.izotope.com/author/izotoperussellmcc), which summarizes the problem and some test patterns very nicely. Since the WAV-files mentioned in the blog are no longer available online, I recreated them and attached them to this post along with graphs of the reconstructed wave forms.

      If the position of the true peak does not coincide with that of a sampled value (so-called inter sample peak), to determine the true peak ALL sampled values have to be taken into consideration according to the Whittaker-Shannon interpolation formula explained in the iZotope-post. In other words, determining the true peak in real-time is extraordinarily difficult at best. In most cases, the true peak value can only be estimated. And some plugins appear to be less good at it than others. And of course the (maximum) true peak value cannot be smaller than the maximum sample peak value. Yet, I know a level meter that gives in some cases a lower true peak value than the corresponding maximum sample peak value.

      I created the test pattern mentioned in the blog along with some more using a small C++-program to create data files and AUDACITY for Windows, since I did not want to program a routine for writing and reading a WAV-file. The WAV-files are all stereo at 48k, 32-bit floating point files with a length of 1 s each. To test your limiters/meters, all you have to do is loop the respective files and compare the output with the TP values given by the respective limiter/meter in the file names and listed below and above.

      I determined the true peak values, by reconstructing the wave forms from the created data files using the Whittaker-Shannon interpolation formula oversampling the data by a factor of 512 and another small C++-program. It took several minutes per file to reconstruct only portions of the wave form… at an oversampling factor of 512, I admit.

      However, also here rounding errors and other effects may occur. Let me reemphasize, a difference of about 0.1 dBFS between the values given below and above and what a perfectly working plugin is completely OK in my mind. Probably a difference of 0.3dB will not be a problem either, while a difference of 1dB or more may cause noticeable distortions. Please note that also the values I indicated are not free of error. However, due to using double precision values and a 512-times oversampling the rounding effects should be much smaller than the two digits I indicated.

      I also created some graphs showing the wave forms along with the sample values of the respective data file, which are also included in the ZIP-file. The wave forms are plotted over the sample index (48000 is equal to 1 second).

      WAV-files:
      01-sinc-0dBFS.wav: 0dBFS TP
      It’s a blind test with a single value at 1 (=0 dBFS), while the rest is equal to 0 (= -infinity dBFS). The wave form is that of a sinc-function (= sin(PI*x)/(PI*x)). The maximum value is reached at the single non-vanishing sample value, which is equal to 0dBFS.

      02-sincshift-0dBFS: 0dBFS TP
      It’s a challenge for the suggested true peak algorithms of the ITU-Recommendation BS.1770-2 defining the loudness units LUFS, which are typically referred to as R128. The recommendation suggests in its simplest form, oversampling the sample values by a factor of 4. To challenge the algorithm, the sinc of the first file is shifted by 3/8-th of a period between to samples (= 3/8 of 1/48000 HZ). Yet, the maximum value is still 1 (= 0dBFS). Based on the suggested 4-times oversampling you may expect something like -0.2dBFS or -0.3dBFS as the indicated true peak.

      03-sinesweep-0dBFS: 0dBFS TP
      This test is designed to cause too large values of the indicated true peak, while the other tests tend to produce smaller true peak values. The WAV-file consists of a sine-tone with a frequency sweep from 100 Hz to 19.9 kHz within 1 second. To prevent clicking, the WAV-file contains a fade-in and a fade-out of 1/8-th of a second each. Yet, it is just a sine-wave of amplitude 1 (= 0dBFS) with a quickly varying frequency. Several graphs of portions of the wave form are included. The overview graph is only 16-times oversampled. That is why there is some wiggle in the full scale blob part of the graph. The overview also shows the locations of some close-ups oversampled by the factor of 512.

      04-alt001-0.77dBFS: +0.77dBFS TP
      05-alt003-2.64dBFS: +2.64dBFS TP
      06-alt010-4.56dBFS: +4.56dBFS TP
      07-alt020-5.55dBFS: +5.55dBFS TP
      08-alt100-7.53dBFS: +7.53dBFS TP
      These 5 WAV-files each contain 1, 3, 10, 20, and 100 alternating (+1/-1) or (-1/+1) samples, respectively. The rest of the samples are equal to 0 (=- infinity dBFS). The higher the number of alternations, the less likely such a situation will appear in a real WAV-file. Without proof, I think the first two examples are not every-day examples, but also not completely out-of-the-world examples, while the last two are merely intended for test purposes to push the limiters or meters to their limits. Please keep that in mind when evaluating the test results.

      So, how did I come across this problem?
      In the last few weeks I got a little bit derailed from making music. I simply could not get into my small home studio. But I had plenty of time listening to podcasts. So I decided to give Ian Shepherd’s on mastering a chance and to try it myself. Having had little to no time in my studio, I took a mastered song from the 1980s from a CD I bought back in those days and decided to aggressively reduce the (micro) dynamics of the song to a maximum short term loudness value of something between -10 LUFS and -9 LUFS with a maximum true peak level of -1 dBFS.

      Oh boy, did I fail! I used a gain tool, serial compression with the suggested attack and release times of 100 ms each, and a limiter of one manufacturer and a loudness meter of another manufacturer in that oder. The limiter was set to a ceiling of -1dB with True Peak detection enabled. Using the compressors to push the signal slightly into the limiter, the loudness meter always gave me a value of more than 0dBFS. All further attempts that day did not bring me closer, but more and more into deep trouble.

      To tame the transients I used a very fast compressor, which chocked the upper mid frequencies. A very aggressive EQ setting for mastering in the upper mids caused a severe stereo imbalance, which I could fight using a multiband compressor. It worked, but it sounded… improvable. Please remember, it was an already mastered song! None of that should have been necessary.

      The next day, I used compressors, limiter and a meter from the same manufacturer, and it worked beautifully, until I put on a loudness meter of the other manufacturer used the day before as the final plugin. It again gave me a reading of more than 0dBFS as the true peak, while the first level meter gave me a maximum value of -1.0dBFS.

      So far I believe every manufacturer uses the same true peak algorithm at least in the same generation of plugins. Using the plugins of the same manufacturer may therefore bring apparently consistent results without you noticing that you are severely clipping your tracks. That’s why I wrote this post.

      And please, don’t believe me! Question me! If you find a mistake in my line of arguments, the files or wherever, please let me know. Please, tell me what you did and what you found out. Only that way I can learn.

      One last thing: The video (https://xiph.org/video/vid2.shtml) by Monty Montgomery mentioned in the iZotope blog is fun. I’ve been working with some of these stone-age devices long ago.

      #48264
      Jürgen Schuler
      Participant

        The ZIP-file again...

        #48604
        Jürgen Schuler
        Participant

          The files are currently available for download on wetransfer.com at: https://we.tl/BzB4s6MmeY

          #48605
          Arthur Labus
          Moderator

            Wow, that's lot of text LOL

            So, i did it.
            Downoladed the files. Working on Reaper. Toneboosters Barricade v3 Limiter on Master Bus. Faders on 0,0.
            Barricade is set to do "nothing" - out celling ist set to 0,0
            All results except for one track are giving me peak of 0,0dB.
            File 02-sincshift-0dBFS.wav has a peak of -2,1dB on Barricade and -2,2 on Master Bus meter.
            Not even sure what to except 😉

            #48625
            Jürgen Schuler
            Participant

              Hi Arthur!

              Yeah, I know... I didn't really know what to do with what I found. I could have kept it to myself, but perhaps it's useful for someone. And it's something so nerdy, I didn't believe anybody would be really interested in.

              Back to the results:
              The first file should return 0.0 dBFS. The maximum true peak and the maximum sample peak happen at the same time.

              The second file should have given you also 0.0 dBFS. I also tested the Toneboosters Barricade V3 and the EBU Loudness meter, which come both with the BusTools 3. I got a maximum true peak value of -0.4 dBFS.

              The maximum sample peak is -2.11 dBFS. When your readings are between -2.2 dBFS and -2.1 dBFS, the true peak mode appears to be disabled. The values you found agree very well with the maximum sample peak, but not with the true peak.

              By the way, the best results I got was with the Tokyo Dawn Records Limiter 6 GE, which is unfortunately only available as a Gentlemen's Edition for EUR 50.00 or as a demo version. The demo version, appears to be fully functional, but does not recall settings. I believe that's what they mean by "The demo edition features a true analogue experience".

              If you've got other questions, don't hesitate.

              Cheers,
              Jürgen

              #48634
              Arthur Labus
              Moderator

                I will try some other metering tools and investigate that thing with "true peak".
                Then i will be back 😀

              Viewing 6 posts - 1 through 6 (of 6 total)
              • You must be logged in to reply to this topic.