from deep_translator import GoogleTranslator from gtts import gTTS from io import BytesIO import streamlit as st def translate_text(text,dest_lang): translated_text = GoogleTranslator(source='en',target=dest_lang).translate(text) return translated_text def text_to_speech(text,dest_lang): tts = gTTS(text=text,lang=dest_lang) with BytesIO() as buffer: tts.write_to_fp(buffer) buffer.seek(0) audio_data = buffer.read() return audio_data def main(): st.title('Text Translation and text to Speech App') text = st.text_area("Enter text to translate:") dest_lang = st.selectbox("Enter destination language",['fr','ja','te','ar']) if st.button("Translate"): translated_text = translate_text(text, dest_lang) st.write("Translated Text:") st.write(translated_text) translated_text = translate_text(text,dest_lang) tts_audio = text_to_speech(translated_text,dest_lang) with open("translated_audio.mp3","wb") as audio_file: audio_file.write(tts_audio) if __name__ == "__main__": main()