MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ detect_onsets() [2/2]

MAYAFLUX_API std::vector< double > MayaFlux::detect_onsets ( const std::vector< double > &  data,
double  sample_rate = 48000.0,
double  threshold = 0.1 
)

Detect onset times in single-channel signal.

Parameters
dataInput signal data
sample_rateSample rate for time calculation (default: 48000 Hz)
thresholdEnergy threshold for onset detection (default: 0.1)
Returns
Vector of onset times in seconds

Definition at line 419 of file Yantra.cpp.

420{
421 std::span<const double> data_span(data.data(), data.size());
422
423 auto onset_sample_positions = Yantra::find_onset_positions(
424 data_span,
425 1024,
426 512,
427 threshold);
428
429 std::vector<double> onset_times;
430 onset_times.reserve(onset_sample_positions.size());
431 for (size_t sample_pos : onset_sample_positions) {
432 onset_times.push_back(static_cast<double>(sample_pos) / sample_rate);
433 }
434
435 return onset_times;
436}

References MayaFlux::Yantra::find_onset_positions().

+ Here is the call graph for this function: