shukdevdatta123 commited on
Commit
7f7879a
·
verified ·
1 Parent(s): 9e2ae1b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -34
app.py CHANGED
@@ -3,6 +3,7 @@ import openai
3
  from kokoro import KPipeline
4
  import soundfile as sf
5
  import io
 
6
 
7
  # Streamlit App UI Setup
8
  st.title("Text-to-Speech Translator with Kokoro")
@@ -191,40 +192,46 @@ def generate_audio(text, lang_code, voice, speed):
191
 
192
  # Generate and display the audio file
193
  if st.button('Generate Audio'):
194
-
195
- # Display spinner during audio generation
196
- with st.spinner('Generating audio...'):
197
- # Generate audio for the original text
198
- st.write("Generating speech for the original text...")
199
- audio_buffer = generate_audio(input_text, lang_code, voice, speed)
200
-
201
- # Display Audio player for the original language
202
- st.audio(audio_buffer, format='audio/wav')
203
-
204
- # Optional: Save the generated audio file for download (Original Text)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  st.download_button(
206
- label="Download Audio (Original Text)",
207
- data=audio_buffer,
208
- file_name="generated_speech_original.wav",
209
  mime="audio/wav"
210
  )
211
-
212
- # Check if OpenAI API Key is provided for translation and English audio generation
213
- if openai_api_key:
214
- # Translate the input text to English using OpenAI
215
- translated_text = translate_to_english(openai_api_key, input_text, lang_code)
216
-
217
- # Generate audio for the translated English text
218
- translated_audio_buffer = generate_audio(translated_text, 'a', voice, speed)
219
-
220
- # Display Audio for the translated text
221
- st.write(f"Translated Text: {translated_text}")
222
- st.audio(translated_audio_buffer, format='audio/wav')
223
-
224
- # Optional: Save the generated audio file for download (Translated Text)
225
- st.download_button(
226
- label="Download Audio (Translated to English)",
227
- data=translated_audio_buffer,
228
- file_name="generated_speech_translated.wav",
229
- mime="audio/wav"
230
- )
 
3
  from kokoro import KPipeline
4
  import soundfile as sf
5
  import io
6
+ import time # To simulate some delay for spinner visibility
7
 
8
  # Streamlit App UI Setup
9
  st.title("Text-to-Speech Translator with Kokoro")
 
192
 
193
  # Generate and display the audio file
194
  if st.button('Generate Audio'):
195
+ # Display custom spinner while generating audio
196
+ spinner_placeholder = st.empty() # Create a placeholder for the spinner
197
+ spinner_placeholder.markdown('<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>', unsafe_allow_html=True)
198
+
199
+ # Simulate a delay (can be removed once audio generation is complete)
200
+ time.sleep(1) # Simulating audio generation time (Remove this line in production)
201
+
202
+ # Generate audio for the original text
203
+ audio_buffer = generate_audio(input_text, lang_code, voice, speed)
204
+
205
+ # Remove the spinner once audio generation is complete
206
+ spinner_placeholder.empty()
207
+
208
+ # Display Audio player for the original language
209
+ st.audio(audio_buffer, format='audio/wav')
210
+
211
+ # Optional: Save the generated audio file for download (Original Text)
212
+ st.download_button(
213
+ label="Download Audio (Original Text)",
214
+ data=audio_buffer,
215
+ file_name="generated_speech_original.wav",
216
+ mime="audio/wav"
217
+ )
218
+
219
+ # Check if OpenAI API Key is provided for translation and English audio generation
220
+ if openai_api_key:
221
+ # Translate the input text to English using OpenAI
222
+ translated_text = translate_to_english(openai_api_key, input_text, lang_code)
223
+
224
+ # Generate audio for the translated English text
225
+ translated_audio_buffer = generate_audio(translated_text, 'a', voice, speed)
226
+
227
+ # Display Audio for the translated text
228
+ st.write(f"Translated Text: {translated_text}")
229
+ st.audio(translated_audio_buffer, format='audio/wav')
230
+
231
+ # Optional: Save the generated audio file for download (Translated Text)
232
  st.download_button(
233
+ label="Download Audio (Translated to English)",
234
+ data=translated_audio_buffer,
235
+ file_name="generated_speech_translated.wav",
236
  mime="audio/wav"
237
  )