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

◆ extract_onsets()

std::vector< std::vector< double > > MayaFlux::Yantra::extract_onsets ( const std::vector< std::span< const double > > &  channels,
double  threshold,
uint32_t  region_size,
uint32_t  fft_window_size,
uint32_t  hop_size 
)

Definition at line 252 of file ExtractionHelper.cpp.

258{
259 std::vector<std::vector<double>> result;
260 result.reserve(channels.size());
261 for (const auto& ch : channels) {
262 if (ch.empty()) {
263 result.emplace_back();
264 continue;
265 }
266 const auto pos = D::onset_positions(ch, fft_window_size, hop_size, threshold);
267 result.push_back(D::slice_intervals(ch,
268 D::merge_intervals(D::regions_around_positions(pos, region_size / 2, ch.size()))));
269 }
270 return result;
271}

References MayaFlux::Kinesis::Discrete::merge_intervals(), MayaFlux::Kinesis::Discrete::onset_positions(), MayaFlux::Kinesis::Discrete::regions_around_positions(), and MayaFlux::Kinesis::Discrete::slice_intervals().

Referenced by MayaFlux::Yantra::FeatureExtractor< InputType, OutputType >::extract_implementation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: