#pragma once #include #include #include #include class Detector { public: Detector(size_t nfft, float sample_rate); void setParams(float sharpness, float selectivity, float depth); void processFrame(const std::complex* spectrum, float* mask); private: size_t nfft_; float sample_rate_; float sharpness_; float selectivity_; float depth_; std::vector envelope_; std::vector prev_mask_; std::vector smooth_buf_; };