File size: 1,232 Bytes
90884df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python3
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())