shukdevdatta123 commited on
Commit
62bfbfb
·
verified ·
1 Parent(s): f0897e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -17
app.py CHANGED
@@ -3,14 +3,7 @@ from kokoro import KPipeline
3
  import soundfile as sf
4
  import io
5
  import os
6
- from textblob import TextBlob # We will use TextBlob for translation
7
-
8
- # Install espeak-ng if not installed
9
- # if not os.system("which espeak-ng"):
10
- # st.text("espeak-ng already installed.")
11
- # else:
12
- # os.system("apt-get -qq -y install espeak-ng")
13
- # st.text("Installing espeak-ng...")
14
 
15
  # Streamlit App UI Setup
16
  st.title("Text-to-Speech with Kokoro")
@@ -84,6 +77,25 @@ speed = st.slider("Speed", min_value=0.5, max_value=2.0, value=1.0, step=0.1)
84
  # Initialize the TTS pipeline with user-selected language
85
  pipeline = KPipeline(lang_code=lang_code)
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  # Generate Audio function
88
  def generate_audio(text, lang_code, voice, speed):
89
  generator = pipeline(text, voice=voice, speed=speed, split_pattern=r'\n+')
@@ -96,14 +108,6 @@ def generate_audio(text, lang_code, voice, speed):
96
  buffer.seek(0)
97
  return buffer
98
 
99
- # Translate text to English using TextBlob
100
- def translate_to_english(text, lang_code):
101
- if lang_code != 'a': # Only translate if it's not already English
102
- blob = TextBlob(text)
103
- translated_text = blob.translate(to='en')
104
- return str(translated_text)
105
- return text
106
-
107
  # Generate and display the audio file
108
  if st.button('Generate Audio'):
109
  st.write("Generating speech...")
@@ -120,7 +124,7 @@ if st.button('Generate Audio'):
120
  mime="audio/wav"
121
  )
122
 
123
- # Translate the input text to English
124
  translated_text = translate_to_english(input_text, lang_code)
125
 
126
  # Generate audio for the translated English text
 
3
  import soundfile as sf
4
  import io
5
  import os
6
+ import requests # Used to send requests to LibreTranslate API
 
 
 
 
 
 
 
7
 
8
  # Streamlit App UI Setup
9
  st.title("Text-to-Speech with Kokoro")
 
77
  # Initialize the TTS pipeline with user-selected language
78
  pipeline = KPipeline(lang_code=lang_code)
79
 
80
+ # LibreTranslate API URL (public API endpoint)
81
+ LIBRETRANSLATE_URL = "https://libretranslate.de/translate"
82
+
83
+ # Translate text to English using LibreTranslate
84
+ def translate_to_english(text, lang_code):
85
+ # Send a POST request to LibreTranslate API
86
+ response = requests.post(LIBRETRANSLATE_URL, data={
87
+ 'q': text,
88
+ 'source': lang_code,
89
+ 'target': 'en'
90
+ })
91
+
92
+ # Check for a successful response
93
+ if response.status_code == 200:
94
+ return response.json()['translatedText']
95
+ else:
96
+ st.error(f"Translation failed. Status Code: {response.status_code}")
97
+ return text # Return the original text in case of failure
98
+
99
  # Generate Audio function
100
  def generate_audio(text, lang_code, voice, speed):
101
  generator = pipeline(text, voice=voice, speed=speed, split_pattern=r'\n+')
 
108
  buffer.seek(0)
109
  return buffer
110
 
 
 
 
 
 
 
 
 
111
  # Generate and display the audio file
112
  if st.button('Generate Audio'):
113
  st.write("Generating speech...")
 
124
  mime="audio/wav"
125
  )
126
 
127
+ # Translate the input text to English using LibreTranslate
128
  translated_text = translate_to_english(input_text, lang_code)
129
 
130
  # Generate audio for the translated English text