forum

ReplayGain Support (Audio normalisation technique) [waiting]

posted
Total Posts
14
This is a feature request. Feature requests can be voted up by supporters.
Current Priority: +1
Topic Starter
Numbers_old
I would love to see Replay Gain added, or atleast some sort of way for Osu! to output all songs in the same audio volume range. The biggest advantage would be not having the users destroy the mp3 files if they need to lower or raise the volume on the song they are working on. Replaygain adds a value to the file, it doesn't alter the files data more than a ID3 tag would do.

Quality point of view.
As most of you are aware of mp3 is a lossy format, meaning it doesn't contain all information from the source. One should never, under any circumstances use applications to raise or lower the volume of a file that has been encoded already since it will be encoded again, but this time from an already lossy source. Basically, it would be like saving a jpeg over and over again. This would get rid of that problem. The audio quality on some of the songs in Osu! are not very good, But depending on the speakers people are using, or the audio level people play it might not be noticed very well, if at all. But for some it can make a song unplayable. (So far I've stumbled upon just one song that is unplayable because of this though, James beatmap Sweater - No. 7. It's just one big mess of distortion.
Anyway, I almost cried when I saw a user being recommended to use a program to raise the audio level on a mp3, it's wrong, and it's bad.

Overall audio levels.
Some song have the volume way up, some songs way down. If you for example play this game with a volume that could be considered high, you will probably hurt if you stumble upon a song which has it's peak too high. Ears will burst, hearts will stop. And you will, sometimes even be scared shitless and paralyzed with fear. (And you would possibly also lose)

I'm not sure it's even possible to add this to Osu! Or if anyone else even considers it a problem that this is not present. But now I have done what I could and added a formal request of it atleast. Ciao!
peppy
A few things:

Reencoding an mp3 isn't really that bad. Our source quality is already generally low in the osu! community, so reencoding will be hardly noticeable. No, don't argue this one with me - I am speaking from an average user's perspective, and I do understand the internal consequences of a reencode, but do not see any harm in doing so for this situation.

That said, some kind of volume normalisation would be quite handy, and should work well for most songs. I'll look into it.
Topic Starter
Numbers_old
I will both disagree and agree with you, but I won't argue with you, I need to supress the audiophile in me not bring it out, it gets scary, extremely scary. Thanks for looking into it, I hope it won't be a too troublesome thing to add to the code. Now, back to the shogi board. Ciao!
peppy
Determining the peaks of an audio file is quite time consuming. This will only need to happen once, when the beatmap is first created in the editor, but it will still add an extra delay. As for coding complexity - it is relatively simple as the audio library I use has a function to find peak, which i can check over time and find the max.
Nintendo Maniac 64
Forgive me for my massive grave-digging, I don't think you understand how Replay Gain works peppy.

Replay Gain is only a bit of metadata - not only do you not need to alter the original song for audiophile-sake, but it's also much faster to write just a bit of metadata. It's WaveGain that alters the original waveform.


And because it is just metadata, it should be even easier to implement a RG scanner, if at all. All that's really needed is for Osu! to READ Replay Gain tags, since other programs (like Foobar2000) can write them perfectly fine.


Also, Replay Gain does NOT mean normalization; it essentially only means "an average volume around 89db". I say this because there is no absolute single algorithm used for Replay Gain, although "50ms" is the most common, but is being succeed by EBU R128 (as was done in Foobar2000 for its Replay Gain scanner).


This is all very important to me because, not only do I really want this implemented, but it's essentually the answer to negating the stupid Loudness War
Shiirn

Nintendo Maniac 64 wrote:

Forgive me for my massive grave-digging, I don't think you understand how Replay Gain works peppy.

There is no excuse for this. Also, what the flying fuck, who knows what's changed in two years.

keep this crap to yourself
Waryas
Lol audiophiles :roll:
Nintendo Maniac 64

Shiirn wrote:

There is no excuse for this. Also, what the flying fuck, who knows what's changed in two years.
Did you seriously think I didn't realize how old this thread was or something? Why else would I mention "gravedigging" then?

Geez... Get yelled at for creating new topics when old ones exist, and get yelled at when you post in said old topic.

There's no pleasing the internet, is there? Good thing I didn't start playing Osu online again yet - now I know the people are worse than even Xbox LIVE.


Funny, looks like I'm done with this community before I even started. Goodbye.
Kitsunemimi

Shiirn wrote:

Nintendo Maniac 64 wrote:

Forgive me for my massive grave-digging, I don't think you understand how Replay Gain works peppy.

There is no excuse for this. Also, what the flying fuck, who knows what's changed in two years.

keep this crap to yourself
Actually, in the Feature Requests forum, it's better to necro old threads than creating new ones, simply because the older threads have the full conversation and thought process going. Even though his post might look a bit useless, it's pretty much as if he wants to request this feature again, without creating a new thread.

I think my grammar is all mangled up at the moment, so please bear with me.
Nintendo Maniac 64
Oh good, so there are some reasonable people around here. Guess I'm back then...

Yes, I wish to suggest this idea again, but mainly because it should be a lot easier to implement than it was believed. Specifically, it wasn't made clear that Replay Gain is only metadata that tells the program what volume to play a song at. That's all it is, and nothing else.
akrolsmir
Regarding the osu! community:

Well, Shiirn's being Shiirn. Stick around for a bit longer and you'll see what I mean. But yes, this is the internet, people here can be of varying degrees of abrasiveness. That was worded terribly but whatever.

Back on topic: I don't actually know anything about Replay Gain, but if Maniac is right, it'd be a nice feature to have. Though I personally don't find the volume in beatmaps to be that much of a problem- it's mostly equalized enough, and if a few maps are too loud I can change the universal volume temporarily.

Actually, is there a function for setting the local volume as well? Kind of like the way you can set both a universal offset and a local offset, being able to adjust the volume for one beatmap in particular would be nice. Or maybe this is already implemented and I just don't know how.
Nintendo Maniac 64

akrolsmir wrote:

Back on topic: I don't actually know anything about Replay Gain, but if Maniac is right, it'd be a nice feature to have.
You can test how replay gain works with 2 programs: Foobar2000 and Audacity.

1) get a non-WAV format song and make a copy of it
2) open the copy in Foobar2000
3) right click the song in the playlist
4) from the pop-up, go to ReplayGain -> Scan per-file track gain
5) After scanning, click "Update File Tags"
6) Add the original song file to the playlist, and compare that there is a difference in volume
7) Import both the original song file and the copied one into a single project/window in Audacity
8) You should see that the waveforms are still exactly the same


akrolsmir wrote:

I personally don't find the volume in beatmaps to be that much of a problem- it's mostly equalized enough, and if a few maps are too loud I can change the universal volume temporarily.
It all depends on your song source material for how loud/dynamic range compressed/badly mastered it is. An example from video games is that the music in F-Zero X has a full dynamic range, but the music in F-Zero GX has dynamic range compression all over the place. Regardless of audio quality, this causes quite a discrepancy in volume.
Kurohayabusa
Any news on this? In my opinion replay gain would be an amazing feature that shouldn't have that much of an impact at all... just implement it when loading songs into osu. As far as my computer goes, applying replay gain to a track in foobar takes about a second for a 5 minute song. On older rigs it might take longer, but unless the player has some serious impatience or is importing ~100 songs at once it shouldn't make too much of a difference
Oinari-sama
Try follow one of these: t/17132 t/135094
Please sign in to reply.

New reply