• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support General Questions Volume Normalization

    Pages (2): 1 2 Next »

     
    • 0 Vote(s) - 0 Average

    Volume Normalization

    podonnell
    Offline

    Member

    Posts: 103
    Threads: 24
    Joined: 2023 Jul
    Reputation: 0
    Country:United States
    #1
    2024-06-21, 06:00 AM
    I think this is handled differently depending on the player, but I am having a widely awful time with audio normalization.

    Right now I'm using the jellyfin media player on 'Track Gain', which should squash the dynamic range. The alternative was 'Album Gain', which maintains the dynamic range. I'm not sure how that one would work, but it sounds like it would be worse.
    I'm having to blast my audio up to 70 / 100 for certain dialogues, and I nearly had a heart attack when a bullet was shot at one point.

    I feel like every device I have, I need to keep the remote in my hands.

    I am ideally going to upgrade one or two of my systems where I watch, and get a proper 5.1 setup so I can keep dialogue in the center channel, but some of my devices are going to remain just simple TVs or connected to 2 external speakers.
    For these, I really need a better solution.

    Are there any better ways to handle this? Does it depend much on the audio codec / track that comes with the files? Any other tips?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-06-21, 02:43 PM (This post was last modified: 2024-06-21, 06:41 PM by TheDreadPirate. Edited 1 time in total.)
    My understanding is that normalization does not change dynamic range of a track just peak or average volume. And that normalization in Jellyfin is only done on Music. My rudimentary coding skills seems to confirm that when I look at the normalization job.

    Movie audio is mastered way differently than music and has huge dynamic range comparatively. When Jellyfin transcodes audio, there is a setting in Dashboard > Playback to apply a gain to the transcoded and, usually, down mixed audio. I'm not aware of any settings in Jellyfin to compress the audio, but a lot of sound bars and TVs have settings to change dynamic range. "Night" or "TV" mode will compress the audio so that the dialogue and loud sounds are much closer in volume.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    podonnell
    Offline

    Member

    Posts: 103
    Threads: 24
    Joined: 2023 Jul
    Reputation: 0
    Country:United States
    #3
    2024-06-21, 06:17 PM (This post was last modified: 2024-06-21, 06:41 PM by TheDreadPirate. Edited 1 time in total.)
    (2024-06-21, 02:43 PM)TheDreadPirate Wrote: My understanding is that normalization does not change dynamic range of a track just peak or average volume.  And that normalization in Jellyfin is only done on Music.  My rudimentary coding skills seems to confirm that when I look at the normalization job.

    Movie audio is mastered way differently than music and has huge dynamic range comparatively.  When Jellyfin transcodes audio, there is a setting in Dashboard > Playback to apply a gain to the transcoded and, usually, down mixed audio.  I'm not aware of any settings in Jellyfin to compress the audio, but a lot of sound bars and TVs have settings to change dynamic range.  "Night" or "TV" mode will compress the audio so that the dialogue and loud sounds are much closer in volume.

    You might be right on about this being intended for music. At least in the Jellyfin Media Player specifically, that section is listed right under Music Quality, and 'track / album' make a lot of sense when I think about music now:

    Audio Normalization

    Track Gain
    Track gain - adjusts the volume of each track so they playback with the same loudness. 
    Album gain - adjusts the volume of all the tracks in an album only, keeping the album's dynamic range.

    One of the players I use (maybe HPV Shim or my Hisense Jellyfin app) have an 'experimental night mode', but that didn't do too much either.

    I think I'll have to check into this more from the TV / device side to see what options I have.
    LordMelvin
    Offline

    Junior Member

    Posts: 1
    Threads: 0
    Joined: 2024 Sep
    Reputation: 0
    #4
    2024-09-15, 05:42 PM
    Sorry to be a couple months late, but for posterity, what you are describing is a textbook case of not mixing a film or show's surround mix down to stereo properly. Surround sound mixes usually put almost all dialogue in the center channel with very little dialogue, but plenty of music and sound effects placed in the left and right side channels, and the left and right side channels will be the default two chosen by a discarding stereo implementation, where the player is accepting all audio channels from the server but then only feeding 'stereo' to the actual speakers.

    The fix for this should be, on your device, in 'user' 'settings', under 'playback' assigning 'Maximum Allowed Audio Channels' to stereo. This should then ensure that the server is properly asked to downmix to stereo, with whatever downmix settings you have in place there.
    maxpayne
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Jan
    Reputation: 0
    Country:Germany
    #5
    2025-01-08, 03:27 PM
    (2024-06-21, 02:43 PM)TheDreadPirate Wrote: My understanding is that normalization does not change dynamic range of a track just peak or average volume.  And that normalization in Jellyfin is only done on Music.  My rudimentary coding skills seems to confirm that when I look at the normalization job.

    Movie audio is mastered way differently than music and has huge dynamic range comparatively.  When Jellyfin transcodes audio, there is a setting in Dashboard > Playback to apply a gain to the transcoded and, usually, down mixed audio.  I'm not aware of any settings in Jellyfin to compress the audio, but a lot of sound bars and TVs have settings to change dynamic range.  "Night" or "TV" mode will compress the audio so that the dialogue and loud sounds are much closer in volume.

    Hi, I am an audio engineer but I am a novice when it comes to coding. Is there a way I can contribute to Jellyfin in order to add a feature that could implement loudness equalisation/compression? In theory it is very easy, it doesn't matter if it is music or movies, the point is to get a flat audio output (which can make music less pleasant to listen to but not as noticeable in the movies) still, it is the whole point of normalisation/loudness equalisation. It could also be implemented as a check box if one wishes to normalise both music and movies/series based on the location of the library perhaps. Additionally we could look into the option of a Nightmode as mentioned which could have tighter compression time for a flatter dynamic range and peaks. 

    My headphone comes with a simple compression feature that really makes explosions and dialogues on the same level which could be really nice to have this across jellyfin instead of relying on separate devices.

       

    I would like to help, and such features with the right compression timings and values could make Jellyfin a superior streaming platform.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #6
    2025-01-08, 03:45 PM (This post was last modified: 2025-01-08, 06:53 PM by TheDreadPirate. Edited 1 time in total.)
    We kind of already do on the server, but only when transcoding happens. The hard part would be implement audio compression client side on our various clients since each client is different and uses a different playback engine.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    maxpayne
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Jan
    Reputation: 0
    Country:Germany
    #7
    2025-01-08, 06:50 PM
    Thank you for your reply. Yes I have noticed the options in the transcoding, although I usually try my best to avoid transcoding. I can see how that can be an issue, perhaps we could pick the most popular platform and start from there? I do not know how realistic it is, that is why I am asking someone of your experience to take the shots.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #8
    2025-01-08, 07:06 PM
    Android, Android TV, and Roku are the most common clients from my experience. Of these, I'd say Android TV and Roku could benefit the most from proper downmixing and boosting.

    Jellyfin Media Player can be manually configured (since it uses MPV) to downmix and boost audio.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    1
    maxpayne
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Jan
    Reputation: 0
    Country:Germany
    #9
    2025-01-08, 07:37 PM
    do you think its best if i consider making a plug-in instead of integrated feature?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #10
    2025-01-08, 08:03 PM
    I don't think a server side plugin could achieve this functionality for audio that isn't transcoded.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    1
    Pages (2): 1 2 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 4 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode