danielmadmon/libebur128_esp32s3

0.0.1

uploaded 1 week ago
ebur128 lib port for esp32(s3)

readme

libebur128 fork with single precision floats support for esp32(s3).
==========

libebur128 is a library that implements the EBU R 128 standard for loudness
normalisation.

Features
--------

* Portable ANSI C code.
* Implements Momentary, Shortterm and Integrated modes.
* Implements loudness range measurement (EBU - TECH 3342).
* True peak scanning.
* Supports all samplerates by recalculation of the filter coefficients.
* support for conversion of LUFS to discrete levels.


Requirements
--------
* enable external psram support. 
* may need to disable watchdog timers based on usage.

Installation
------------
* clone the repository into components directory in esp-idf project.

Basic Usage
-----
```C
#include "ebur128.h"

int16_t * data = malloc(48000*sizeof(int16_t)); //data. can be float/int32_t/int16_t
ebur128_state* state = ebur128_init(1,48000,EBUR128_MODE_M);
ebur128_add_frames_int16_t(state,data,48000);

ebur128_loudness_momentary(state,&result);
ESP_LOGI(TAG,"result:%f",result);
```

Use test file
-----
```C
float test_res = test_file("/sdcard/seq-3341-1-16bit.wav",-23.0,EBUR128_MODE_S);
ESP_LOGI(TAG,"res:%0.6f",test_res);
```
test files can be found in [test_signals.gz](test_files.tar.gz)

License
-----
All source code is licensed under the MIT license.

Links

Supports all targets

License: MIT

To add this component to your project, run:

idf.py add-dependency "danielmadmon/libebur128_esp32s3^0.0.1"

or download archive

Stats

  • Archive size
    Archive size ~ 86.97 MB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

danielmadmon/libebur128_esp32s3 version: 0.0.1
|