jiixyj / libebur128

A library implementing the EBU R128 loudness standard.
MIT License
395 stars 76 forks source link

Add Live Loudness Meter functionalities #100

Open renaud-sc opened 4 years ago

renaud-sc commented 4 years ago

As stated in EBU tech 3341:

The ‘EBU Mode’ loudness meter shall at least provide functionality that enables the user to –

  1. start/pause/continue the measurement of integrated loudness and Loudness Range simultaneously, that is, switch the meter between ‘running’ and ‘stand-by’ states;
  2. reset the measurement of integrated loudness and Loudness Range simultaneously, regardless of whether the meter is in the ‘running’ and ‘stand-by’ state.
renaud-sc commented 4 years ago

I'd like to help so I did start with the most simple functionality: reset ! See pull request #101

Before going any further I'd like one of the maintainers to check whether what I did make sense or not and if I forgot anything.

Any advise about start/pause/continue is welcome !

jiixyj commented 4 years ago

I have to admit that I'm not at all familiar with "live" measurement use cases. My primary use case is for offline scanning of music.

That being said, I'd still like this library to have all "building blocks" for all sorts of use cases. So if ebur128_reset can do something that cannot be done by destroying the context and creating a new one, it's definitely in scope!

Similar for "start/pause/continue". Maybe there are use cases that cannot be served by temporarily stopping to writing any audio to the context object?