| |
| from __future__ import annotations |
|
|
| import argparse |
| import json |
| import sys |
| from pathlib import Path |
|
|
|
|
| def main() -> int: |
| parser = argparse.ArgumentParser(description="Run bounded Music3 native-state multi-clip pilot") |
| parser.add_argument("--config", type=Path, required=True) |
| parser.add_argument("--flow-config", type=Path, required=True) |
| parser.add_argument("--flow-checkpoint", type=Path, required=True) |
| parser.add_argument("--snapshot", type=Path, required=True) |
| parser.add_argument("--diffusers-root", type=Path, required=True) |
| parser.add_argument("--old-teacher-root", type=Path, required=True) |
| parser.add_argument("--teacher-root", type=Path, required=True) |
| parser.add_argument("--evidence-root", type=Path, required=True) |
| args = parser.parse_args() |
| project = Path(__file__).resolve().parents[1] |
| sys.path.insert(0, str(project / "src")) |
| sys.path.insert(0, str(args.diffusers_root.resolve())) |
| from music3lab.codec.native_state_multiclip_runner import run_multiclip |
|
|
| result = run_multiclip(**vars(args)) |
| print(json.dumps(result, sort_keys=True)) |
| return 0 if result["status"] in {"PASS", "FUNCTIONAL_FAIL"} else 2 |
|
|
|
|
| if __name__ == "__main__": |
| raise SystemExit(main()) |
|
|