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

◆ extract_zero_crossing_regions() [2/2]

MAYAFLUX_API std::vector< double > MayaFlux::extract_zero_crossing_regions ( const std::vector< double > &  data,
double  threshold,
size_t  region_size 
)

Extract zero crossing regions from single-channel data.

Parameters
dataInput audio data
thresholdMinimum amplitude difference for zero crossing detection (default: 0.0)
region_sizeSize of each region in samples (default: 1024)
Returns
Vector of zero crossing regions

Definition at line 832 of file Yantra.cpp.

835{
836 auto extractor = std::make_shared<Yantra::FeatureExtractor<>>();
837 extractor->set_extraction_method(Yantra::ExtractionMethod::ZERO_CROSSING_DATA);
838 extractor->set_parameter("threshold", threshold);
839 extractor->set_parameter("min_distance", 1.0);
840 extractor->set_parameter("region_size", static_cast<uint32_t>(region_size));
841
843 auto result = extractor->apply_operation(input);
844
845 return result.data[0];
846}
std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
Definition NDData.hpp:73
T data
The actual computation data.
Definition DataIO.hpp:25
Input/Output container for computation pipeline data flow with structure preservation.
Definition DataIO.hpp:24

References MayaFlux::Yantra::IO< T >::data, and MayaFlux::Yantra::ZERO_CROSSING_DATA.