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