diff --git a/pipeline/feature_extractors.py b/pipeline/feature_extractors.py index 1724f47..160aa81 100644 --- a/pipeline/feature_extractors.py +++ b/pipeline/feature_extractors.py @@ -162,6 +162,19 @@ class RandomFeatureExtractor(FeatureExtractor): start = random.random() * file.duration() - duration self.features.append(Feature(interval=Interval(start=start, duration=duration), source="random", path=file.path)) +class LoudAudioFeatureExtractor(FeatureExtractor): + """Feature extractor for loud audio detection. + + This class is responsible for extracting features corresponding to loud audio in media files. + + Here: + + setup() is used to validate input files & config, and extracting audio + + run() uses pyloudnorm to detect loud audio + + teardown() is used to clean up temporary files created during setup (if specified by config) + """ def teardown(self): pass