qqwjq1981 commited on
Commit
4e48d07
Β·
verified Β·
1 Parent(s): 0cd477f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -17
app.py CHANGED
@@ -424,13 +424,14 @@ def process_entry(entry, i, tts_model, video_width, video_height, process_mode,
424
  desired_duration = entry["end"] - entry["start"]
425
  desired_speed = calibrated_speed(entry['translated'], desired_duration)
426
 
427
- if use_clone:
428
- speaker = entry.get("speaker", "default")
429
- speaker_wav_path = f"speaker_{speaker}_sample.wav"
 
430
  generate_voiceover_clone(entry['translated'], tts_model, desired_speed, target_language, speaker_wav_path, segment_audio_path)
431
 
432
  else:
433
- generate_voiceover_OpenAI(entry['translated'], tts_model, desired_speed, target_language, speaker_wav_path, segment_audio_path)
434
 
435
  if not output_path or not os.path.exists(segment_audio_path):
436
  raise FileNotFoundError(f"Voiceover file not generated at: {segment_audio_path}")
@@ -564,12 +565,8 @@ def generate_voiceover_OpenAI(full_text, language, desired_speed, output_audio_p
564
  if retry_count == max_retries:
565
  raise ValueError(f"Failed to generate voiceover after {max_retries} retries.")
566
 
567
- def generate_voiceover_clone(full_text, tts_model, desired_speed, target_language, speaker_wav_path, output_audio_path, use_clone=False):
568
  try:
569
- if not speaker_wav_path or not os.path.exists(speaker_wav_path):
570
- msg = f"❌ Speaker audio not found: {speaker_wav_path}"
571
- logger.error(msg)
572
- return None, msg, msg
573
 
574
  tts_model.tts_to_file(
575
  text=full_text,
@@ -579,19 +576,13 @@ def generate_voiceover_clone(full_text, tts_model, desired_speed, target_languag
579
  speed=desired_speed,
580
  split_sentences=True
581
  )
582
-
583
- if not os.path.exists(output_audio_path):
584
- msg = f"❌ Voiceover file not generated at: {output_audio_path}"
585
- logger.error(msg)
586
- return None, msg, msg
587
-
588
  msg = "βœ… Voice cloning completed successfully."
589
  logger.info(msg)
590
  return output_audio_path, msg, None
591
 
592
  except Exception as e:
593
- err_msg = f"❌ An error occurred: {str(e)}"
594
- logger.error("❌ Error during voice cloning:")
595
  logger.error(traceback.format_exc())
596
  return None, err_msg, err_msg
597
 
 
424
  desired_duration = entry["end"] - entry["start"]
425
  desired_speed = calibrated_speed(entry['translated'], desired_duration)
426
 
427
+ speaker = entry.get("speaker", "default")
428
+ speaker_wav_path = f"speaker_{speaker}_sample.wav"
429
+
430
+ if use_clone and speaker_wav_path and os.path.exists(speaker_wav_path):
431
  generate_voiceover_clone(entry['translated'], tts_model, desired_speed, target_language, speaker_wav_path, segment_audio_path)
432
 
433
  else:
434
+ generate_voiceover_OpenAI(entry['translated'], target_language, desired_speed, segment_audio_path)
435
 
436
  if not output_path or not os.path.exists(segment_audio_path):
437
  raise FileNotFoundError(f"Voiceover file not generated at: {segment_audio_path}")
 
565
  if retry_count == max_retries:
566
  raise ValueError(f"Failed to generate voiceover after {max_retries} retries.")
567
 
568
+ def generate_voiceover_clone(full_text, tts_model, desired_speed, target_language, speaker_wav_path, output_audio_path):
569
  try:
 
 
 
 
570
 
571
  tts_model.tts_to_file(
572
  text=full_text,
 
576
  speed=desired_speed,
577
  split_sentences=True
578
  )
 
 
 
 
 
 
579
  msg = "βœ… Voice cloning completed successfully."
580
  logger.info(msg)
581
  return output_audio_path, msg, None
582
 
583
  except Exception as e:
584
+ generate_voiceover_OpenAI(full_text, target_language, desired_speed, output_audio_path)
585
+ err_msg = f"❌ An error occurred: {str(e)}, fallback to premium voice"
586
  logger.error(traceback.format_exc())
587
  return None, err_msg, err_msg
588