Feature Request: Volume Normalization

I watched a movie a few days ago where the volume went from so loud its going to wake the kids to cant hear anything but I know they’re talking because I can see their lips moving.

12 Likes

Yes Please!

I second this. Also, if there is a fix I’m overlooking, please let me know!

This would be a great feature. Either/both a way to set all playback to a target audio level, or ReplayGain support.

Also… I noticed following a Server upgrade- I believe around April, all of a sudden the sound on some of my media was “choppy” or erratic somehow, yet it played perfectly on VLC. I suspect something happened with the audio codecs that made a difference. Can you fix it?

I’d like to add my two cents. Yes it would be very helpful to have volume normalization (different from compression of volume in one file)! My music library has some albums that would BLAST the volume and others with very low volumes. You would think that there is a standard, but it does not seem that everyone conforms to it.

That would be difficult for Plex. Plex can - as is evidenced by the ‘Volume Boost’ feature, pump up the volume, but that only works if Plex is altering (transcoding) the stream before it reaches the client. MP3s and other higher end audio streams, ideally, are not altered by Plex, but are just handed over as is. That is the way most of us would prefer it. Plex already makes some fairly poor decisions when transcoding and I certainly don’t want Plex making more poor decisions on my behalf when it comes to my audio. I would rather I make my own poor decisions. :slight_smile:

As such, if I have an audio file or audio stream in a video file that behaves so badly I wish Plex could do something about it - I do something about it myself with any number of programs:

MP3Gain effectively normalizes audio and it’s default of 89db is the industry standard.
XMedia Recode effectively normalizes audio streams in video files and it’s default is 89db - again, the industry standard.

Both of these programs are free, fast and effective and for my use it’s all that is really necessary.

Most of my audio files play fine as they are, but some I have altered when it becomes clear the bonehead encoding them didn’t do a very good job (sometimes that bonehead was me).

If I had to pick an example of a Video File that should go down in history as THE NUMBER ONE Movie of all time with the rattiest audio levels it would have to be ‘Interstellar (2014)’. I swear to all that is holy I can’t watch that thing unless I pass it through Windows’ Loudness Equalization (Dynamic Range Compression) Routine and pipe it from Windows to my TV through the attached HDMI connection. It effectively REPAIRS ‘Mumblin Mathew’ that you can’t hear one moment only to be blasted out the window with effects the next. Not even the great Xmedia Recode can do a thing with that mess.

I have the Blu Ray. I have used Handbrake’s Dynamic Range Compression in many recodes in an effort to fix it and not even that can touch it! It’s ruined from jump street!

