Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
import gradio as gr
|
2 |
from utils import generate_script, generate_audio, truncate_text, extract_text_from_url
|
3 |
from prompts import SYSTEM_PROMPT
|
4 |
-
from pydub import AudioSegment
|
5 |
import pypdf
|
6 |
import os
|
7 |
import tempfile
|
@@ -30,20 +29,21 @@ def generate_podcast(file, url, tone, length):
|
|
30 |
|
31 |
script = generate_script(SYSTEM_PROMPT, truncated_text, tone, length)
|
32 |
|
33 |
-
|
34 |
transcript = ""
|
35 |
for item in script.dialogue:
|
36 |
audio_file = generate_audio(item.text, item.speaker)
|
37 |
-
|
38 |
-
audio_segments.append(audio_segment)
|
39 |
transcript += f"**{item.speaker}**: {item.text}\n\n"
|
40 |
-
os.remove(audio_file) # Clean up temporary audio file
|
41 |
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
-
|
45 |
-
combined_audio.export(temp_audio.name, format="wav")
|
46 |
-
return temp_audio.name, transcript
|
47 |
|
48 |
except Exception as e:
|
49 |
return None, f"An error occurred: {str(e)}"
|
|
|
1 |
import gradio as gr
|
2 |
from utils import generate_script, generate_audio, truncate_text, extract_text_from_url
|
3 |
from prompts import SYSTEM_PROMPT
|
|
|
4 |
import pypdf
|
5 |
import os
|
6 |
import tempfile
|
|
|
29 |
|
30 |
script = generate_script(SYSTEM_PROMPT, truncated_text, tone, length)
|
31 |
|
32 |
+
audio_files = []
|
33 |
transcript = ""
|
34 |
for item in script.dialogue:
|
35 |
audio_file = generate_audio(item.text, item.speaker)
|
36 |
+
audio_files.append(audio_file)
|
|
|
37 |
transcript += f"**{item.speaker}**: {item.text}\n\n"
|
|
|
38 |
|
39 |
+
# Combine audio files
|
40 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as combined_audio:
|
41 |
+
for audio_file in audio_files:
|
42 |
+
with open(audio_file, 'rb') as f:
|
43 |
+
combined_audio.write(f.read())
|
44 |
+
os.remove(audio_file) # Clean up individual audio files
|
45 |
|
46 |
+
return combined_audio.name, transcript
|
|
|
|
|
47 |
|
48 |
except Exception as e:
|
49 |
return None, f"An error occurred: {str(e)}"
|