// sherpa-onnx/csrc/offline-speaker-speech-denoiser-impl.h // // Copyright (c) 2025 Xiaomi Corporation #ifndef SHERPA_ONNX_CSRC_OFFLINE_SPEECH_DENOISER_IMPL_H_ #define SHERPA_ONNX_CSRC_OFFLINE_SPEECH_DENOISER_IMPL_H_ #include #include "sherpa-onnx/csrc/offline-speech-denoiser.h" namespace sherpa_onnx { class OfflineSpeechDenoiserImpl { public: virtual ~OfflineSpeechDenoiserImpl() = default; static std::unique_ptr Create( const OfflineSpeechDenoiserConfig &config); template static std::unique_ptr Create( Manager *mgr, const OfflineSpeechDenoiserConfig &config); virtual DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const = 0; virtual int32_t GetSampleRate() const = 0; }; } // namespace sherpa_onnx #endif // SHERPA_ONNX_CSRC_OFFLINE_SPEECH_DENOISER_IMPL_H_