import gradio as gr from transformers import pipeline from gtts import gTTS # Load translation model translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-fr") def translate_and_speak(text, target_language): # Translate text translated_text = translator(text, tgt_lang=target_language)[0]['translation_text'] # Convert text to speech tts = gTTS(translated_text, lang=target_language) output_path = "output.mp3" tts.save(output_path) return translated_text, output_path # Gradio Interface demo = gr.Interface( fn=translate_and_speak, inputs=[ gr.Textbox(label="Enter Text"), gr.Dropdown(["fr", "es", "de", "it", "zh", "ar", "hi", "ur"], label="Target Language") ], outputs=[ gr.Textbox(label="Translated Text"), gr.Audio(label="Generated Speech") ] ) demo.launch(share=True)