sdafd commited on
Commit
cf9a4dd
Β·
verified Β·
1 Parent(s): 839bae2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -24
app.py CHANGED
@@ -7,8 +7,7 @@ from huggingface_hub import list_repo_files
7
  import uuid
8
  import re
9
  import gradio as gr
10
-
11
-
12
  #translate langauge
13
  from deep_translator import GoogleTranslator
14
  def bulk_translate(text, target_language, chunk_size=500):
@@ -463,26 +462,29 @@ def save_current_data():
463
  os.makedirs("./last",exist_ok=True)
464
 
465
 
466
- def KOKORO_TTS_API(text, Language="American English",voice="af_bella", speed=1,translate_text=False,remove_silence=False,keep_silence_up_to=0.05):
467
- if translate_text:
468
- text=bulk_translate(text, Language, chunk_size=500)
469
- save_path,timestamps=generate_and_save_audio(text=text, Language=Language,voice=voice, speed=speed,remove_silence=remove_silence,keep_silence_up_to=keep_silence_up_to)
470
- if remove_silence==False:
471
- if Language in ["American English", "British English"]:
472
- word_level_timestamps=adjust_timestamps(timestamps)
473
- word_level_srt = modify_filename(save_path.replace(".wav", ".srt"), prefix="word_level_")
474
- normal_srt = modify_filename(save_path.replace(".wav", ".srt"), prefix="sentence_")
475
- json_file = modify_filename(save_path.replace(".wav", ".json"), prefix="duration_")
476
- write_word_srt(word_level_timestamps, output_file=word_level_srt, skip_punctuation=True)
477
- write_sentence_srt(word_level_timestamps, output_file=normal_srt, min_pause=0.01)
478
- make_json(word_level_timestamps, json_file)
479
- save_current_data()
480
- shutil.copy(save_path, "./last/")
481
- shutil.copy(word_level_srt, "./last/")
482
- shutil.copy(normal_srt, "./last/")
483
- shutil.copy(json_file, "./last/")
484
- return save_path,save_path,word_level_srt,normal_srt,json_file
485
- return save_path,save_path,None,None,None
 
 
 
486
 
487
 
488
 
@@ -514,6 +516,7 @@ def ui():
514
  with gr.Row():
515
  with gr.Column():
516
  text = gr.Textbox(label='πŸ“ Enter Text', lines=3)
 
517
 
518
  with gr.Row():
519
  language_name = gr.Dropdown(lang_list, label="🌍 Select Language", value=lang_list[0])
@@ -542,8 +545,8 @@ def ui():
542
  srt_file = gr.File(label='πŸ“œ Download Sentence-Level SRT')
543
  sentence_duration_file = gr.File(label='⏳ Download Sentence Timestamp JSON')
544
 
545
- text.submit(KOKORO_TTS_API, inputs=[text, language_name, voice_name, speed,translate_text, remove_silence], outputs=[audio, audio_file,word_level_srt_file,srt_file,sentence_duration_file])
546
- generate_btn.click(KOKORO_TTS_API, inputs=[text, language_name, voice_name, speed,translate_text, remove_silence], outputs=[audio, audio_file,word_level_srt_file,srt_file,sentence_duration_file])
547
 
548
  # Add examples to the interface
549
  gr.Examples(examples=dummy_examples, inputs=[text, language_name, voice_name])
 
7
  import uuid
8
  import re
9
  import gradio as gr
10
+ key = os.getenv("SECRET_KEY", None)
 
11
  #translate langauge
12
  from deep_translator import GoogleTranslator
13
  def bulk_translate(text, target_language, chunk_size=500):
 
462
  os.makedirs("./last",exist_ok=True)
463
 
464
 
465
+ def KOKORO_TTS_API(text, Language="American English",voice="af_bella", speed=1,translate_text=False,remove_silence=False,keep_silence_up_to=0.05, input_key=None):
466
+ if input_key == key:
467
+ if translate_text:
468
+ text=bulk_translate(text, Language, chunk_size=500)
469
+ save_path,timestamps=generate_and_save_audio(text=text, Language=Language,voice=voice, speed=speed,remove_silence=remove_silence,keep_silence_up_to=keep_silence_up_to)
470
+ if remove_silence==False:
471
+ if Language in ["American English", "British English"]:
472
+ word_level_timestamps=adjust_timestamps(timestamps)
473
+ word_level_srt = modify_filename(save_path.replace(".wav", ".srt"), prefix="word_level_")
474
+ normal_srt = modify_filename(save_path.replace(".wav", ".srt"), prefix="sentence_")
475
+ json_file = modify_filename(save_path.replace(".wav", ".json"), prefix="duration_")
476
+ write_word_srt(word_level_timestamps, output_file=word_level_srt, skip_punctuation=True)
477
+ write_sentence_srt(word_level_timestamps, output_file=normal_srt, min_pause=0.01)
478
+ make_json(word_level_timestamps, json_file)
479
+ save_current_data()
480
+ shutil.copy(save_path, "./last/")
481
+ shutil.copy(word_level_srt, "./last/")
482
+ shutil.copy(normal_srt, "./last/")
483
+ shutil.copy(json_file, "./last/")
484
+ return save_path,save_path,word_level_srt,normal_srt,json_file
485
+ return save_path,save_path,None,None,None
486
+ else:
487
+ return None,None,None,None,None
488
 
489
 
490
 
 
516
  with gr.Row():
517
  with gr.Column():
518
  text = gr.Textbox(label='πŸ“ Enter Text', lines=3)
519
+ input_key = gr.Textbox(label='Input Key', lines=1)
520
 
521
  with gr.Row():
522
  language_name = gr.Dropdown(lang_list, label="🌍 Select Language", value=lang_list[0])
 
545
  srt_file = gr.File(label='πŸ“œ Download Sentence-Level SRT')
546
  sentence_duration_file = gr.File(label='⏳ Download Sentence Timestamp JSON')
547
 
548
+ text.submit(KOKORO_TTS_API, inputs=[text, language_name, voice_name, speed,translate_text, remove_silence,input_key], outputs=[audio, audio_file,word_level_srt_file,srt_file,sentence_duration_file])
549
+ generate_btn.click(KOKORO_TTS_API, inputs=[text, language_name, voice_name, speed,translate_text, remove_silence,input_key], outputs=[audio, audio_file,word_level_srt_file,srt_file,sentence_duration_file])
550
 
551
  # Add examples to the interface
552
  gr.Examples(examples=dummy_examples, inputs=[text, language_name, voice_name])