Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement EBU R128 loudness measure #94

Closed
dbogdanov opened this issue May 19, 2014 · 4 comments
Closed

implement EBU R128 loudness measure #94

dbogdanov opened this issue May 19, 2014 · 4 comments
Milestone

Comments

@dbogdanov
Copy link
Member

EBU have been working hard for the last years to provide a recommendation and guidelines for broadcasters, to assure that the listeners experience an even loudness level at all times. The work has resulted in the recently published EBU recommendation 128 (EBU R128). It includes both specification to calculate loudness, and recommendation for levels (-23 LUFS). LUFS is the new scale for representing "loudness levels".
http://labs.radionova.no/2011/01/07/ebu-r128-library/

The is an ANSI C implementation free for any type of use and modification, that we can wrap or port into Essentia:

https://github.com/jiixyj/libebur128

Seems quite some people on hydrogenaudio.org have used it already approved it works correctly. An example of using the library: https://github.com/jiixyj/loudness-scanner

@dbogdanov
Copy link
Member Author

Missing implementation of standard mode and unit tests.

dbogdanov added a commit that referenced this issue Oct 2, 2015
- Fix computation of gated loudness thresholds, the computed
  integrated loudness and dynamic range on the reference test files
  is now correct
- Optimize computations: work in power domain instead of dbs to
  avoid redundant log operations
- Implement standard mode wrapper (#94)
- Python tests are still missing
@BrechtDeMan
Copy link

Am I correct in assuming it is not yet implemented/'bound' on the Python side of things, as
stevens = Loudness()
result = stevens(audio)
works perfectly but
ebur128 = LoudnessEBUR128()
result = ebur128(audio)
gives "name 'LoudnessEBUR128' is not defined"?

@dbogdanov
Copy link
Member Author

@BrechtDeMan No, it is implemented ;) Try master branch.

@BrechtDeMan
Copy link

Ah, indeed. I had 2.0.1. It works now.
I see some behaviour like output format of Audioloader has changed as well.
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants