| 62 | |
| 63 | |
| 64 | def parse_args() -> argparse.Namespace: |
| 65 | parser = argparse.ArgumentParser(description="Python reference VibeVoice warmbench.") |
| 66 | parser.add_argument("--family", default="vibevoice") |
| 67 | parser.add_argument("--model", type=Path, default=DEFAULT_MODEL) |
| 68 | parser.add_argument("--reference-root", type=Path, default=REFERENCE_ROOT) |
| 69 | parser.add_argument("--backend", choices=("cpu", "cuda"), default="cuda") |
| 70 | parser.add_argument("--device", type=int, default=0) |
| 71 | parser.add_argument("--threads", type=int, default=4) |
| 72 | parser.add_argument("--warmup", type=int, default=0) |
| 73 | parser.add_argument("--iterations", type=int, default=1) |
| 74 | parser.add_argument("--case", choices=tuple(TEST_CASES), default="short") |
| 75 | parser.add_argument("--text", action="append", dest="texts", default=[]) |
| 76 | parser.add_argument("--warmup-text", default="") |
| 77 | parser.add_argument("--voice-sample", action="append", dest="voice_samples", default=[]) |
| 78 | parser.add_argument("--request-json", default="") |
| 79 | parser.add_argument("--request-sequence-json", default="") |
| 80 | parser.add_argument("--prompt-noise-file", default="") |
| 81 | parser.add_argument("--noise-file", default="") |
| 82 | parser.add_argument("--max-new-tokens", type=int, default=0) |
| 83 | parser.add_argument("--max-length-times", type=float, default=2.0) |
| 84 | parser.add_argument("--ddpm-steps", type=int, default=10) |
| 85 | parser.add_argument("--cfg-scale", type=float, default=1.3) |
| 86 | parser.add_argument("--disable-prefill", action="store_true") |
| 87 | parser.add_argument("--batch", action="store_true") |
| 88 | parser.add_argument("--seed", type=int, default=1234) |
| 89 | parser.add_argument("--dtype", choices=("float32", "bfloat16"), default="bfloat16") |
| 90 | parser.add_argument("--attn-implementation", default="sdpa") |
| 91 | parser.add_argument("--tokenizer-model", default="") |
| 92 | parser.add_argument("--local-files-only", action="store_true") |
| 93 | parser.add_argument("--audio-out", type=Path, default=Path("vibevoice_python_audio.wav")) |
| 94 | parser.add_argument("--audio-out-dir", type=Path, default=None) |
| 95 | parser.add_argument("--output-dir", type=Path, default=None) |
| 96 | return parser.parse_args() |
| 97 | |
| 98 | |
| 99 | def resolve_repo_path(path: Path) -> Path: |