#pragma once #include "engine/framework/modules/speaker_encoders/campplus_encoder.h" #include "engine/models/index_tts2/assets.h" #include #include namespace engine::models::index_tts2 { struct IndexTTS2StyleEmbedding { std::vector values; int64_t dims = 0; }; class IndexTTS2CampplusStyleEncoder { public: IndexTTS2CampplusStyleEncoder( std::shared_ptr assets, core::BackendConfig backend, engine::assets::TensorStorageType weight_storage_type); IndexTTS2StyleEmbedding embed_fbank( const std::vector & features, int64_t frames, int64_t dims) const; void release_graph(); private: std::shared_ptr assets_; engine::modules::CampplusEncoderComponent component_; }; } // namespace engine::models::index_tts2