translation commited on
Commit
94eae23
1 Parent(s): eb0644d
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import googletrans
3
+ from googletrans import Translator
4
+ from gtts import gTTS
5
+ import os
6
+
7
+ # Function to translate text
8
+ def translate_text(text, target_lang):
9
+ translator = Translator()
10
+ translated_text = translator.translate(text, dest=target_lang)
11
+ return translated_text.text
12
+
13
+ # Function to convert text to speech
14
+ def text_to_speech(text, target_lang, voice_gender):
15
+ lang = target_lang
16
+ if target_lang == "hi":
17
+ # Hindi does not support accents
18
+ lang = "hi"
19
+
20
+ tts = gTTS(text=text, lang=lang, slow=False, lang_check=False)
21
+ tts.save("output.mp3")
22
+
23
+ # Main function to run the app
24
+ def main():
25
+ st.title("Text-to-Speech Translation App")
26
+
27
+ # Text input field
28
+ input_text = st.text_area("Enter text to translate:", "")
29
+
30
+ # Dropdown to select source and target languages
31
+ source_lang = "en" # Source language is English by default
32
+ target_lang = st.selectbox("Select Target Language", googletrans.LANGUAGES.keys())
33
+
34
+ # Radio button group to select voice gender
35
+ voice_gender = st.radio("Select Voice Gender:", ("Male", "Female"))
36
+
37
+ # Button to initiate translation and speech synthesis
38
+ if st.button("Translate and Speak"):
39
+ # Perform translation
40
+ translated_text = translate_text(input_text, target_lang)
41
+
42
+ # Display translated text
43
+ st.subheader("Translated Text:")
44
+ st.write(translated_text)
45
+
46
+ # Convert translated text to speech
47
+ text_to_speech(translated_text, target_lang, voice_gender)
48
+
49
+ # Play the audio
50
+ st.audio("output.mp3", format='audio/mp3')
51
+
52
+ if __name__ == "__main__":
53
+ main()