Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -36,7 +36,7 @@ PDT = timezone('US/Pacific')
|
|
36 |
|
37 |
MODEL_CHECKPOINT = 'Orpheus_Music_Transformer_Trained_Model_91168_steps_0.63_loss_0.8352_acc.pth'
|
38 |
SOUDFONT_PATH = 'SGM-v2.01-YamahaGrand-Guit-Bass-v2.7.sf2'
|
39 |
-
NUM_OUT_BATCHES =
|
40 |
PREVIEW_LENGTH = 120 # in tokens
|
41 |
|
42 |
# -----------------------------
|
@@ -272,9 +272,9 @@ def save_midi(tokens):
|
|
272 |
# MUSIC GENERATION FUNCTION (Combined)
|
273 |
# -----------------------------
|
274 |
@spaces.GPU
|
275 |
-
def generate_music(prime, num_gen_tokens,
|
276 |
"""Generate music tokens given prime tokens and parameters."""
|
277 |
-
inputs = prime
|
278 |
print("Generating...")
|
279 |
inp = torch.LongTensor([inputs] * num_gen_batches).cuda()
|
280 |
with ctx:
|
@@ -293,7 +293,7 @@ def generate_music(prime, num_gen_tokens, num_mem_tokens, num_gen_batches, model
|
|
293 |
print_sep()
|
294 |
return out.tolist()
|
295 |
|
296 |
-
def generate_music_and_state(input_midi, num_prime_tokens, num_gen_tokens,
|
297 |
model_temperature, model_top_p, add_drums, add_outro, final_composition, generated_batches, block_lines):
|
298 |
"""
|
299 |
Generate tokens using the model, update the composition state, and prepare outputs.
|
@@ -310,7 +310,6 @@ def generate_music_and_state(input_midi, num_prime_tokens, num_gen_tokens, num_m
|
|
310 |
|
311 |
print('Num prime tokens:', num_prime_tokens)
|
312 |
print('Num gen tokens:', num_gen_tokens)
|
313 |
-
print('Num mem tokens:', num_mem_tokens)
|
314 |
|
315 |
print('Model temp:', model_temperature)
|
316 |
print('Model top p:', model_top_p)
|
@@ -414,10 +413,12 @@ def remove_batch(batch_number, num_tokens, final_composition, generated_batches,
|
|
414 |
|
415 |
def clear():
|
416 |
"""Clear outputs and reset state."""
|
|
|
417 |
return None, None, None, [], []
|
418 |
|
419 |
def reset(final_composition=[], generated_batches=[], block_lines=[]):
|
420 |
"""Reset composition state."""
|
|
|
421 |
return [], [], []
|
422 |
|
423 |
# -----------------------------
|
@@ -462,7 +463,6 @@ with gr.Blocks() as demo:
|
|
462 |
gr.Markdown("## Generate")
|
463 |
num_prime_tokens = gr.Slider(16, 7168, value=7168, step=1, label="Number of prime tokens")
|
464 |
num_gen_tokens = gr.Slider(16, 1024, value=512, step=1, label="Number of tokens to generate")
|
465 |
-
num_mem_tokens = gr.Slider(16, 8192, value=8192, step=1, label="Number of memory tokens")
|
466 |
model_temperature = gr.Slider(0.1, 1, value=0.9, step=0.01, label="Model temperature")
|
467 |
model_top_p = gr.Slider(0.1, 0.99, value=0.96, step=0.01, label="Model sampling top p value")
|
468 |
add_drums = gr.Checkbox(value=False, label="Add drums")
|
|
|
36 |
|
37 |
MODEL_CHECKPOINT = 'Orpheus_Music_Transformer_Trained_Model_91168_steps_0.63_loss_0.8352_acc.pth'
|
38 |
SOUDFONT_PATH = 'SGM-v2.01-YamahaGrand-Guit-Bass-v2.7.sf2'
|
39 |
+
NUM_OUT_BATCHES = 8
|
40 |
PREVIEW_LENGTH = 120 # in tokens
|
41 |
|
42 |
# -----------------------------
|
|
|
272 |
# MUSIC GENERATION FUNCTION (Combined)
|
273 |
# -----------------------------
|
274 |
@spaces.GPU
|
275 |
+
def generate_music(prime, num_gen_tokens, num_gen_batches, model_temperature, model_top_p):
|
276 |
"""Generate music tokens given prime tokens and parameters."""
|
277 |
+
inputs = prime if prime else [18816]
|
278 |
print("Generating...")
|
279 |
inp = torch.LongTensor([inputs] * num_gen_batches).cuda()
|
280 |
with ctx:
|
|
|
293 |
print_sep()
|
294 |
return out.tolist()
|
295 |
|
296 |
+
def generate_music_and_state(input_midi, num_prime_tokens, num_gen_tokens,
|
297 |
model_temperature, model_top_p, add_drums, add_outro, final_composition, generated_batches, block_lines):
|
298 |
"""
|
299 |
Generate tokens using the model, update the composition state, and prepare outputs.
|
|
|
310 |
|
311 |
print('Num prime tokens:', num_prime_tokens)
|
312 |
print('Num gen tokens:', num_gen_tokens)
|
|
|
313 |
|
314 |
print('Model temp:', model_temperature)
|
315 |
print('Model top p:', model_top_p)
|
|
|
413 |
|
414 |
def clear():
|
415 |
"""Clear outputs and reset state."""
|
416 |
+
print('Clear batch...')
|
417 |
return None, None, None, [], []
|
418 |
|
419 |
def reset(final_composition=[], generated_batches=[], block_lines=[]):
|
420 |
"""Reset composition state."""
|
421 |
+
print('Reset...')
|
422 |
return [], [], []
|
423 |
|
424 |
# -----------------------------
|
|
|
463 |
gr.Markdown("## Generate")
|
464 |
num_prime_tokens = gr.Slider(16, 7168, value=7168, step=1, label="Number of prime tokens")
|
465 |
num_gen_tokens = gr.Slider(16, 1024, value=512, step=1, label="Number of tokens to generate")
|
|
|
466 |
model_temperature = gr.Slider(0.1, 1, value=0.9, step=0.01, label="Model temperature")
|
467 |
model_top_p = gr.Slider(0.1, 0.99, value=0.96, step=0.01, label="Model sampling top p value")
|
468 |
add_drums = gr.Checkbox(value=False, label="Add drums")
|