shukdevdatta123 commited on
Commit
bc2b0a4
·
verified ·
1 Parent(s): 1497d56

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -10
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")
@@ -115,21 +116,29 @@ def translate_to_english(api_key, text, lang_code):
115
  # Generate Audio function
116
  def generate_audio(text, lang_code, voice, speed):
117
  generator = pipeline(text, voice=voice, speed=speed, split_pattern=r'\n+')
 
118
  for i, (gs, ps, audio) in enumerate(generator):
119
  audio_data = audio
120
- # Save audio to in-memory buffer
121
- buffer = io.BytesIO()
122
- # Explicitly specify format as WAV
123
- sf.write(buffer, audio_data, 24000, format='WAV') # Add 'format="WAV"'
124
- buffer.seek(0)
125
- return buffer
 
126
 
127
  # Generate and display the audio file
128
  if st.button('Generate Audio'):
129
 
130
- # Generate audio for the original text
131
- st.write("Generating speech for the original text...")
132
- audio_buffer = generate_audio(input_text, lang_code, voice, speed)
 
 
 
 
 
 
133
 
134
  # Display Audio player for the original language
135
  st.audio(audio_buffer, format='audio/wav')
@@ -160,4 +169,4 @@ if st.button('Generate Audio'):
160
  data=translated_audio_buffer,
161
  file_name="generated_speech_translated.wav",
162
  mime="audio/wav"
163
- )
 
3
  from kokoro import KPipeline
4
  import soundfile as sf
5
  import io
6
+ import time
7
 
8
  # Streamlit App UI Setup
9
  st.title("Text-to-Speech Translator with Kokoro")
 
116
  # Generate Audio function
117
  def generate_audio(text, lang_code, voice, speed):
118
  generator = pipeline(text, voice=voice, speed=speed, split_pattern=r'\n+')
119
+ audio_data = None
120
  for i, (gs, ps, audio) in enumerate(generator):
121
  audio_data = audio
122
+ time.sleep(1) # Simulate processing delay for the spinner (this can be removed or adjusted)
123
+ # Save audio to in-memory buffer
124
+ buffer = io.BytesIO()
125
+ # Explicitly specify format as WAV
126
+ sf.write(buffer, audio_data, 24000, format='WAV') # Add 'format="WAV"'
127
+ buffer.seek(0)
128
+ return buffer
129
 
130
  # Generate and display the audio file
131
  if st.button('Generate Audio'):
132
 
133
+ # Show the spinner with percentage count
134
+ with st.spinner("Generating audio... 0%"):
135
+ for i in range(1, 101, 10):
136
+ time.sleep(0.5) # Simulate work being done, you can adjust timing here
137
+ st.spinner(f"Generating audio... {i}%")
138
+
139
+ # Generate audio for the original text after the spinner
140
+ st.write("Generating speech for the original text...")
141
+ audio_buffer = generate_audio(input_text, lang_code, voice, speed)
142
 
143
  # Display Audio player for the original language
144
  st.audio(audio_buffer, format='audio/wav')
 
169
  data=translated_audio_buffer,
170
  file_name="generated_speech_translated.wav",
171
  mime="audio/wav"
172
+ )