Skip to content

ebur128_true_peak returns 2.12815e-314, incorrect measures overall #126

@puronas

Description

@puronas

I think I've hit the wall with this. Most of the time I get true peak as 2.12815e-314.
Overall, I'm getting incorrect measures - but not consistently. I'm comparing results against another commercial loudness meter from Izotope. I'm loading audio with libsndfile and passing on a std::vector with number of channels and correct samplerate.

For example, here's my output from libebur128
Integrated loudness: -21.942
Short term loudness: -28.8716
True peak level: 2.12815e-314
Dynamic range: 5.80092

By contrast, in Izotope RX I am getting the following (image attached):
Integrated loudness: -29.0
Short term loudness: -25.1
True peak level: -1.6
Dynamic range: 13.7

Screen Shot 2023-02-05 at 3 50 52 pm

I know that it's a very dynamic signal but LRA readings from libebur128 suggest otherwise.

I'm initializing ebur128 like this:
ebur128_state* state = ebur128_init(channels, sampleRate, EBUR128_MODE_LRA | EBUR128_MODE_TRUE_PEAK | EBUR128_MODE_S | EBUR128_MODE_I);

And calculating true peak like this:
ebur128_true_peak(state, channels, &peakLevel);

I suspect that because it's having trouble calculating true peak, all the other readings are off as well.
I would very much appreciate any help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions