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