| |
| from __future__ import annotations |
| import argparse, json |
| from pathlib import Path |
| from music3lab.editing.audio_fim_runner import _load_config, run_audio_fim |
|
|
| def main() -> int: |
| p=argparse.ArgumentParser(); sub=p.add_subparsers(dest="command",required=True) |
| c=sub.add_parser("check"); c.add_argument("--config",type=Path,required=True) |
| r=sub.add_parser("run") |
| for name in ("config","continuation-config","flow-config","corpus-root","encoder-checkpoint","snapshot","base-manifest","diffusers-root","output-root"): |
| r.add_argument("--"+name,type=Path,required=True) |
| a=p.parse_args() |
| if a.command=="check": result={"schema_version":_load_config(a.config)["schema_version"],"status":"READY"};code=0 |
| else: |
| result=run_audio_fim(config_path=a.config,continuation_config=a.continuation_config,flow_config=a.flow_config,corpus_root=a.corpus_root,encoder_checkpoint=a.encoder_checkpoint,snapshot=a.snapshot,base_manifest=a.base_manifest,diffusers_root=a.diffusers_root,output_root=a.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()) |
|
|