Skip to content

Commit e4373c1

Browse files
committed
Update UI
segment length and max overlap
1 parent 7c2dfd3 commit e4373c1

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

app.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,9 @@ def load_melody_filepath(melody_filepath, title, assigned_model,topp, temperatur
137137
# get melody filename
138138
#$Union[str, os.PathLike]
139139
symbols = ['_', '.', '-']
140+
MAX_OVERLAP = int(segment_length // 2) - 1
140141
if (melody_filepath is None) or (melody_filepath == ""):
141-
return title, gr.update(maximum=0, value=0) , gr.update(value="medium", interactive=True), gr.update(value=topp), gr.update(value=temperature), gr.update(value=cfg_coef)
142+
return title, gr.update(maximum=0, value=0) , gr.update(value="medium", interactive=True), gr.update(value=topp), gr.update(value=temperature), gr.update(value=cfg_coef), gr.update(maximum=MAX_OVERLAP)
142143

143144
if (title is None) or ("MusicGen" in title) or (title == ""):
144145
melody_name, melody_extension = get_filename_from_filepath(melody_filepath)
@@ -163,9 +164,9 @@ def load_melody_filepath(melody_filepath, title, assigned_model,topp, temperatur
163164
segment_samples = sr * segment_length
164165
total_melodys = max(min((len(melody_data) // segment_samples), 25), 0)
165166
print(f"Melody length: {len(melody_data)}, Melody segments: {total_melodys}\n")
166-
MAX_PROMPT_INDEX = total_melodys
167-
168-
return gr.update(value=melody_name), gr.update(maximum=MAX_PROMPT_INDEX, value=0), gr.update(value=assigned_model, interactive=True), gr.update(value=topp), gr.update(value=temperature), gr.update(value=cfg_coef)
167+
MAX_PROMPT_INDEX = total_melodys
168+
169+
return gr.update(value=melody_name), gr.update(maximum=MAX_PROMPT_INDEX, value=0), gr.update(value=assigned_model, interactive=True), gr.update(value=topp), gr.update(value=temperature), gr.update(value=cfg_coef), gr.update(maximum=MAX_OVERLAP)
169170

170171
def predict(model, text, melody_filepath, duration, dimension, topk, topp, temperature, cfg_coef, background, title, settings_font, settings_font_color, seed, overlap=1, prompt_index = 0, include_title = True, include_settings = True, harmony_only = False, profile = gr.OAuthProfile, segment_length = 30, progress=gr.Progress(track_tqdm=True)):
171172
global MODEL, INTERRUPTED, INTERRUPTING, MOVE_TO_CPU
@@ -474,7 +475,7 @@ def ui(**kwargs):
474475
with gr.Accordion("Expert", open=False):
475476
with gr.Row():
476477
segment_length = gr.Slider(minimum=10, maximum=30, value=30, step=1,label="Music Generation Segment Length (s)", interactive=True,key="segment_length")
477-
overlap = gr.Slider(minimum=0, maximum=15, value=1, step=1, label="Segment Overlap", interactive=True)
478+
overlap = gr.Slider(minimum=0, maximum=14, value=1, step=1, label="Segment Overlap", interactive=True)
478479
dimension = gr.Slider(minimum=-2, maximum=2, value=2, step=1, label="Dimension", info="determines which direction to add new segements of audio. (1 = stack tracks, 2 = lengthen, -2..0 = ?)", interactive=True)
479480
with gr.Row():
480481
topk = gr.Number(label="Top-k", value=280, precision=0, interactive=True, info="more structured", key="topk")
@@ -491,10 +492,10 @@ def ui(**kwargs):
491492
seed_used = gr.Number(label='Seed used', value=-1, interactive=False)
492493

493494
radio.change(toggle_audio_src, radio, [melody_filepath], queue=False, show_progress=False)
494-
melody_filepath.change(load_melody_filepath, inputs=[melody_filepath, title, model,topp, temperature, cfg_coef, segment_length], outputs=[title, prompt_index , model, topp, temperature, cfg_coef], api_name="melody_filepath_change", queue=False)
495+
melody_filepath.change(load_melody_filepath, inputs=[melody_filepath, title, model,topp, temperature, cfg_coef, segment_length], outputs=[title, prompt_index , model, topp, temperature, cfg_coef, overlap], api_name="melody_filepath_change", queue=False)
495496
reuse_seed.click(fn=lambda x: x, inputs=[seed_used], outputs=[seed], queue=False, api_name="reuse_seed_click")
496497
autoplay_cb.change(fn=lambda x: gr.update(autoplay=x), inputs=[autoplay_cb], outputs=[output], queue=False, api_name="autoplay_cb_change")
497-
segment_length.release(fn=load_melody_filepath, queue=False, api_name="segment_length_change", trigger_mode="once", inputs=[melody_filepath, title, model,topp, temperature, cfg_coef, segment_length], outputs=[title, prompt_index , model, topp, temperature, cfg_coef], show_progress="minimal")
498+
segment_length.release(fn=load_melody_filepath, queue=False, api_name="segment_length_change", trigger_mode="once", inputs=[melody_filepath, title, model,topp, temperature, cfg_coef, segment_length], outputs=[title, prompt_index , model, topp, temperature, cfg_coef, overlap], show_progress="minimal")
498499

499500
gr.Examples(
500501
examples=[

0 commit comments

Comments
 (0)