PuristanLabs1 commited on
Commit
1e95dc3
·
verified ·
1 Parent(s): 7ac96dc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -18
app.py CHANGED
@@ -21,8 +21,6 @@ from PIL import Image
21
  import io
22
  from gliner import GLiNER
23
  import tempfile
24
- from pydub import AudioSegment
25
- import time
26
 
27
  nltk.download("punkt")
28
  nltk.download("punkt_tab")
@@ -221,23 +219,13 @@ def generate_audio_kokoro(text, lang, selected_voice):
221
  audio_data_list = [audio for _, _, audio in generator]
222
  full_audio = np.concatenate(audio_data_list)
223
 
224
- # Save as WAV (Temporary Step for Conversion)
225
- temp_wav_file = f"temp_audio_{lang}.wav"
226
- sf.write(temp_wav_file, full_audio, 24000)
227
-
228
- # Convert WAV to MP3
229
- output_file = f"audio_{lang}.mp3"
230
- AudioSegment.from_wav(temp_wav_file).export(output_file, format="mp3", bitrate="192k")
231
-
232
- # Clean up the temporary WAV file
233
- os.remove(temp_wav_file)
234
 
235
- # Confirm file is saved successfully
236
- if not os.path.exists(output_file):
237
- raise FileNotFoundError(f"Audio file '{output_file}' was not created successfully.")
238
-
239
- # Return MP3 file path for Gradio Audio Box (with timestamp for cache bypass)
240
- return f"{output_file}?{int(time.time())}"
241
 
242
  ### 5️⃣ Chunk-Based Summarization
243
  def split_text_with_optimized_overlap(text, max_tokens=1024, overlap_tokens=25):
 
21
  import io
22
  from gliner import GLiNER
23
  import tempfile
 
 
24
 
25
  nltk.download("punkt")
26
  nltk.download("punkt_tab")
 
219
  audio_data_list = [audio for _, _, audio in generator]
220
  full_audio = np.concatenate(audio_data_list)
221
 
222
+ # Save to a temporary file
223
+ with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as temp_file:
224
+ sf.write(temp_file, full_audio, 24000, format='wav')
225
+ temp_file_path = temp_file.name
 
 
 
 
 
 
226
 
227
+ print("Audio generated successfully.")
228
+ return temp_file_path
 
 
 
 
229
 
230
  ### 5️⃣ Chunk-Based Summarization
231
  def split_text_with_optimized_overlap(text, max_tokens=1024, overlap_tokens=25):