Rogerjs commited on
Commit
ee87e83
·
verified ·
1 Parent(s): 4479222

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -10
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
- elif voice_preset:
146
- # Use predefined voice preset
147
- history_prompt = voice_presets[0] if "v2/en_speaker" not in voice_preset else voice_preset
 
 
 
 
 
 
 
148
 
149
  # Generate audio with or without history prompt
150
  try:
 
151
  if history_prompt:
152
- audio_array = generate_audio(
153
- text,
154
- history_prompt=history_prompt
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],