DemahAlmutairi commited on
Commit
581eff5
·
verified ·
1 Parent(s): 5981a38

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import pipeline
3
+
4
+ # Project 1: Bilingual Story Generation
5
+ english_story_generator = pipeline("text-generation", model="gpt2")
6
+ arabic_story_generator = pipeline("text-generation", model="aubmindlab/arabert")
7
+
8
+ def generate_story(prompt, language):
9
+ if language == "English":
10
+ return english_story_generator(prompt, max_length=200)[0]['generated_text']
11
+ else: # Arabic
12
+ return arabic_story_generator(prompt, max_length=200)[0]['generated_text']
13
+
14
+ # Project 2: Bilingual Text-to-Speech
15
+ english_tts = pipeline("text-to-speech", model="facebook/tts_transformer")
16
+ arabic_tts = pipeline("text-to-speech", model="google/arabic_tts")
17
+
18
+ def text_to_speech(text, language):
19
+ if language == "English":
20
+ audio = english_tts(text)
21
+ else: # Arabic
22
+ audio = arabic_tts(text)
23
+ return audio
24
+
25
+ # Gradio Interface
26
+ with gr.Blocks() as demo:
27
+ with gr.Row():
28
+ language_choice = gr.Radio(choices=["English", "Arabic"], label="Select Language")
29
+ prompt_input = gr.Textbox(label="Enter a story prompt")
30
+ generate_button = gr.Button("Generate Story")
31
+
32
+ story_output = gr.Textbox(label="Generated Story", interactive=False)
33
+
34
+ generate_button.click(generate_story, inputs=[prompt_input, language_choice], outputs=story_output)
35
+
36
+ tts_input = gr.Textbox(label="Paste your story for TTS")
37
+ tts_button = gr.Button("Read Story Aloud")
38
+ audio_output = gr.Audio(label="Audio Output", type="numpy")
39
+
40
+ tts_button.click(text_to_speech, inputs=[tts_input, language_choice], outputs=audio_output)
41
+
42
+ demo.launch()