eaysu commited on
Commit
2fc3324
·
1 Parent(s): 9132bb8

voice preset mechanism changed

Browse files
Files changed (1) hide show
  1. app.py +12 -7
app.py CHANGED
@@ -5,7 +5,7 @@ import numpy as np
5
 
6
  torch.set_num_threads(1)
7
 
8
- # Preload available models to optimize switching
9
  models = {
10
  "suno/bark": BarkModel.from_pretrained("suno/bark"),
11
  "suno/bark-small": BarkModel.from_pretrained("suno/bark-small")
@@ -29,7 +29,7 @@ voice_presets = {
29
 
30
  # Function to update voice presets based on selected language
31
  def update_voice_presets(language):
32
- return gr.Dropdown.update(choices=voice_presets[language])
33
 
34
  # Function to generate speech
35
  def generate_speech(text, model_name, voice_preset):
@@ -50,17 +50,22 @@ with gr.Blocks() as app:
50
  # Language selection
51
  language_input = gr.Dropdown(
52
  ["English", "French", "German", "Turkish"],
53
- label="Select Language"
 
54
  )
55
 
56
  # Textbox for user input
57
  text_input = gr.Textbox(label="Enter Text", placeholder="Type something to synthesize...")
58
 
59
  # Model selection
60
- model_preset_input = gr.Dropdown(["suno/bark", "suno/bark-small"], label="Select Model")
61
 
62
- # Voice preset dropdown (will be updated based on language)
63
- voice_preset_input = gr.Dropdown(choices=[], label="Select Voice Preset")
 
 
 
 
64
 
65
  # Button to generate voice
66
  generate_button = gr.Button("Generate Voice")
@@ -69,7 +74,7 @@ with gr.Blocks() as app:
69
  audio_output = gr.Audio(label="Generated Voice", type="numpy")
70
 
71
  # Set dynamic update on language selection
72
- language_input.change(lambda lang: {"choices": voice_presets[lang]}, inputs=language_input, outputs=voice_preset_input)
73
 
74
  # Generate voice on button click
75
  generate_button.click(
 
5
 
6
  torch.set_num_threads(1)
7
 
8
+ # Preload available models
9
  models = {
10
  "suno/bark": BarkModel.from_pretrained("suno/bark"),
11
  "suno/bark-small": BarkModel.from_pretrained("suno/bark-small")
 
29
 
30
  # Function to update voice presets based on selected language
31
  def update_voice_presets(language):
32
+ return gr.Dropdown.update(choices=voice_presets[language], value=voice_presets[language][0])
33
 
34
  # Function to generate speech
35
  def generate_speech(text, model_name, voice_preset):
 
50
  # Language selection
51
  language_input = gr.Dropdown(
52
  ["English", "French", "German", "Turkish"],
53
+ label="Select Language",
54
+ value="English"
55
  )
56
 
57
  # Textbox for user input
58
  text_input = gr.Textbox(label="Enter Text", placeholder="Type something to synthesize...")
59
 
60
  # Model selection
61
+ model_preset_input = gr.Dropdown(["suno/bark", "suno/bark-small"], label="Select Model", value="suno/bark-small")
62
 
63
+ # Voice preset dropdown (initially set to English presets)
64
+ voice_preset_input = gr.Dropdown(
65
+ choices=voice_presets["English"],
66
+ label="Select Voice Preset",
67
+ value=voice_presets["English"][0]
68
+ )
69
 
70
  # Button to generate voice
71
  generate_button = gr.Button("Generate Voice")
 
74
  audio_output = gr.Audio(label="Generated Voice", type="numpy")
75
 
76
  # Set dynamic update on language selection
77
+ language_input.change(update_voice_presets, inputs=language_input, outputs=voice_preset_input)
78
 
79
  # Generate voice on button click
80
  generate_button.click(