#pragma once #include "engine/models/kugelaudio/ar.h" #include "engine/models/kugelaudio/codec.h" #include "engine/models/kugelaudio/diffusion.h" #include "engine/framework/model_spec/package.h" #include #include #include #include #include namespace engine::models::kugelaudio { struct ModelConfig { ArConfig ar; DiffusionConfig diffusion; CodecConfig codec; int inference_steps = 20; }; struct VoiceFeatures { std::vector mean; float std = 0.5F; }; struct ModelAssets { assets::ResourceBundle resources; ModelConfig config; std::shared_ptr weights; std::unordered_map voices; }; std::shared_ptr load_assets(const std::filesystem::path & path); } // namespace engine::models::kugelaudio