music3lab / scripts /run_audio_prepend.py
coolpoodle's picture
code and training scripts
90884df verified
Raw
History Blame Contribute Delete
1.62 kB
#!/usr/bin/env python3
from __future__ import annotations
import argparse
import json
from pathlib import Path
from music3lab.editing.audio_prepend_runner import _load_config, run_audio_prepend
def main() -> int:
parser = argparse.ArgumentParser()
commands = parser.add_subparsers(dest="command", required=True)
check = commands.add_parser("check")
check.add_argument("--config", type=Path, required=True)
run = commands.add_parser("run")
for name in (
"config",
"continuation-config",
"flow-config",
"corpus-root",
"encoder-checkpoint",
"snapshot",
"base-manifest",
"diffusers-root",
"output-root",
):
run.add_argument("--" + name, type=Path, required=True)
args = parser.parse_args()
if args.command == "check":
result = {"schema_version": _load_config(args.config)["schema_version"], "status": "READY"}
code = 0
else:
result = run_audio_prepend(
config_path=args.config,
continuation_config=args.continuation_config,
flow_config=args.flow_config,
corpus_root=args.corpus_root,
encoder_checkpoint=args.encoder_checkpoint,
snapshot=args.snapshot,
base_manifest=args.base_manifest,
diffusers_root=args.diffusers_root,
output_root=args.output_root,
)
code = 0 if result["status"] == "FUNCTIONAL_PASS" else 1
print(json.dumps(result, sort_keys=True, separators=(",", ":")))
return code
if __name__ == "__main__":
raise SystemExit(main())