// sherpa-onnx/csrc/offline-speaker-diarization-impl.cc // // Copyright (c) 2024 Xiaomi Corporation #include "sherpa-onnx/csrc/offline-speaker-diarization-impl.h" #include #if __ANDROID_API__ >= 9 #include "android/asset_manager.h" #include "android/asset_manager_jni.h" #endif #if __OHOS__ #include "rawfile/raw_file_manager.h" #endif #include "sherpa-onnx/csrc/macros.h" #include "sherpa-onnx/csrc/offline-speaker-diarization-pyannote-impl.h" namespace sherpa_onnx { std::unique_ptr OfflineSpeakerDiarizationImpl::Create( const OfflineSpeakerDiarizationConfig &config) { if (!config.segmentation.pyannote.model.empty()) { return std::make_unique(config); } SHERPA_ONNX_LOGE("Please specify a speaker segmentation model."); return nullptr; } template std::unique_ptr OfflineSpeakerDiarizationImpl::Create( Manager *mgr, const OfflineSpeakerDiarizationConfig &config) { if (!config.segmentation.pyannote.model.empty()) { return std::make_unique(mgr, config); } SHERPA_ONNX_LOGE("Please specify a speaker segmentation model."); return nullptr; } #if __ANDROID_API__ >= 9 template std::unique_ptr OfflineSpeakerDiarizationImpl::Create( AAssetManager *mgr, const OfflineSpeakerDiarizationConfig &config); #endif #if __OHOS__ template std::unique_ptr OfflineSpeakerDiarizationImpl::Create( NativeResourceManager *mgr, const OfflineSpeakerDiarizationConfig &config); #endif } // namespace sherpa_onnx