diff --git a/dsp/spectral.cpp b/dsp/spectral.cpp index 2485b60..85fa987 100644 --- a/dsp/spectral.cpp +++ b/dsp/spectral.cpp @@ -3,9 +3,9 @@ #include #include -SpectralProcessor::SpectralProcessor(size_t nfft, size_t hop) +SpectralProcessor::SpectralProcessor(size_t nfft, size_t hop, float sample_rate) : nfft_(nfft), hop_(hop), frame_count_(0), output_pos_(0), - detector_(nfft, 44100.0f) { + detector_(nfft, sample_rate) { window_ = new double[nfft_]; computeWindow(); fft::init_plan(&plan_, static_cast(std::log2(nfft_))); diff --git a/dsp/spectral.hpp b/dsp/spectral.hpp index 5327fc8..49ce0a5 100644 --- a/dsp/spectral.hpp +++ b/dsp/spectral.hpp @@ -11,7 +11,8 @@ constexpr size_t DEFAULT_HOP = 512; class SpectralProcessor { public: - SpectralProcessor(size_t nfft = DEFAULT_NFFT, size_t hop = DEFAULT_HOP); + SpectralProcessor(size_t nfft = DEFAULT_NFFT, size_t hop = DEFAULT_HOP, + float sample_rate = 44100.0f); ~SpectralProcessor(); void setDetectorParams(const std::vector& bands);