Update app.py
Browse files
app.py
CHANGED
@@ -27,7 +27,7 @@ import matplotlib.pyplot as plt
|
|
27 |
# =================================================================================================
|
28 |
|
29 |
@spaces.GPU
|
30 |
-
def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords
|
31 |
print('=' * 70)
|
32 |
print('Req start time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
|
33 |
start_time = reqtime.time()
|
@@ -88,7 +88,6 @@ def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords, in
|
|
88 |
print('Input file name:', fn)
|
89 |
print('Num prime chords:', input_num_prime_chords)
|
90 |
print('Num gen chords:', input_num_gen_chords)
|
91 |
-
print('Conditioning type:', input_conditioning_type)
|
92 |
print('=' * 70)
|
93 |
|
94 |
#===============================================================================
|
@@ -290,8 +289,6 @@ def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords, in
|
|
290 |
print('=' * 70)
|
291 |
print('Generating...')
|
292 |
|
293 |
-
temperature=0.9
|
294 |
-
|
295 |
output = []
|
296 |
|
297 |
for m in melody_chords2[:input_num_prime_chords]:
|
@@ -299,29 +296,24 @@ def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords, in
|
|
299 |
|
300 |
for ct in tqdm.tqdm(melody_chords2[input_num_prime_chords:input_num_prime_chords+input_num_gen_chords]):
|
301 |
|
302 |
-
|
303 |
-
output.extend(ct[:1])
|
304 |
-
|
305 |
-
else:
|
306 |
-
output.extend(ct[:2])
|
307 |
|
308 |
-
y =
|
309 |
|
310 |
-
while y >
|
311 |
|
312 |
x = torch.LongTensor(output).to(DEVICE)
|
313 |
|
314 |
with ctx:
|
315 |
out = model.generate(x,
|
316 |
1,
|
317 |
-
temperature=
|
318 |
-
eos_token=2237,
|
319 |
return_prime=False,
|
320 |
verbose=False)
|
321 |
|
322 |
y = out.tolist()[0][0]
|
323 |
|
324 |
-
if y >
|
325 |
output.append(y)
|
326 |
|
327 |
print('=' * 70)
|
@@ -458,8 +450,7 @@ if __name__ == "__main__":
|
|
458 |
|
459 |
input_midi = gr.File(label="Input MIDI", file_types=[".midi", ".mid", ".kar"])
|
460 |
input_num_prime_chords = gr.Slider(1, 128, value=1, step=1, label="Number of prime chords")
|
461 |
-
input_num_gen_chords = gr.Slider(4, 256, value=
|
462 |
-
input_conditioning_type = gr.Radio(["Chords", "Chords-Times"], value="Chords", label="Conditioning type")
|
463 |
|
464 |
run_btn = gr.Button("Generate Chords", variant="primary")
|
465 |
|
@@ -471,24 +462,24 @@ if __name__ == "__main__":
|
|
471 |
output_plot = gr.Plot(label="Output MIDI score plot")
|
472 |
output_midi = gr.File(label="Output MIDI file", file_types=[".mid"])
|
473 |
|
474 |
-
run_event = run_btn.click(Generate_Chords, [input_midi, input_num_prime_chords, input_num_gen_chords
|
475 |
[output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
|
476 |
|
477 |
gr.Examples(
|
478 |
-
[["Chords-Progressions-Transformer-Piano-Seed-1.mid", 16, 128
|
479 |
-
["Chords-Progressions-Transformer-Piano-Seed-2.mid",
|
480 |
-
["Chords-Progressions-Transformer-Piano-Seed-3.mid", 16, 128
|
481 |
-
["Chords-Progressions-Transformer-Piano-Seed-4.mid",
|
482 |
-
["Chords-Progressions-Transformer-Piano-Seed-5.mid", 16, 128
|
483 |
-
["Chords-Progressions-Transformer-Piano-Seed-6.mid",
|
484 |
-
["Chords-Progressions-Transformer-MI-Seed-1.mid", 16, 128
|
485 |
-
["Chords-Progressions-Transformer-MI-Seed-2.mid",
|
486 |
-
["Chords-Progressions-Transformer-MI-Seed-3.mid", 16, 128
|
487 |
-
["Chords-Progressions-Transformer-MI-Seed-4.mid",
|
488 |
-
["Chords-Progressions-Transformer-MI-Seed-5.mid", 16, 128
|
489 |
-
["Chords-Progressions-Transformer-MI-Seed-6.mid",
|
490 |
],
|
491 |
-
[input_midi, input_num_prime_chords, input_num_gen_chords
|
492 |
[output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],
|
493 |
Generate_Chords,
|
494 |
cache_examples=True,
|
|
|
27 |
# =================================================================================================
|
28 |
|
29 |
@spaces.GPU
|
30 |
+
def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords):
|
31 |
print('=' * 70)
|
32 |
print('Req start time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
|
33 |
start_time = reqtime.time()
|
|
|
88 |
print('Input file name:', fn)
|
89 |
print('Num prime chords:', input_num_prime_chords)
|
90 |
print('Num gen chords:', input_num_gen_chords)
|
|
|
91 |
print('=' * 70)
|
92 |
|
93 |
#===============================================================================
|
|
|
289 |
print('=' * 70)
|
290 |
print('Generating...')
|
291 |
|
|
|
|
|
292 |
output = []
|
293 |
|
294 |
for m in melody_chords2[:input_num_prime_chords]:
|
|
|
296 |
|
297 |
for ct in tqdm.tqdm(melody_chords2[input_num_prime_chords:input_num_prime_chords+input_num_gen_chords]):
|
298 |
|
299 |
+
output.extend(ct[:2])
|
|
|
|
|
|
|
|
|
300 |
|
301 |
+
y = 774
|
302 |
|
303 |
+
while y > 773:
|
304 |
|
305 |
x = torch.LongTensor(output).to(DEVICE)
|
306 |
|
307 |
with ctx:
|
308 |
out = model.generate(x,
|
309 |
1,
|
310 |
+
temperature=0.9,
|
|
|
311 |
return_prime=False,
|
312 |
verbose=False)
|
313 |
|
314 |
y = out.tolist()[0][0]
|
315 |
|
316 |
+
if y > 773:
|
317 |
output.append(y)
|
318 |
|
319 |
print('=' * 70)
|
|
|
450 |
|
451 |
input_midi = gr.File(label="Input MIDI", file_types=[".midi", ".mid", ".kar"])
|
452 |
input_num_prime_chords = gr.Slider(1, 128, value=1, step=1, label="Number of prime chords")
|
453 |
+
input_num_gen_chords = gr.Slider(4, 256, value=128, step=1, label="Number of composition chords to generate progression for")
|
|
|
454 |
|
455 |
run_btn = gr.Button("Generate Chords", variant="primary")
|
456 |
|
|
|
462 |
output_plot = gr.Plot(label="Output MIDI score plot")
|
463 |
output_midi = gr.File(label="Output MIDI file", file_types=[".mid"])
|
464 |
|
465 |
+
run_event = run_btn.click(Generate_Chords, [input_midi, input_num_prime_chords, input_num_gen_chords],
|
466 |
[output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
|
467 |
|
468 |
gr.Examples(
|
469 |
+
[["Chords-Progressions-Transformer-Piano-Seed-1.mid", 16, 128],
|
470 |
+
["Chords-Progressions-Transformer-Piano-Seed-2.mid", 1, 128],
|
471 |
+
["Chords-Progressions-Transformer-Piano-Seed-3.mid", 16, 128],
|
472 |
+
["Chords-Progressions-Transformer-Piano-Seed-4.mid", 1, 128],
|
473 |
+
["Chords-Progressions-Transformer-Piano-Seed-5.mid", 16, 128],
|
474 |
+
["Chords-Progressions-Transformer-Piano-Seed-6.mid", 1, 128],
|
475 |
+
["Chords-Progressions-Transformer-MI-Seed-1.mid", 16, 128],
|
476 |
+
["Chords-Progressions-Transformer-MI-Seed-2.mid", 1, 128],
|
477 |
+
["Chords-Progressions-Transformer-MI-Seed-3.mid", 16, 128],
|
478 |
+
["Chords-Progressions-Transformer-MI-Seed-4.mid", 1, 128],
|
479 |
+
["Chords-Progressions-Transformer-MI-Seed-5.mid", 16, 128],
|
480 |
+
["Chords-Progressions-Transformer-MI-Seed-6.mid", 1, 128]
|
481 |
],
|
482 |
+
[input_midi, input_num_prime_chords, input_num_gen_chords],
|
483 |
[output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],
|
484 |
Generate_Chords,
|
485 |
cache_examples=True,
|