| 94 | const auto spec_path = engine::model_spec::default_spec_path(family()); |
| 95 | inspection.discovered_configs = runtime::discover_named_assets_from_package_spec( |
| 96 | request.model_path, |
| 97 | spec_path, |
| 98 | engine::model_spec::ResourceKind::Files); |
| 99 | inspection.discovered_weights = runtime::discover_named_assets_from_package_spec( |
| 100 | request.model_path, |
| 101 | spec_path, |
| 102 | engine::model_spec::ResourceKind::Tensors); |
| 103 | return inspection; |
| 104 | } |
| 105 | |
| 106 | std::unique_ptr<runtime::ILoadedVoiceModel> load(const runtime::ModelLoadRequest & request) const override { |
| 107 | return load_pocket_tts_model(request); |
| 108 | } |
| 109 | }; |
| 110 | |
| 111 | } // namespace |
| 112 | |
| 113 | PocketTTSModel::PocketTTSModel( |
| 114 | std::filesystem::path model_dir, |
| 115 | std::shared_ptr<const PocketTTSAssets> manifest) |
| 116 | : model_dir_(std::move(model_dir)), |
| 117 | manifest_(std::move(manifest)) {} |
| 118 | |
| 119 | PocketTTSModel PocketTTSModel::load(const ModelConfig & config) { |
| 120 | if (config.model_dir.empty()) { |
| 121 | throw std::runtime_error("PocketTTS model_dir is required"); |
no test coverage detected