I understand (I don’t actually, but I’ll forgive 'em this time) Plex can’t get into that DRC function of Windows to repair audio in that way before it reaches my TV. That would be quite the detour to be honest.

Would it be nice? Sure. Do I expect it will ever happen? Not in a million years. Am I happy about it? Well… I’m not unhappy.

I would like volume limiting or normalization as well.

Asking people to recode their library is ridiculous and over the years volume levels on movies have changed to a pretty huge degree. Some movies are also just mixed very poorly and not everyone has a feature like this built into their TV or receiver.

I don’t see why it would be hard to add this feature on the client side… People who don’t want it should just not enable it.

Another thing you could do is to add the ever popular Night Mode option where Plex can be set to lower volume limits at a certain time range.

@urmomnom said:
Asking people to recode their library is ridiculous…

I’m not asking you to do anything, but when you consider the fact that people have been asking for this feature for years and for years it’s never happened a lot of us have just decided to do something about it on our own - while we wait for Plex to do something (we kinda get the feeling it’s never going to happen).

Yea, you can continue to beg, but in the meantime there’s a fast and efficient way of doing it yourself.

I’m just sayin’…

For me I think “volume normalization” belongs outside the providing device. It belongs in whatever is actually producing the sound or whatever is processing it.

For stereo audio (up to Dolby 2.1) there are fairly cheep devices that will normalize volume very well. As far as digital devices goes I have yet to see one in the consumer price range that even does a decent job without introducing an excessive delay into the audio stream.

Roku, in their new Ultra, has a night listening setting that is supposed to normalize audio but it works only marginally well.

The bottom line is that to get effective normalization you need to either: Use nothing higher that Dolby 2.1 and get one of the good analog processors or get a quite high end audio player that has the normalization you want or re-encode your library as has been suggested.

I really do not think the Plex application is the place for that kind of processing. It belongs outside the Plex system.

I’ve been using Plex for a while now. I mostly watch TV in my room that had a 32 inch smart Vizio tv that had volume leveling and everything on Plex was perfect. Now, I have a new 40 inch TV in my room and I did not realize how freaking AWESOME volume leveling was until I got this new TV that does NOT have it! Some files will blast you out while others are too low. I found a solution mp4gain (but it only works with mp4) It works with avi but ends up making the sound terrible and it doesn’t work with mkv at all. It would take more forever to go through my entire library to even the audio out on everything.

I “liked” the suggestion to help the vote, but I’m already doing this for my music pre-processing. For music I’m pre-processing the metadata with MediaMonkey before I move them into my Plex Library. Select the songs, right click, “Level Track Volume”

But on videos, it doesn’t really bother me enough to do anything about it.

I’ve started to do something similar with my video and music files a few weeks ago…I use mp4 gain to process every video file before moving it into Plex, but this is only with new stuff…all of the stuff before that would take forever to process. Does anyone know of a way to level MKV files WITHOUT re-encoding?

You can’t change the levels in an audio track without re-encoding them.

Misread your post and the edit is I haven’t used MP4Gain.
Xmedia Recode is quite handy: http://www.xmedia-recode.de/en/download.html
Change containers - or not - Copy Video, Convert Audio to the same or different format, while normalizing, adding audio tracks, etc. Very quick. You can drag large blocks of files into Xmedia Recode, Alt-A, Copy Video, Convert Audio - doing any tricks you want to - add to queue and encode. It’s still labor oriented, but you don’t have to do one at a time.

OK, I’ll look into xmedia-recode . It sounds a lot like Avidemux. I should have stated you can re-encode audio changing the volume level, but it just copies the video. So audio is re-encoded, video is not (at least on avidemux) but I can only get it to work with .avi and .mp4. Thanks

Well Xmedia Recode will work with any input file and remux to almost any output file.

Here’s a weird scenario and one Xmedia Recode excels in:

I get WTV files from Windows Media Center when I record TV Shows. WTV files are maddening because they have the embedded metadata from the EPG that you CAN NOT easily alter or erase and in my case that metadata is bogus 99.9% of the time. WV Public Broadcasting DOES NOT read TVDB or TMDB so they just write in what sounds right and it’s wrong most of the time. This results in a bogus match when I run them through MCEBuddy because MCEBuddy is trying to match with TVDB or TMDB so it can extrapolate the correct file name and run them into the proper library in one ‘convert/match/name/place’ automated process.

In another maddening discovery I find out MCEBuddy will PREFER that bogus metadata even over a perfect file name - exactly like Plex will when using MP4/M4V files unless you move Local Media Assets to the bottom of your agent lists. Unfortunately there is no way to alter the rank MCEBuddy gives to this bogus embedded metadata - bad matches left, right and center. When MCEBuddy can’t find a match it can’t write the proper file name and folder structure and everything that doesn’t match is written to go into a TV Show Library with a bogus name and structure and that makes it invisible to Plex. What to do?

In 30 seconds I run that WTV file through Xmedia Recode, Copy Video, Copy Audio and write to an MP4 container. In two more seconds I delete that bogus metadata right in Windows Explorer and drop the perfectly named file in MCEBuddy’s monitor folder and it’s flowers and bunny rabbits - all is well.

Frankly my life would be a living media Hades if it wasn’t for Xmedia Recode, but on top of curing the scenario above it does so much more.

I’m not familiar with how Plex utilizes open source products, but this looks like it would be fairly simple to implement server side. Being that Plex uses libavcodec, the underlying functionality is likely already there (or can be added easily). http://muldersoft.com/docs/dyauno_readme.html is already in the FFMPEG source tree - that’s both dynamic normalization using neighboring frames (actually a pretty cool, albeit, fairly simple algorithm) , and if needs be, an input compressor. It also need not be a global configuration item. Config could be entirely client side. I understand the arguments against adding this functionality, and I do tend to agree with those arguments. That said, if a user is using a client with equipment that doesn’t do some form of DRC or audio normalization, I can’t imagine that same user being overly concerned with an unaltered audio stream reaching their crappy hardware. I have nice equipment in the living room, but the bedrooms, not so much.

1 Like

I have yet to take on the task of re-encoding some of my files. I just got a Vizio speaker bar that has truvolume. From what I understand about SRS truvolume, it’s supposed to keep the volume at a comfortable level and prevent spikes. (just like the volume leveling feature did in my older Vizio TV), but it totally does NOT work at all

Yes, let us all individually re-encode each bit of audio. You want a subscription? I’ll offer my business savvy to you in exchange for a lifetime subscription. Go ahead and ask me why most people leave success behind. Now ask me how to negate it.

For Audio files, the solution is quite simple, use the ID3 Tag data that could be pre-programmed into the source file. I have all of my FLAC and MP3 files scanned and programmed with this data. Plex could just read it and adjust the playback volume accordingly. Lack of this feature one of two things that keeps me from loving Plex.

1 Like