VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    I'm trying to normalize the audio on my entire media library. My goal is to make every video sound like it’s the same volume as every other video, make videos that were edited together from different sources sound like they have voices and music that sound like they are the same volume throughout the whole video, and lower spikes without lowering any other sounds – basically I'm trying to reverse-engineer the volume leveling feature on my Vizio TV, which I don’t want to use because it occasionally causes this annoying glitch when watched on Plex where the first second or so of a video is at a very noticeably lower volume than it’s supposed to be. I tried to this with batch files with help from google ai and every attempt had the same kinds of issues – having some videos come out sounding echoy, warped in pitch duting certain kinds of sound effects, the trebble of certain sounds being too high, and having certain sounds boosted that shouldn’t have been boosted like tape hiss or the sound if people sighing. We are now working with FFMpeg Batch AV converter, and here are the parameters that Google AI saus will meet my goal exactly without causing any of the problems I didn’t want:
    af agate=threshold=-34:ratio=4:attack=15:release=80,loudnorm=I=-14:LRA=11:measured_I=-20:measured_LRA=11:measured_TP=0:measured_thresh=-30:linear=false
    I just need confirmation from real people that these paremeters will do exactly what I’m trying to do with none of the issues I just mentioned. I am at risk of messing up my entire library if I don’t get it exactly right and some of my media is absolutely irreplaceable, I need to have these parameters meet my goal for any mp4 I apply it to no matter what, and not have any of the problems I memtioned not show up on amy mp4 no matter what. I’m on vacation right now and won’t be able to test this out until I get home on the 5th.
    Quote Quote  
  2. Member
    Join Date
    Jun 2024
    Location
    Perth, Western Australia
    Search PM
    It's a fine goal but normalising a wide variety of audio sources for the same target average volume level, with no annoying artefacts like gain pumping, background noise or harshness is not always easy. There can be trade offs , compromises and different points of view. Some listeners are more fussy than others. The advent of compilation albums, videos and online playlists created a real challenge for mastering engineers. Plus there's only so much can be done with a wide range of material and qualities to "bring it up to modern expectations".
    As you seem to understand, the final product will be listened to by real people, not a software program.
    Last edited by timtape; 11th Aug 2026 at 01:48.
    Quote Quote  
  3. The Google AI response is nonsense.
    LRA=11:measured_I=-20:measured_LRA=11:measured_TP=0:measured_thresh=-30
    Where does this values come from?
    They where measured from ONE file and maybe are working fine for THIS file, not for others.
    Let it be.
    Quote Quote  
  4. Member pchan's Avatar
    Join Date
    Mar 2003
    Location
    Singapore
    Search Comp PM
    @DaneClark,
    Do not mess with your library and that's your master copy. You never know what you need to do with it in the future. Just make a copy of it for the audio normalization project.
    Here is the ffmpeg preset.
    1. Normalize audio only.
    Code:
    ffmpeg -i input.mp4 -af "loudnorm=I=-14:TP=-1.5:LRA=11" -c:v copy -c:a aac -b:a 192k output.mp4
    2. Normalize audio and spike removal.
    Code:
    ffmpeg -i input.mp4 -af "alimiter=limit=0.98:attack=5:release=80,loudnorm=I=-14:TP=-1.5:LRA=11" -c:v copy -c:a aac -b:a 192k output.mp4
    Setting Value Meaning
    I -14 LUFS Target integrated loudness
    TP -1.5 dBTP Maximum true peak
    LRA 11 LU Target loudness range
    -c:v copy — Video is copied without re-encoding
    alimiter=limit=0.98 — catches very short loud spikes.
    attack=5 ms — reacts quickly to sudden peaks.
    release=80 ms — releases the limiting relatively quickly.

    Please give these presets a try. No guarantee that it will work.
    Once you are satisfied with the result, you can automate the audio normalization with .bat script i.e. it will process files from input folder to normalized output folder.
    Quote Quote  
  5. Member
    Join Date
    May 2005
    Location
    PAL User
    Search Comp PM
    Originally Posted by PChan
    Do not mess with your library and that's your master copy. You never know what you need to do with it in the future. Just make a copy of it for the audio normalization project.
    Absolutely! Only muck around with copies of your masters.

    Foobar2000 will level the volume of all MP3s or MP4s in a folder. I don't understand the technical details, but it certainly does the levelling job. All files are the same volume when played on any player I've used (Android, Windows, server to my TV).

    Start Foobar2000 exe

    File Open

    Select all files to be balanced>Open. A playlist will be created.

    Select all files in the playlist

    Right click>> Replay gain>Scan per-file track gain

    Click Update file Tags

    RC Replay Gain>Apply Gain to File Content

    Done.
    Quote Quote  
  6. Originally Posted by DaneClark View Post
    I'm trying to normalize the audio on my entire media library. My goal is to make every video sound like it’s the same volume as every other video, make videos that were edited together from different sources sound like they have voices and music that sound like they are the same volume throughout the whole video, and lower spikes without lowering any other sounds – basically I'm trying to reverse-engineer the volume leveling feature on my Vizio TV, which I don’t want to use because it occasionally causes this annoying glitch when watched on Plex where the first second or so of a video is at a very noticeably lower volume than it’s supposed to be. I tried to this with batch files with help from google ai and every attempt had the same kinds of issues – having some videos come out sounding echoy, warped in pitch duting certain kinds of sound effects, the trebble of certain sounds being too high, and having certain sounds boosted that shouldn’t have been boosted like tape hiss or the sound if people sighing. We are now working with FFMpeg Batch AV converter, and here are the parameters that Google AI saus will meet my goal exactly without causing any of the problems I didn’t want:
    af agate=threshold=-34:ratio=4:attack=15:release=80,loudnorm=I=-14:LRA=11:measured_I=-20:measured_LRA=11:measured_TP=0:measured_thresh=-30:linear=false
    I just need confirmation from real people that these paremeters will do exactly what I’m trying to do with none of the issues I just mentioned. I am at risk of messing up my entire library if I don’t get it exactly right and some of my media is absolutely irreplaceable, I need to have these parameters meet my goal for any mp4 I apply it to no matter what, and not have any of the problems I memtioned not show up on amy mp4 no matter what. I’m on vacation right now and won’t be able to test this out until I get home on the 5th.
    And what format are your original audio tracks in, AAC or AC3?
    Quote Quote  
  7. Member
    Join Date
    Apr 2007
    Location
    Australia
    Search Comp PM
    I thought about how I also wanted to make the audio consistent across my video collection.
    I came up with this. I've not done a lot of testing but it seems to work ok.
    The source and destination folders will need changing to match your requirements.
    You can kill the batch file at any time. You will need to delete the incomplete video.
    When restarted, the batch file will pick up from the deleted video.
    Parameters for dynaudnorm can be found here: https://ffmpeg.org/ffmpeg-filters.html#dynaudnorm
    Drop the batch file in the root folder. In my case it's 'e:\movies and tv'.
    Of course ffmpeg.exe must be available.

    Code:
    @echo off
    :: Create the source folder structure at the destination
    xcopy "e:\movies and tv" "d:\normalized%~p0" /t /e
    
    :: Create a list of input videos, including full paths.
    if exist templist.txt del templist.txt
    for /r %%a in ("*.mp4") do echo %%~fnxa>> templist.txt
    for /r %%a in ("*.mkv") do echo %%~fnxa>> templist.txt
    
    :: Process the content of templist.txt.
    for /f "usebackq delims=" %%a in (templist.txt) do call :process1 "%%a"
    goto :end
    
    :process1
    :: If not already processed....
    if not exist "d:\normalized\%~p1\%~nx1" ffmpeg.exe -hide_banner -i "%~1" -c:v copy -c:a aac -af "dynaudnorm=f=600:s=15:m=15:p=0.88:r=0.2" -ar 48000 -c:s copy "d:\normalized%~p1%~nx1"
    goto :eof
    
    :end
    pause
    To help with hiss; for speech audio you could add the following filters before dynaudnorm.
    "highpass=f=85, lowpass=f=9000",
    These filter settings are not really for music, but speech. Depending upon the movie they may be ok for a soundtrack.


    Cheers
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!