Author Topic: Any plans for ReplayGain analysis to use the recent EBU-R128 standard ? [DONE]  (Read 41836 times)

Pat

  • Guest
I did some experimentation with the replaygain calculation in Foobar2000 (v1.2.9) which uses the recent EBU-R128 / ITU-1770 standard for loudness calculation [1]. The results are written in the existing four replaygain tags. Only the calculated values are different. Musicbee plays back these mp3 files without a problem.

The updated replaygain calculation in Foobar appears to use “libebur128”, a library that implements the EBU R 128 standard for loudness normalization[2]. Following recommendations [3], "libebur128" takes as reference volume -18 LUFS, which is louder than the EBU R 128 reference level of -23 LUFS. This is also incorporated in the work on the Replaygain 2.0 specification [4].

Are there any plans to do the same upgrade for replaygain calculation in MusicBee or should I post this as a Feature Request?
Thanks.


NOTES
[1] The EBU-R128 / ITU-1770 standard specifies how loudness should be calculated (ITU-1770-3) and how the calculated loudness can be used for loudness normalization between different sound sources (EBU-R128). The loudness calculation standard should give a much closer match to how listeners perceive loudness than the original algorithm of the replaygain specification 1.0 (dating from 2001).
[2] https://github.com/jiixyj/libebur128
[3] Based on the research of Dolby Laboratories as published in May 2010 for the Audio Engineering Society. EBU-R128 is for the broadcast industry but music playback psychologically suggests a higher playback level. http://www.dolby.com/uploadedFiles/Assets/US/Doc/Professional/AES128-Loudness-Normalization-Portable-Media-Players.pdf
[4] http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_2.0_specification
Last Edit: February 16, 2014, 04:22:25 PM by Pat

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
i have moved this to the wishlist. I dont know whether i will implement this as yet and might be some time (couple of months) before i look into it

Pat

  • Guest
Thanks. Appreciate it.

For info:
This very recent paper (july 10th, 2013) compares open source software available for R128 loudness calculation.
http://tech.ebu.ch/docs/events/opensource13/presentations/open-source-loudness-rmll-2013.pdf

It turns out that "libebur128" passes the test set up by EBU for conformity to the standard. Page 28:
"2 sets of audio files for integrated loudness and loudness range conformance checking : E.B.U loudness test set v3 and Compliance material for Recommendation ITU-R BS.1770: libebur128 and FFmpeg pass successfully !"


Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
@pat, i was going to look at doing a more integrated solution but its too much effort for the time i have available, so what i will do is look to use r128gain.exe to perform the replay gain analysis if MB detects that .exe in the musicbee application folder.
However i was wondering if you have been using it yourself and have comments on the parameters that should be used?

hiccup

  • Sr. Member
  • ****
  • Posts: 7871
I'm not Pat, but I would also very much welcome R128gain implementation in MusicBee.

Be aware there have been some heavy discussions about how to tag the results, using existing ReplayGain tagging fields or not.
You will also have to make some choices and maybe some adjustments about that...

I haven't found an ebu r128 tool that didn't also change other existing tags in mp3's. (or even worse, re-encoding them)
So it would be really great if you could find a way to make use of the superior ebu r128 algorithm from within MusicBee where it just works, without messing up tags or re-encode MP3's.

Default settings as presented in the latest R128Gain version in my opinion would be fine, maybe with a selectable option to lift output level with 5db to get closer to ReplayGain levels.
(even if it is just to prevent a torrent of questions like: "why is my music playing at such a low level after i used the volume analysis function?")

I hope you'll find a way!

hiccup

  • Sr. Member
  • ****
  • Posts: 7871
Contemplating on this some more,

It might be wiser to aim at completely replacing ReplayGain with EBU-R128 / ITU-1770.
Almost all professional platforms already have implemented this, and other players and tools such as foobar, dBpoweramp, J-River etc. have also replaced ReplayGain with "R128" algorithms.

Of course a quick fix as you suggested would still be welcomed very much.
Even if only being it a good test case to get some user experiences and feedback on the matter for a later 'solid' implementation in MusicBee?

Nick

  • Jr. Member
  • **
  • Posts: 23
Just adding my 2¢ here: I recently redid ReplayGain values for my entire library using foobar2000 v1.3.1 and I must say that I'm very pleased with the results. Playing my library on random, I no longer have to reach for my volume knob to make adjustments when going from delicate acoustic songs to extreme metal for example.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
this is done for the next v2.3 update - its implemented as a new .dll file that when MB detects will implement the EBU-R128 calculations and apply in the same was that foobar does so its backwards compatible with other players that use the old replay gain scale

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
this version detects the new replay gain .dll
http://musicbee.niblseed.com/V2_3/MusicBee_Exe_Patched.zip

and you need to put this .dll file into the musicbee application folder:
http://www.mediafire.com/download/jpj5lipa3004a0r/lib1770.dll

i am not sure if i will include the new .dll with the official 2.3 release but any feedback will help with that.
For the following musicbee release, i plan for only the new algorithm to be supported
Last Edit: February 15, 2014, 12:43:09 PM by Steven

Pat

  • Guest
this is done for the next v2.3 update - its implemented as a new .dll file that when MB detects will implement the EBU-R128 calculations and apply in the same was that foobar does so its backwards compatible with other players that use the old replay gain scale
Fantastic ! Thank you Steven for your hard work.
I copied both the 1770.dll and the musicbee.exe (patched) to the application folder. And it works. The volume analysis is now indeed the same as with Foobar (rounded to 1 digit after the decimal point).
Last Edit: February 15, 2014, 01:34:08 PM by Pat

Pingaware

  • Sr. Member
  • ****
  • Posts: 1111
So just to confirm, if the dll is copied into the same folder as the MB executable, it will detect the new system and use that only for ReplayGain analysis? That's brilliant Steven, thanks for your work on this!
Bold words in my posts are links unless expressly stated otherwise.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
correct, as long as you have the new musicbee.exe as well, and if the "lib1770.dll" file is deleted it will use the old algorithm

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
The volume analysis is now indeed the same as with Foobar (rounded to 1 digit after the decimal point).
yes i noticed some very small differences as well. I understand that foobar has implemented its own more optimised version of the algorithm and i guess that could be the reason. In all my tests i never saw a difference of more than 0.1

Pat

  • Guest
i am not sure if i will include the new .dll with the official 2.3 release but any feedback will help with that.
For the following musicbee release, i plan for only the new algorithm to be supported

I also tested "Tools\restore original volume" and "Tools\Tagging tools\other filters\show files with no volume analysis" and that seems to work fine too. I my opinion the ITU-1770 algorithm (1770.dll) can be included as the only volume analysis algorithm for the official 2.3 version.
The question is: Does it matter if users would have a mix of replaygain tags calculated with the old and the new algorithm? Well, if the change is mentioned in the release notes, they can always recalculate their entire library with the new algorithm.
Last Edit: February 16, 2014, 11:06:14 AM by Pat

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9350
After reading this thread I decided it's time to rewrite the ReplayGain for my entire collection, which is usually listened to in shuffle mode, be it on MB or on my portable player.  Could someone explain the difference between the two options on the Analyse Volume window?  Specifically:
- analyze leveling values and write replaygain tags
versus
- or permanently adjust the volume of each file

Is the first option not permanent?  If I sync these tracks to my mp3 player, which option will give me a level volume across all tracks?

Thanks.
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here