Author Topic: Finding potential ReplayGain issues in your audio library.  (Read 1970 times)

hiccup

  • Sr. Member
  • ****
  • Posts: 7856
ReplayGain is a very valuable tool to make sure the music in your library plays at an optimal and consistent loudness level.
And MusicBee's build-in loudness analyser is a great feature making that possible.

But it can be the case that there are albums or tracks in your library that have some issues regarding ReplayGain, such as missing ReplayGain tags, inconsistent Album Gain tags, or gain values that amplify songs into distortion.

Here are some (combinations of) virtual tags that make it possible to filter out some of these ReplayGain issues with albums or tracks in your library.
You can use them either for library filters or for auto-playlists.
(or for column headers, track information fields, etc.)

note:
These virtual tags (except for the first one) require that the Additional Tagging & Reporting Tools plugin is installed. Make sure you are using an up-to-date version.



        find albums that contain tracks with missing ReplayGain tags


            a. label virtual tag 1
               Track gain missing¨
               formula
               $IsNull(<Track Gain>,1,)
 
 
            b. label virtual tag 2
               Album missing trackgain¨
               formula
               $If($Sum(<Track gain missing¨>,<Album>)>0,"RG missing",)
 
 
            c. filter/playlist
               albums missing TrackGain
               rule
               <Album missing trackgain¨> has a value



        find albums that have one or more Album Gain tags either missing, or inconsistent with the other tracks


            a. label virtual tag 1:
               Prepare album gain¨
               formula
               $If(<Album Track Count>=1,,$IsNull(<Album Gain>,0.000,$Round($Split(<Album Gain>," ",1),3)))
 
 
            b. label virtual tag 2:
               Album gain sum¨
               formula
               $If(<Album Track Count>=1,,$Round($Sum(<Prepare album gain¨>,<Album>),3))
 
 
            c. label virtual tag 3:
               Album gain inconsistent¨
               formula
               $If(<Album Track Count>=1,,$If(<Prepare album gain¨>=$Round($Div(<Album gain sum¨>,<Album Track Count>),3),,inconsistent))
 

            d. filter/playlist
               album gain is inconsistent
               rule
               <Album gain inconsistent¨> has a value



Finding potential clipping issues

When your albums and/or tracks have ReplayGain values, and you have activated ReplayGain playback, there is a chance of digital distortion (clipping) if the the gain value amplifies the track to a level where the track's peak levels exceed 0 dBFS.
This can be avoided at the stage when analysing the tracks for their loudness by using clipping detection and adjusting the settings when that occurs.

But for tracks that have been analysed in the past, it's very difficult to know if there are tracks that may be clipping depending on its Track Gain and/or Album Gain values.

Here are some virtual tag combinations that make it possible to filter tracks and albums that may be clipping when ReplayGain Album or ReplayGain Track playback is activated.


               note:
               Besides some virtual tags, these solutions all need 1 custom tag.
               Use these settings to define the new custom tag    (Custom Tags > Define New Tags…)
                 note that MusicBee will start rescanning your whole library as soon as you save this new custom tag

                      identifier:
                      ReplayGain track peak

                      tag code for the various codecs:
                      replaygain_track_peak

                      Then select an available custom tag:

                      display name
                      Track peak

                      save to music file as tag
                      ReplayGain track peak



a set of virtual tags to find tracks with potential clipping issues

               note:
               These both need the most recent beta version of the AT&RT plugin which was released just today.
               You can find a link to it here


        find tracks that potentially have clipping issues

            a. label virtual tag
               Track gain clipping¨
               formula
               $If($Add($Split(<Track Gain>," ",1),$Mul($Log(<Track peak>),20))<0.1,,$Round($Add($Split(<Track Gain>," ",1),$Mul($Log(<Track peak>),20)),2) dB)
 
 
            b. filter/playlist
               tracks may be clipping
               rule
               <Track gain clipping¨> has a value


        find albums that have tracks with potential clipping issues


            a. label virtual tag 1:
               Check album gain clipping¨
               formula
               $If($Add($Split(<Album Gain>," ",1),$Mul($Log(<Track peak>),20))<0.1,,1)
 
 
            b. label virtual tag 2:
               Album track clipping¨
               formula
               $If($Sum(<Check album gain clipping¨>,<Album>)<0.1,,clipping)
 
 
            c. filter/playlist rule:
               album tracks may be clipping
               rule
               <Album track clipping¨> has a value


two optional virtual tags:
these can be used for informational purposes in e.g. column headers or other locations in MusicBee

     1. label virtual tag:
        Track peak dB¨
        formula
        $Round($Mul($Log(<Track peak>),20),2) dB
 
 
     2. label virtual tag:
        Album gain clipping¨
        formula
        $If($Add($Split(<Album Gain>," ",1),$Mul($Log(<Track peak>),20))<0.1,,$Round($Add($Split(<Album Gain>," ",1),$Mul($Log(<Track peak>),20)),2) dB)


to give some idea how this would work:

        inconsistent album gain



        album may have tracks clipping



        peak, gain and clipping information

 
Last Edit: December 25, 2023, 08:47:04 AM by hiccup

hiccup

  • Sr. Member
  • ****
  • Posts: 7856
updated

- renamed some tags
- added another 'informational' tag
- better screenshots
Last Edit: November 05, 2023, 03:01:53 PM by hiccup

hiccup

  • Sr. Member
  • ****
  • Posts: 7856
updated

Changed the $Lg function in the formulas to $Log
(which is what the most recent version of the AT&RT plugin is using now)