Retain isolated number retry evidence and Korean voice register
This commit is contained in:
@@ -147,17 +147,18 @@ def reusable_entries(root, catalog, profile):
|
||||
return result
|
||||
|
||||
|
||||
def generate(catalog, profile, root, ids=None, synthesize=None, environment=None):
|
||||
def generate(catalog, profile, root, ids=None, synthesize=None, environment=None, regenerate=False):
|
||||
validate_inputs(catalog, profile)
|
||||
selected = select_clips(catalog, ids)
|
||||
root = Path(root)
|
||||
previous = reusable_entries(root, catalog, profile)
|
||||
previous = {} if regenerate else reusable_entries(root, catalog, profile)
|
||||
run_id = datetime.now(timezone.utc).strftime('%Y%m%dT%H%M%S%fZ_') + uuid.uuid4().hex[:8]
|
||||
run_dir = root / 'generated' / run_id
|
||||
run_dir.mkdir(parents=True)
|
||||
manifest = {'schemaVersion': 1, 'runId': run_id, 'createdUtc': datetime.now(timezone.utc).isoformat(),
|
||||
'modelRevision': profile['modelRevision'], 'catalogHash': digest(catalog),
|
||||
'profileHash': digest(profile), 'scope': 'selected' if ids else 'all',
|
||||
'regenerateRequested': regenerate,
|
||||
'requestedIds': [c['id'] for c in selected], 'environment': environment or {}, 'clips': []}
|
||||
try:
|
||||
for clip in selected:
|
||||
@@ -236,6 +237,7 @@ def main():
|
||||
parser.add_argument('--ids', help='comma separated IDs; absent means all catalog clips')
|
||||
parser.add_argument('--validate-only', action='store_true')
|
||||
parser.add_argument('--manifest', type=Path)
|
||||
parser.add_argument('--regenerate', action='store_true', help='create a new take for selected IDs, preserving original runs')
|
||||
args = parser.parse_args()
|
||||
ids = args.ids.split(',') if args.ids else None
|
||||
try:
|
||||
@@ -250,8 +252,8 @@ def main():
|
||||
else:
|
||||
selected = select_clips(catalog, ids)
|
||||
reusable = reusable_entries(root, catalog, profile)
|
||||
synthesize, environment = (None, {'modelLoad': 'not_needed'}) if all(c['id'] in reusable for c in selected) else load_synthesizer(profile)
|
||||
manifest = generate(catalog, profile, root, ids, synthesize, environment)
|
||||
synthesize, environment = (None, {'modelLoad': 'not_needed'}) if not args.regenerate and all(c['id'] in reusable for c in selected) else load_synthesizer(profile)
|
||||
manifest = generate(catalog, profile, root, ids, synthesize, environment, args.regenerate)
|
||||
print('Manifest: ' + str(root / 'generated' / manifest['runId'] / 'manifest.json'))
|
||||
errors = validate_manifest(manifest, catalog, profile, root, ids)
|
||||
print(json.dumps({'validationScope': 'selected' if ids else 'all_required', 'ids': ids,
|
||||
|
||||
Reference in New Issue
Block a user