Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
if
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
|
|
|
|
|
|
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])
|