Nekochu commited on
Commit
956dc8c
·
1 Parent(s): 1549b91

accept files until total audio cap reached, skip rest with warning

Browse files
Files changed (1) hide show
  1. app.py +14 -9
app.py CHANGED
@@ -487,21 +487,26 @@ def gradio_main():
487
  _log(f"[INFO] Preparing {len(audio_files)} audio files...")
488
  yield _log_text(), gr.update(visible=False), gr.update(visible=True), gr.update()
489
 
 
490
  total_dur = 0.0
 
 
491
  for f in audio_files:
492
  src = f.name if hasattr(f, "name") else str(f)
493
- shutil.copy2(src, os.path.join(audio_dir, os.path.basename(src)))
494
  try:
495
- import librosa
496
- total_dur += librosa.get_duration(path=src)
497
  except Exception:
498
- pass
 
 
 
 
 
 
499
 
500
- if total_dur > MAX_TOTAL_AUDIO:
501
- _log(f"[FAIL] Total audio {total_dur:.0f}s exceeds {MAX_TOTAL_AUDIO}s limit ({MAX_TOTAL_AUDIO/60:.0f} min)")
502
- yield _log_text(), gr.update(visible=True), gr.update(visible=False), gr.update()
503
- return
504
- _log(f"[INFO] Total audio: {total_dur:.0f}s ({total_dur/60:.1f} min)")
505
 
506
  _log(f"[INFO] LoRA: '{lora_name}' | Files: {len(audio_files)} | "
507
  f"Epochs: {epochs} | LR: {lr} | Rank: {rank}")
 
487
  _log(f"[INFO] Preparing {len(audio_files)} audio files...")
488
  yield _log_text(), gr.update(visible=False), gr.update(visible=True), gr.update()
489
 
490
+ import librosa as _lr
491
  total_dur = 0.0
492
+ accepted = 0
493
+ skipped = 0
494
  for f in audio_files:
495
  src = f.name if hasattr(f, "name") else str(f)
 
496
  try:
497
+ dur = _lr.get_duration(path=src)
 
498
  except Exception:
499
+ dur = 0.0
500
+ if total_dur + dur > MAX_TOTAL_AUDIO and accepted > 0:
501
+ skipped += 1
502
+ continue
503
+ shutil.copy2(src, os.path.join(audio_dir, os.path.basename(src)))
504
+ total_dur += dur
505
+ accepted += 1
506
 
507
+ if skipped > 0:
508
+ _log(f"[WARN] Skipped {skipped} files to stay under {MAX_TOTAL_AUDIO/60:.0f} min limit")
509
+ _log(f"[INFO] Total audio: {total_dur:.0f}s ({total_dur/60:.1f} min), {accepted} files")
 
 
510
 
511
  _log(f"[INFO] LoRA: '{lora_name}' | Files: {len(audio_files)} | "
512
  f"Epochs: {epochs} | LR: {lr} | Rank: {rank}")