Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -11,7 +11,9 @@ from datetime import datetime
|
|
11 |
|
12 |
# Import our custom modules
|
13 |
from segmenter import TextSegmenter
|
14 |
-
|
|
|
|
|
15 |
from audio_utils import AudioProcessor
|
16 |
|
17 |
# Configure logging
|
@@ -21,7 +23,9 @@ logger = logging.getLogger(__name__)
|
|
21 |
class PodXplainApp:
|
22 |
def __init__(self):
|
23 |
self.segmenter = TextSegmenter()
|
24 |
-
|
|
|
|
|
25 |
self.audio_processor = AudioProcessor()
|
26 |
self.temp_dir = None
|
27 |
|
@@ -169,12 +173,15 @@ def create_gradio_interface():
|
|
169 |
}
|
170 |
"""
|
171 |
|
172 |
-
with gr.Blocks(css=css, title="
|
173 |
# Header
|
174 |
gr.HTML("""
|
175 |
<div class="header">
|
176 |
-
<h1>ποΈ
|
177 |
-
<p><em>From script to story β voice it like never before.</em></p>
|
|
|
|
|
|
|
178 |
</div>
|
179 |
""")
|
180 |
|
@@ -222,7 +229,7 @@ def create_gradio_interface():
|
|
222 |
# Footer with instructions
|
223 |
gr.HTML("""
|
224 |
<div class="footer">
|
225 |
-
<h3>π How to Use
|
226 |
<ol>
|
227 |
<li><strong>Write your script:</strong> Enter up to 50,000 characters of text</li>
|
228 |
<li><strong>Choose speaker mode:</strong> Auto-detect, paragraph-based, or dialogue-based</li>
|
@@ -231,6 +238,8 @@ def create_gradio_interface():
|
|
231 |
</ol>
|
232 |
<p><strong>π‘ Tips:</strong> Use clear paragraph breaks for better speaker detection.
|
233 |
Write naturally as if speaking to an audience.</p>
|
|
|
|
|
234 |
</div>
|
235 |
""")
|
236 |
|
|
|
11 |
|
12 |
# Import our custom modules
|
13 |
from segmenter import TextSegmenter
|
14 |
+
# --- CHANGE START ---
|
15 |
+
from tts_engine import CPUMultiSpeakerTTS # Updated class name
|
16 |
+
# --- CHANGE END ---
|
17 |
from audio_utils import AudioProcessor
|
18 |
|
19 |
# Configure logging
|
|
|
23 |
class PodXplainApp:
|
24 |
def __init__(self):
|
25 |
self.segmenter = TextSegmenter()
|
26 |
+
# --- CHANGE START ---
|
27 |
+
self.tts_engine = CPUMultiSpeakerTTS() # Updated class instantiation
|
28 |
+
# --- CHANGE END ---
|
29 |
self.audio_processor = AudioProcessor()
|
30 |
self.temp_dir = None
|
31 |
|
|
|
173 |
}
|
174 |
"""
|
175 |
|
176 |
+
with gr.Blocks(css=css, title="PodXplainClone - CPU Podcast Generator") as interface: # Updated title
|
177 |
# Header
|
178 |
gr.HTML("""
|
179 |
<div class="header">
|
180 |
+
<h1>ποΈ PodXplainClone</h1>
|
181 |
+
<p><em>From script to story β voice it like never before, even on CPU.</em></p> <p style="font-size: 0.9em; margin-top: 10px;">
|
182 |
+
This space allows you to transform written dialogue into natural-sounding multi-speaker audio, optimized for CPU hardware.
|
183 |
+
It serves as a **CPU-friendly alternative and development sandbox** while the main PodXplain project awaits GPU resources for more advanced models.
|
184 |
+
</p>
|
185 |
</div>
|
186 |
""")
|
187 |
|
|
|
229 |
# Footer with instructions
|
230 |
gr.HTML("""
|
231 |
<div class="footer">
|
232 |
+
<h3>π How to Use PodXplainClone</h3>
|
233 |
<ol>
|
234 |
<li><strong>Write your script:</strong> Enter up to 50,000 characters of text</li>
|
235 |
<li><strong>Choose speaker mode:</strong> Auto-detect, paragraph-based, or dialogue-based</li>
|
|
|
238 |
</ol>
|
239 |
<p><strong>π‘ Tips:</strong> Use clear paragraph breaks for better speaker detection.
|
240 |
Write naturally as if speaking to an audience.</p>
|
241 |
+
<p style="font-size: 0.8em; color: #999;">Powered by PodXplainClone • Developed by Nick021402</p>
|
242 |
+
<p style="font-size: 0.7em; color: #aaa;">This space runs on CPU hardware for accessibility. For the original project and GPU-powered advanced models, visit the main PodXplain space.</p>
|
243 |
</div>
|
244 |
""")
|
245 |
|