27 lines
923 B
Python
27 lines
923 B
Python
import os
|
|
import argparse
|
|
from sonic import Sonic
|
|
pipe = Sonic(0)
|
|
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('image_path')
|
|
parser.add_argument('audio_path')
|
|
parser.add_argument('output_path')
|
|
parser.add_argument('--dynamic_scale', type=float, default=1.0)
|
|
parser.add_argument('--crop', action='store_true')
|
|
parser.add_argument('--seed', type=int, default=None)
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
face_info = pipe.preprocess(args.image_path, expand_ratio=0.5)
|
|
print(face_info)
|
|
if face_info['face_num'] >= 0:
|
|
if args.crop:
|
|
crop_image_path = args.image_path + '.crop.png'
|
|
pipe.crop_image(args.image_path, crop_image_path, face_info['crop_bbox'])
|
|
args.image_path = crop_image_path
|
|
os.makedirs(os.path.dirname(args.output_path), exist_ok=True)
|
|
pipe.process(args.image_path, args.audio_path, args.output_path, min_resolution=512, inference_steps=25, dynamic_scale=args.dynamic_scale)
|