#pragma once #include #include #include namespace Prism::Tui { struct SpectrumPeakInfo { float dbfs = -100.0f; float frequencyHz = 0.0f; std::string pitch; }; std::string formatSpectrumPitch(float frequencyHz); class SpectrumPeakTracker { public: std::optional select(const std::vector& magnitudes, float sampleRate, size_t fftSize, float tiltDbPerOctave); void reset(); private: std::optional previous_; }; } // namespace Prism::Tui