#pragma once #include "engine/framework/assets/tensor_source.h" #include "engine/framework/audio/dsp.h" #include "engine/framework/core/execution_context.h" #include #include namespace engine::models::pulsevad { class PulseVADRuntime { public: PulseVADRuntime(std::shared_ptr source, core::ExecutionContext & context, assets::TensorStorageType storage_type); ~PulseVADRuntime(); std::vector infer_features(const std::vector & features); std::vector extract_features(const std::vector & window) const; private: class Graph; std::unique_ptr graph_; std::vector window_; audio::SparseMelFilterbank filterbank_; }; } // namespace engine::models::pulsevad