#pragma once #include #include #include #include namespace RIT { struct Pitch { double f{}; // in Hz double deviation{}; // 0.0 == perfect, +/-1.0: at next note std::string name; // "" for none, "A", "A#", ... for notes }; class Tuner { public: Tuner(int size, int f_sample); ~Tuner(); double fMin(); double fMax(); Pitch operator() (const std::vector> &v); private: struct Impl; std::unique_ptr mImpl; }; // class Tuner } // namespace RIT