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

◆ detect_silence() [2/2]

MAYAFLUX_API std::vector< std::pair< size_t, size_t > > MayaFlux::detect_silence ( const std::vector< double > &  data,
double  threshold = 0.01,
size_t  min_silence_duration = 1024 
)

Detect silence regions in single-channel data.

Parameters
dataInput data
thresholdSilence threshold (amplitude, default: 0.01)
min_silence_durationMinimum silence length in samples (default: 1024)
Returns
Vector of (start, end) silence regions

Definition at line 959 of file Yantra.cpp.

962{
963 auto extractor = std::make_shared<Yantra::FeatureExtractor<>>();
964 extractor->set_extraction_method(Yantra::ExtractionMethod::SILENCE_DATA);
965 extractor->set_parameter("silence_threshold", threshold);
966 extractor->set_parameter("min_duration", static_cast<uint32_t>(min_silence_duration));
967
969 auto result = extractor->apply_operation(input);
970
971 std::vector<std::pair<size_t, size_t>> silence_regions;
972 auto window_positions_opt = result.template get_metadata<std::vector<std::pair<size_t, size_t>>>("window_positions");
973 if (window_positions_opt.has_value()) {
974 silence_regions = window_positions_opt.value();
975 }
976
977 return silence_regions;
978}
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
Input/Output container for computation pipeline data flow with structure preservation.
Definition DataIO.hpp:24

References MayaFlux::Yantra::SILENCE_DATA.

Referenced by detect_silence_per_channel().

+ Here is the caller graph for this function: