| 66 | {runtime::VoiceTaskKind::Tts, {runtime::RunMode::Offline}}, |
| 67 | }; |
| 68 | out.supports_speaker_reference = true; |
| 69 | out.supports_style_condition = true; |
| 70 | return out; |
| 71 | } |
| 72 | |
| 73 | bool can_load(const runtime::ModelLoadRequest & request) const override { |
| 74 | if (request.family_hint.has_value() && *request.family_hint != family()) { |
| 75 | return false; |
| 76 | } |
| 77 | try { |
| 78 | (void) engine::model_spec::load_resource_bundle( |
| 79 | request.model_path, |
| 80 | engine::model_spec::default_spec_path(family())); |
| 81 | return true; |
| 82 | } catch (...) { |
| 83 | return false; |
| 84 | } |
| 85 | } |
| 86 | |
| 87 | runtime::ModelInspection inspect(const runtime::ModelLoadRequest & request) const override { |
| 88 | const auto assets = load_request_assets(request); |
| 89 | runtime::ModelInspection inspection; |
no test coverage detected