Volume leveler

i hate that some video files are super loud, while others are super low.

it would be nice to have some sort of leveler so that it can even out all audio.



this way when im watching an episode of one show, and move on to the next, i am not shocked deaf or scared that audio has disappeared.

Good point! We have auto gain control on music files and you can adjust the gain on video files from the osd, why not plug the two bits of code together?

This would actually be nice! You might want to file a an official feature request for it. There is some debate on weather this is possible when using AC3 passthrough since all OSXBMC does is pass the raw data to the receiver and no amplification is actually done… I’d like to see what a AC3/DTS pro would have to say on this.

Not possible with AC3/DTS, although I’m not a pro by any means. But unless the encoded format has some built-in bits in the stream for volume tweaking, it’s not going to be possible.

That would really make a DTS or AC3 stream to be outputted as a bunch of 0DB noise!!! (that is extremely loud and damaging to ears and speakers)



PLEASE DON"T DO THIS…

well…i certainly dont want to cause havoc on other files, cause i too have a mixed grouping.



i was just hoping there would be some way to measure the highest volume of each file in your library, and then take the loudest ones and adjust the gain so that they would be on par with your lower level files (or vice versa).



if not…no worries.



maybe instead we can have OSXBMC remember each files settings. This way as i play through my files, if i adjust the volume for one file, it will remember that setting the next time i play it.


Now **that** is a good idea! I'd love to have the settings for each file stored in the library, not just the audio gain but everything. I'm endlessly tweaking all the settings for each movie I play (subtitles on/off, audio track 1/2, display mode, amplification etc)

That would make a good ticket (remember settings, etc.) on a per file basis. Only problem I see is if you remove a program you’re stuck with the settings for that movie.

When you remove a video from the library it deletes the db entry, when you remove a source it deletes everything from that source in the library and if you delete a file; update library and clean library both remove missing entries so it should clean itself up. I’ll raise the trac when I get to work.





Scrub that, I just checked and there is already a settings table in the database that has fields for all the osd settings, looks like its already implemented!

Good thoughts then, whip up a feature request.

XBMC already contains said feature. All settings for video files are saved per-file. No need for anything new, unless ofcourse the UI needs refining.

That’s kind of funny, we’re trying to support an application that we don’t even completely know ourselves. As always, thanks for lending a hand, Jonathan.


I said that earlier!


Hmm...is there a trick to getting this to work? No matter what I do with the audio settings/gain/etc...the sound level doesn't change. The same with getting the 2nd level of a subtitle file to play.

pmcd

I don’t suppose something like “normalization” could be implemented, with a scale (even if it only works on some audio types)…

The higher the level of “normalization”, the less Plex lets the volume stray… at the highest setting, talking and loud bangs would be the same volume; just squash the volume range.



I live in an apartment, and I am constantly having to keep my finger on the volume button… whispering/talking: turn it up, random explosion: feel bad for the neighbors and turn it down; would love to be able to put the remote down and not have to worry.

That’s the volume amplification feature. It’s currently not enabled on anything other than xbox. There’s another thread on here somewhere discussing how it could be handled.

I’m not sure that the intent of the amplification feature is the same as what I am looking for in terms of a “flattening” or normalization.

Granted, with amplification, you could theoretically change the volume of each song (or video), have it save, and then not be shocked when it goes from one file to the next.



What I am hoping for, however, is a global setting that is basically “Play all low sounds no lower than this” and “Play all loud sound no louder that this”, so that no matter what file, and no matter if it’s a volume change in the movie itself (whispering to explosion in one scene), I am covered.

That’s exactly what it does. It’s a form of dynamic range compression.



For songs (aka music only) then XBMC supports replaygain. Replaygain your tracks and it’ll work just fine.



For video, there’s the volume amplification aka dynamic range compression which is currently not available in plex, but there is code in the xbox version that could be used to do it if and when elan et al have time to merge it across :slight_smile:

+1 would like to see this feature.

This has been asked for, an ignored by Plex, since at least 2008 as that is when this thread was last created and last posted to.

I would not expect any greater interest by Plex due to this rather extreme bump.