API Reference

namespace openae

Typedefs

using Logger = std::function<void(LogLevel level, const char *message, std::source_location location)>

Log function.

using MemoryResource = std::pmr::memory_resource

Memory resource.

Enums

enum class LogLevel : std::uint8_t

Values:

enumerator Trace
enumerator Debug
enumerator Info
enumerator Warning
enumerator Error
enumerator Fatal

Functions

std::unique_ptr<Cache, void (*)(Cache*)> make_cache()

Create cache.

void log(Env &env, LogLevel level, const char *msg, std::source_location location = std::source_location::current())
struct Env

The Env structure serves as a (shared) execution context.

Public Members

Logger logger = nullptr
MemoryResource *mem_resource = nullptr
Cache *cache = nullptr
namespace features

Functions

float peak_amplitude(Env &env, Input input)

Compute the feature peak-amplitude.

Definition: https://openae.io/standards/features/latest/peak-amplitude

float energy(Env &env, Input input)

Compute the feature energy.

Definition: https://openae.io/standards/features/latest/energy

float rms(Env &env, Input input)

Compute the feature rms.

Definition: https://openae.io/standards/features/latest/rms

float crest_factor(Env &env, Input input)

Compute the feature crest-factor.

Definition: https://openae.io/standards/features/latest/crest-factor

float impulse_factor(Env &env, Input input)

Compute the feature impulse-factor.

Definition: https://openae.io/standards/features/latest/impulse-factor

float clearance_factor(Env &env, Input input)

Compute the feature clearance-factor.

Definition: https://openae.io/standards/features/latest/clearance-factor

float shape_factor(Env &env, Input input)

Compute the feature shape-factor.

Definition: https://openae.io/standards/features/latest/shape-factor

float skewness(Env &env, Input input)

Compute the feature skewness.

Definition: https://openae.io/standards/features/latest/skewness

float kurtosis(Env &env, Input input)

Compute the feature kurtosis.

Definition: https://openae.io/standards/features/latest/kurtosis

float zero_crossing_rate(Env &env, Input input)

Compute the feature zero-crossing-rate.

Definition: https://openae.io/standards/features/latest/zero-crossing-rate

float partial_power(Env &env, Input input, float fmin, float fmax)

Compute the feature partial-power.

Definition: https://openae.io/standards/features/latest/partial-power

float spectral_peak_frequency(Env &env, Input input)

Compute the feature spectral-peak-frequency.

Definition: https://openae.io/standards/features/latest/spectral-peak-frequency

float spectral_centroid(Env &env, Input input)

Compute the feature spectral-centroid.

Definition: https://openae.io/standards/features/latest/spectral-centroid

float spectral_variance(Env &env, Input input)

Compute the feature spectral-variance.

Definition: https://openae.io/standards/features/latest/spectral-variance

float spectral_skewness(Env &env, Input input)

Compute the feature spectral-skewness.

Definition: https://openae.io/standards/features/latest/spectral-skewness

float spectral_kurtosis(Env &env, Input input)

Compute the feature spectral-kurtosis.

Definition: https://openae.io/standards/features/latest/spectral-kurtosis

float spectral_rolloff(Env &env, Input input, float rolloff)

Compute the feature spectral-rolloff.

Definition: https://openae.io/standards/features/latest/spectral-rolloff

float spectral_entropy(Env &env, Input input)

Compute the feature spectral-entropy.

Definition: https://openae.io/standards/features/latest/spectral-entropy

float spectral_flatness(Env &env, Input input)

Compute the feature spectral-flatness.

Definition: https://openae.io/standards/features/latest/spectral-flatness

struct Input

Represents the input data for feature extraction functions.

The Input structure holds both the original signal (timedata) and its precomputed spectrum. The spectrum is typically computed via the discrete Fourier transform (DFT) of the signal, which may be windowed or zero-padded before transformation.

Public Members

float samplerate

Sampling rate in Hz.

std::span<const float> timedata

Time-domain signal (typically in volts).

std::span<const std::complex<float>> spectrum

One-sided spectrum of timedata.

std::optional<std::size_t> fingerprint

Optional fingerprint for caching.