| 1587 | }; |
| 1588 | |
| 1589 | int64_t target_code_count(const AceStepRequest & request, const AceStepPlan & plan) { |
| 1590 | if (request.generation.duration_seconds > 0.0F) { |
| 1591 | return static_cast<int64_t>(request.generation.duration_seconds) * 5; |
| 1592 | } |
| 1593 | if (plan.metadata.duration.has_value() && *plan.metadata.duration > 0) { |
| 1594 | return *plan.metadata.duration * 5; |
| 1595 | } |
| 1596 | throw std::runtime_error("ACE-Step planner requires a positive duration to determine target audio-code count"); |
| 1597 | } |
| 1598 | |
| 1599 | bool is_eos(const AceStepPlannerConfig & config, int32_t token) { |
| 1600 | return token == config.eos_token_id; |