MayaFlux 0.4.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 902 of file Yantra.cpp.

903{
904 static const auto s_op = [] {
905 auto e = std::make_shared<Yantra::FeatureExtractor<>>();
906 e->set_extraction_method(Yantra::ExtractionMethod::SILENCE_DATA);
907 return e;
908 }();
909 s_op->set_parameter("silence_threshold", threshold);
910 s_op->set_parameter("min_duration", static_cast<uint32_t>(min_silence_duration));
911 Yantra::Datum<std::vector<Kakshya::DataVariant>> input { { Kakshya::DataVariant(data) } };
912 auto result = s_op->apply_operation(input);
913 auto pos = result.template get_metadata<std::vector<std::pair<size_t, size_t>>>("window_positions");
914 return pos.has_value() ? pos.value() : std::vector<std::pair<size_t, size_t>> {};
915}

References MayaFlux::Yantra::SILENCE_DATA.

Referenced by detect_silence_per_channel().

+ Here is the caller graph for this function: