|
gavl
|
Detect peaks in the volume for steering normalizers and dynamic range compressors While normalizers and dynamic range controls are out of the scope of gavl, some low-level functionality can be provided. More...
Typedefs | |
| typedef struct gavl_peak_detector_s | gavl_peak_detector_t |
| Opaque structure for peak detector. More... | |
| typedef void(* | gavl_update_peak_callback )(void *priv, int samples, double min, double max, double abs) |
| Callback for getting the peaks across all channels. More... | |
| typedef void(* | gavl_update_peaks_callback )(void *priv, int samples, const double *min, const double *max, const double *abs) |
| Callback for getting the peaks for all channels separately. More... | |
Functions | |
| GAVL_PUBLIC gavl_peak_detector_t * | gavl_peak_detector_create () |
| Create peak detector. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_set_callbacks (gavl_peak_detector_t *pd, gavl_update_peak_callback peak_callback, gavl_update_peaks_callback peaks_callback, void *priv) |
| Set callbacks. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_destroy (gavl_peak_detector_t *pd) |
| Destroys a peak detector and frees all associated memory. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_set_format (gavl_peak_detector_t *pd, const gavl_audio_format_t *format) |
| Set format for a peak detector. More... | |
| GAVL_PUBLIC const gavl_audio_format_t * | gavl_peak_detector_get_format (gavl_peak_detector_t *pd) |
| Get format. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_update (gavl_peak_detector_t *pd, gavl_audio_frame_t *frame) |
| Feed the peak detector with a new frame. More... | |
| GAVL_PUBLIC gavl_audio_sink_t * | gavl_peak_detector_get_sink (gavl_peak_detector_t *pd) |
| Get the audio sink. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_get_peak (gavl_peak_detector_t *pd, double *min, double *max, double *abs) |
| Get the peak volume across all channels. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_get_peaks (gavl_peak_detector_t *pd, double *min, double *max, double *abs) |
| Get the peak volume for all channels separate. More... | |
| GAVL_PUBLIC void | gavl_peak_detector_reset (gavl_peak_detector_t *pd) |
| Reset a peak detector. More... | |
Detect peaks in the volume for steering normalizers and dynamic range compressors While normalizers and dynamic range controls are out of the scope of gavl, some low-level functionality can be provided.
| typedef struct gavl_peak_detector_s gavl_peak_detector_t |
Opaque structure for peak detector.
You don't want to know what's inside.
| typedef void(* gavl_update_peak_callback)(void *priv, int samples, double min, double max, double abs) |
Callback for getting the peaks across all channels.
| priv | Client data |
| samples | Number of samples of last update call |
| min | Minimum value (scaled betwen -1.0 and 1.0) |
| min | Maximum value (scaled betwen -1.0 and 1.0) |
| abs | Absolute value (scaled betwen 0.0 and 1.0) |
Since 1.5.0
| typedef void(* gavl_update_peaks_callback)(void *priv, int samples, const double *min, const double *max, const double *abs) |
Callback for getting the peaks for all channels separately.
| priv | Client data |
| samples | Number of samples of last update call |
| min | Minimum value (scaled betwen -1.0 and 1.0) |
| min | Maximum value (scaled betwen -1.0 and 1.0) |
| abs | Absolute value (scaled betwen 0.0 and 1.0) |
Since 1.5.0
| GAVL_PUBLIC gavl_peak_detector_t* gavl_peak_detector_create | ( | ) |
Create peak detector.
| GAVL_PUBLIC void gavl_peak_detector_set_callbacks | ( | gavl_peak_detector_t * | pd, |
| gavl_update_peak_callback | peak_callback, | ||
| gavl_update_peaks_callback | peaks_callback, | ||
| void * | priv | ||
| ) |
Set callbacks.
| pd | A peak detector |
| peak_callback | Callback for overall peaks or NULL |
| peaks_callback | Callback for per channel peaks or NULL |
| priv | Client data passed to the callbacks |
Since 1.5.0
| GAVL_PUBLIC void gavl_peak_detector_destroy | ( | gavl_peak_detector_t * | pd | ) |
Destroys a peak detector and frees all associated memory.
| pd | A peak detector |
| GAVL_PUBLIC void gavl_peak_detector_set_format | ( | gavl_peak_detector_t * | pd, |
| const gavl_audio_format_t * | format | ||
| ) |
Set format for a peak detector.
| pd | A peak detector |
| format | The format subsequent frames will be passed with |
This function can be called multiple times with one instance. It also calls gavl_peak_detector_reset.
| GAVL_PUBLIC const gavl_audio_format_t* gavl_peak_detector_get_format | ( | gavl_peak_detector_t * | pd | ) |
Get format.
| pd | A peak detector |
Since 1.5.0
| GAVL_PUBLIC void gavl_peak_detector_update | ( | gavl_peak_detector_t * | pd, |
| gavl_audio_frame_t * | frame | ||
| ) |
Feed the peak detector with a new frame.
| pd | A peak detector |
| frame | An audio frame |
| GAVL_PUBLIC gavl_audio_sink_t* gavl_peak_detector_get_sink | ( | gavl_peak_detector_t * | pd | ) |
Get the audio sink.
| pd | A peak detector |
Use the returned sink for passing audio frames as an alternative to gavl_peak_detector_update
Since 1.5.0
| GAVL_PUBLIC void gavl_peak_detector_get_peak | ( | gavl_peak_detector_t * | pd, |
| double * | min, | ||
| double * | max, | ||
| double * | abs | ||
| ) |
Get the peak volume across all channels.
| pd | A peak detector |
| min | Returns minimum amplitude |
| max | Returns maximum amplitude |
| abs | Returns maximum absolute amplitude |
The returned amplitudes are normalized such that the minimum amplitude corresponds to -1.0, the maximum amplitude corresponds to 1.0.
| GAVL_PUBLIC void gavl_peak_detector_get_peaks | ( | gavl_peak_detector_t * | pd, |
| double * | min, | ||
| double * | max, | ||
| double * | abs | ||
| ) |
Get the peak volume for all channels separate.
| pd | A peak detector |
| min | Returns minimum amplitude |
| max | Returns maximum amplitude |
| abs | Returns maximum absolute amplitude |
The returned amplitudes are normalized such that the minimum amplitude corresponds to -1.0, the maximum amplitude corresponds to 1.0.
| GAVL_PUBLIC void gavl_peak_detector_reset | ( | gavl_peak_detector_t * | pd | ) |
Reset a peak detector.
| pd | A peak detector |
1.8.6