As someone who downloads or buys their music to listen to via VLC, it’s quite annoying when the volume level between files aren’t consistent. Especially when I’m unable to easily to change the volume like when I’m doing physical labor as an example. So it can go from a perfectly reasonable volume, to damaging my ears, and then to where I can barely hear. I was thinking of going in and manually editing them myself to be consistent amongst each other at some point, but then it got me thinking. Is there an application that will equalize the volume on your audio files for you? If not, would anyone else have a use for one besides me? I’d love to know either way.
There are several possibilities, here is one : https://github.com/M-Igashi/mp3rgain
Another : https://github.com/tapscodes/MuseAmp
- Deadbeef
- Wine foobar2000
- rsgain command line
Ffmpeg?
The process you’re looking for is called loudness normalization. You want to batch normalize your audio files to a set LUFS value(probably around - 14LUFS). I think there is a way to do this in batch proccessing with audacity.
Go to Preferences -> Audio -> Replay Gain mode and set it to “Album” (if you’re listening to whole albums) or “Track” (if you’re mixing it up). This will let VLC read the ReplayGain[1] tags in your files and adjust playback volume accordingly. Chances are high that a lot of your collection already has these tags, and you won’t have to do anything else. If some of your files don’t have these tags, just run a tool (https://github.com/complexlogic/rsgain for example) to generate them.
If playing through VLC, why not use the built in normalizer? Or you can go the more painful route of re-encoding each file to a normalized audio, something I haven’t done since 2k, for use on other devices
Well, I forgot to mention that I don’t just use these audio files on my Linux machine. I use SyncThingy in order to use the same files on my phone as well (which runs LineageOS). So, unless VLC for Android also has that feature, I would prefer a solution that works regardless of which platform I’m using, thus why I was looking to do re-encoding on Linux. Though admittedly, I was also wondering if the answer was no because I thought I might have finally found a decent idea for a project
@pirate2377
Never tried it, but couldn’t you set normalization in mpv.conf? The android version does allow you to add your configs there.
@lost_faith
r128gain
You will want to use something like Foobar2000 to scan the files then write replaygain metadata to each file.
Then you enable replaygain in VLC and it should work as you want.
I might have a mistake in my thoughts/knowledge:
This would be a playback tool dependent solution though, right? Because then it works be not something at least I’d want.
Am I overlooking something? (Except the obvious “keep the original” aspect)
Replaygain doesn’t change the file itself.
It is a measurement of the files audio volume against a set level. Then the file gets a tag (metadata) for the volume adjustment.
To put it simply: ReplayGain turns up the volume an appropriate amount when playing a relatively quieter song/album and turns down the volume an appropriate amount when playing a relatively louder song/album.
Pretty much any music player should support replaygain including VLC.
https://www.reddit.com/r/headphones/comments/962a0c/replaygain_the_solution_to_constantly_changing/
Ah but this means if I can’t control the client (i.e. because I’ve setup a streaming server) then it’s not a solution for me - but I’d I do then this is the cleaner one because it doesn’t reencode the files.
Understood, thank you!
Presumably the server should do the volume adjustment in this case.
I can’t say that I haven’t thought about audio volume correction for streaming audio.
There must be a way of doing it as Spotify and other services have a version of replay gain.
I use QMP3Gain. It actually changes the bits in the file so the files work with every app and player without needing to rely on tags. However, It also adds tags to the file which let you undo the changes later, if needed (it’s lossless).
It has two modes. You can modify all the files in an album equally so that they play at the same relative volume. I guess the loudest song is set to your target volume and then the rest are adjusted relative to that. It’s great because it doesn’t ruin the flow of albums whose tracks connect seamlessly. Or you can modify tracks irrespective of other tracks, which is good for random singles you own.
The result is, songs in your entire library all sound more or less the same volume. The exception being that quiet tracks from certain albums will still be quiet.
You can drag every full album you own into the UI, and do them all at once in album mode. It works based on tags. Then do the same with all singles you own in track mode.
It defaults to 89.0 dB, but I prefer to use 95 dB because some devices just don’t have enough volume. A tiny bit of clipping is imperceptible because decoders account for it. Many of your current MP3s already have clipping, and I’m sure you haven’t noticed. So don’t worry if you see red "Y"s in the clipping column.
It uses the ReplayGain algorithm. Once in a while there’s a track that it just doesn’t get right. A certain single will just come out too loud or quiet and needs a different dB value than everything else. Out of the thousands of MP3s I have maybe five files have been like this.
One thing to note is that QMP3Gain seems to be a GUI for mp3gain, a terminal util. There are also aacgain and such for different formats, though some of them support multiple formats.
MP3Gain still messes up 10% of your files by only changing sections of of the files with no way of undoing, right?
Never touching that piece of “software” again…
I’ve never heard of that nor had that happen to me.
ffmpeg can do it. I haven’t used it in a while, but here is a good start How can I normalize audio using ffmpeg?
That’s the best way. It just adds a ReplayGain tag to the files instead of reencoding them at a different volume.
That’s funny, I prefer the opposite (actually changing bits) because then it works with every player and device.
I do both. I add replaygain metadata to my FLAC library then reencode it to mp3 with the volume normalization baked in to sync to mg phone.
There’s also mp3gain, but this looks better maintained
Look into audio normalisation… for playback purposes scanning/applying Replay Gain on the files should help a bit. Most audio playback software has support for that.
There is also EBU R 128, a slightly different type of loudness normalisation, it uses a different algorithm vs traditional Replay Gain. For my own usage I found it works better keeping the loudness at the same level when playing through a bunch of different audio tracks. No idea about VLC but the Strawberry application does support it so it could be worth a look if you want to try other audio playback software.
Replaygain 2.0 plugin for Musicbrainz Picard. Fix volume while getting your tags in order.
This doesn’t re-encode the files but tags them with information that tells your player how to adjust playback.
I know you are looking into editing the files, but you can probably also do this with live filters with something like easyeffects.








