985{
986 auto extractor = std::make_shared<Yantra::FeatureExtractor<>>();
987 extractor->set_extraction_method(Yantra::ExtractionMethod::SILENCE_DATA);
988 extractor->set_parameter("silence_threshold", threshold);
989 extractor->set_parameter("min_duration", static_cast<uint32_t>(min_silence_duration));
990
992 auto result = extractor->apply_operation(input);
993
994 std::vector<std::pair<size_t, size_t>> silence_regions;
995 auto window_positions_opt = result.template get_metadata<std::vector<std::pair<size_t, size_t>>>("window_positions");
996 if (window_positions_opt.has_value()) {
997 silence_regions = window_positions_opt.value();
998 }
999
1000 return silence_regions;
1001}
Input/Output container for computation pipeline data flow with structure preservation.