hivecorp commited on
Commit
6e95850
·
verified ·
1 Parent(s): 6a1912b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -26
app.py CHANGED
@@ -442,16 +442,6 @@ language_dict = {
442
  }
443
 
444
 
445
-
446
-
447
- def get_speakers(language):
448
- print(language)
449
- speakers = list(language_dict[language].keys())
450
- return gr.Dropdown(choices=speakers, value=speakers[0], interactive=True), gr.Checkbox(visible=language == "Arabic", interactive=True)
451
-
452
-
453
- default_language = None
454
- default_speaker = None
455
  max_words = 1600 # Maximum word limit for input text
456
 
457
  async def generate_audio(text, language, voice):
@@ -464,29 +454,49 @@ async def generate_audio(text, language, voice):
464
  await communicator.save(file_path)
465
  return None, file_path
466
 
 
467
  def tts_wrapper(text, language, voice):
468
  error_message, audio_path = gr.Blocks.run_coroutine(generate_audio(text, language, voice))
469
  if error_message:
470
  return error_message, None
471
  return None, audio_path
472
 
473
- def update_voices(language):
474
- return list(language_dict[language].keys())
475
 
476
- with gr.Blocks() as app:
477
- gr.Markdown("# Text-to-Speech Application")
478
- with gr.Row():
479
- text_input = gr.Textbox(lines=5, label="Input Text", placeholder="Enter text to convert to speech")
480
- with gr.Row():
481
- language_dropdown = gr.Dropdown(choices=list(language_dict.keys()), label="Select Language", value="English")
482
- voice_dropdown = gr.Dropdown(choices=list(language_dict["English"].keys()), label="Select Voice", value="Jenny")
483
- with gr.Row():
484
- submit_button = gr.Button("Generate Speech")
 
 
 
 
 
 
485
  with gr.Row():
486
- error_output = gr.Textbox(label="Error Message", interactive=False)
487
- audio_output = gr.Audio(label="Generated Audio", type="filepath")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
 
489
- language_dropdown.change(update_voices, inputs=[language_dropdown], outputs=[voice_dropdown])
490
- submit_button.click(tts_wrapper, inputs=[text_input, language_dropdown, voice_dropdown], outputs=[error_output, audio_output])
491
 
492
- app.launch()
 
442
  }
443
 
444
 
 
 
 
 
 
 
 
 
 
 
445
  max_words = 1600 # Maximum word limit for input text
446
 
447
  async def generate_audio(text, language, voice):
 
454
  await communicator.save(file_path)
455
  return None, file_path
456
 
457
+
458
  def tts_wrapper(text, language, voice):
459
  error_message, audio_path = gr.Blocks.run_coroutine(generate_audio(text, language, voice))
460
  if error_message:
461
  return error_message, None
462
  return None, audio_path
463
 
 
 
464
 
465
+ def get_speakers(language):
466
+ print(language)
467
+ speakers = list(language_dict[language].keys())
468
+ return gr.Dropdown(choices=speakers, value=speakers[0], interactive=True), gr.Checkbox(visible=language == "Arabic", interactive=True)
469
+
470
+
471
+
472
+
473
+ default_language = None
474
+ default_speaker = None
475
+ with gr.Blocks(title="Writoo AI V2") as demo:
476
+ gr.HTML(" ")
477
+ gr.HTML(f"<h2 style='color:Tomato;'> 🎥 **Exciting News: 60+ Minutes File Creation is also Free !!** 🎥 </h3>")
478
+
479
+ gr.Markdown("✨ Features: • Convert text to speech with 60+ audio files.• Choose from 72+ languages • Its Free 😍")
480
  with gr.Row():
481
+ with gr.Column():
482
+ input_text = gr.Textbox(lines=5, label="Input Text", placeholder="Enter text to convert to speech")
483
+ language = gr.Dropdown(
484
+ choices=list(language_dict.keys()), value=default_language, label="Languages", interactive=True
485
+ )
486
+ speaker = gr.Dropdown(choices=[], value=default_speaker, label="Speakers", interactive=False)
487
+ tashkeel_checkbox = gr.Checkbox(label="Tashkeel", value=False, visible=False, interactive=False)
488
+ run_btn = gr.Button(value="Generate Audio", variant="primary")
489
+
490
+ with gr.Column():
491
+ output_text = gr.Textbox(label="Output Text")
492
+ output_audio = gr.Audio(type="filepath", label="Audio Output")
493
+
494
+ language.change(get_speakers, inputs=[language], outputs=[speaker, tashkeel_checkbox])
495
+ run_btn.click(text_to_speech_edge, inputs=[input_text, language, speaker, tashkeel_checkbox], outputs=[output_text, output_audio])
496
+
497
+ if __name__ == "__main__":
498
+ demo.queue().launch(share=False)
499
+
500
+
501
 
 
 
502