Spaces:
Runtime error
Runtime error
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],
|