12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef MODULES_AUDIO_PROCESSING_NS_HISTOGRAMS_H_
- #define MODULES_AUDIO_PROCESSING_NS_HISTOGRAMS_H_
- #include <array>
- #include "api/array_view.h"
- #include "modules/audio_processing/ns/ns_common.h"
- #include "modules/audio_processing/ns/signal_model.h"
- namespace webrtc {
- constexpr int kHistogramSize = 1000;
- class Histograms {
- public:
- Histograms();
- Histograms(const Histograms&) = delete;
- Histograms& operator=(const Histograms&) = delete;
-
- void Clear();
-
-
- void Update(const SignalModel& features_);
-
- rtc::ArrayView<const int, kHistogramSize> get_lrt() const { return lrt_; }
- rtc::ArrayView<const int, kHistogramSize> get_spectral_flatness() const {
- return spectral_flatness_;
- }
- rtc::ArrayView<const int, kHistogramSize> get_spectral_diff() const {
- return spectral_diff_;
- }
- private:
- std::array<int, kHistogramSize> lrt_;
- std::array<int, kHistogramSize> spectral_flatness_;
- std::array<int, kHistogramSize> spectral_diff_;
- };
- }
- #endif
|