Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -142,17 +142,30 @@ class VoiceSynthesizer:
|
|
142 |
if self.reference_voice is not None:
|
143 |
# Use saved reference voice file
|
144 |
history_prompt = self.reference_voice
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
# Generate audio with or without history prompt
|
150 |
try:
|
|
|
151 |
if history_prompt:
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
156 |
else:
|
157 |
# Fallback to default generation
|
158 |
audio_array = generate_audio(text)
|
@@ -254,11 +267,12 @@ def create_interface():
|
|
254 |
with gr.Row():
|
255 |
bark_preset = gr.Dropdown(
|
256 |
choices=[
|
257 |
-
"v2/en_speaker_6 (Female)",
|
258 |
-
"v2/en_speaker_3 (Male)",
|
259 |
-
"v2/en_speaker_9 (Neutral)"
|
260 |
],
|
261 |
label="Bark Voice Preset",
|
|
|
262 |
visible=True
|
263 |
)
|
264 |
|
@@ -311,6 +325,10 @@ def create_interface():
|
|
311 |
# Select appropriate preset
|
312 |
preset = bark_preset if "bark" in model else speecht5_preset
|
313 |
|
|
|
|
|
|
|
|
|
314 |
return synthesizer.generate_speech(
|
315 |
text,
|
316 |
model_name=model_map[model],
|
|
|
142 |
if self.reference_voice is not None:
|
143 |
# Use saved reference voice file
|
144 |
history_prompt = self.reference_voice
|
145 |
+
|
146 |
+
# If no reference voice, use preset
|
147 |
+
if history_prompt is None and voice_preset:
|
148 |
+
# Extract the actual preset value
|
149 |
+
if isinstance(voice_preset, str):
|
150 |
+
# Remove any additional text in parentheses
|
151 |
+
preset_value = voice_preset.split(' ')[0]
|
152 |
+
history_prompt = preset_value if preset_value in voice_presets else voice_presets[0]
|
153 |
+
else:
|
154 |
+
history_prompt = voice_presets[0]
|
155 |
|
156 |
# Generate audio with or without history prompt
|
157 |
try:
|
158 |
+
# Attempt generation with different approaches
|
159 |
if history_prompt:
|
160 |
+
try:
|
161 |
+
audio_array = generate_audio(
|
162 |
+
text,
|
163 |
+
history_prompt=history_prompt
|
164 |
+
)
|
165 |
+
except Exception as preset_error:
|
166 |
+
print(f"Error with specific history prompt: {preset_error}")
|
167 |
+
# Fallback to default generation
|
168 |
+
audio_array = generate_audio(text)
|
169 |
else:
|
170 |
# Fallback to default generation
|
171 |
audio_array = generate_audio(text)
|
|
|
267 |
with gr.Row():
|
268 |
bark_preset = gr.Dropdown(
|
269 |
choices=[
|
270 |
+
"v2/en_speaker_6 (Female Voice)",
|
271 |
+
"v2/en_speaker_3 (Male Voice)",
|
272 |
+
"v2/en_speaker_9 (Neutral Voice)"
|
273 |
],
|
274 |
label="Bark Voice Preset",
|
275 |
+
value="v2/en_speaker_6 (Female Voice)",
|
276 |
visible=True
|
277 |
)
|
278 |
|
|
|
325 |
# Select appropriate preset
|
326 |
preset = bark_preset if "bark" in model else speecht5_preset
|
327 |
|
328 |
+
# Extract preset value if it's a string with additional info
|
329 |
+
if isinstance(preset, str):
|
330 |
+
preset = preset.split(' ')[0]
|
331 |
+
|
332 |
return synthesizer.generate_speech(
|
333 |
text,
|
334 |
model_name=model_map[model],
|