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,
|