asigalov61 commited on
Commit
2798081
·
verified ·
1 Parent(s): 8dfb8cd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -32
app.py CHANGED
@@ -27,7 +27,7 @@ import matplotlib.pyplot as plt
27
  # =================================================================================================
28
 
29
  @spaces.GPU
30
- def GenerateAccompaniment(input_midi, input_num_tokens, input_conditioning_type, input_strip_notes):
31
  print('=' * 70)
32
  print('Req start time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
33
  start_time = reqtime.time()
@@ -85,9 +85,9 @@ def GenerateAccompaniment(input_midi, input_num_tokens, input_conditioning_type,
85
 
86
  print('=' * 70)
87
  print('Input file name:', fn)
88
- print('Req num toks:', input_num_tokens)
 
89
  print('Conditioning type:', input_conditioning_type)
90
- print('Strip notes:', input_strip_notes)
91
  print('=' * 70)
92
 
93
  #===============================================================================
@@ -293,20 +293,22 @@ def GenerateAccompaniment(input_midi, input_num_tokens, input_conditioning_type,
293
 
294
  output = []
295
 
296
- num_prime_chords = 1
297
-
298
- for m in melody_chords2[:num_prime_chords]:
299
  output.extend(m)
300
 
301
- for ct in tqdm.tqdm(melody_chords2[num_prime_chords:]):
302
-
303
- output.extend(ct[:2])
304
-
 
 
 
 
305
  y = 646
306
 
307
  while y > 645:
308
 
309
- x = torch.tensor(song, dtype=torch.long, device=DEVICE)
310
 
311
  with ctx:
312
  out = model.generate(x,
@@ -420,10 +422,11 @@ def GenerateAccompaniment(input_midi, input_num_tokens, input_conditioning_type,
420
 
421
  #========================================================
422
 
423
- print('-' * 70)
424
  print('Req end time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
425
- print('-' * 70)
426
  print('Req execution time:', (reqtime.time() - start_time), 'sec')
 
427
 
428
  return output_midi_title, output_midi_summary, output_midi, output_audio, output_plot
429
 
@@ -453,11 +456,11 @@ if __name__ == "__main__":
453
  gr.Markdown("## Upload your MIDI or select a sample example MIDI")
454
 
455
  input_midi = gr.File(label="Input MIDI", file_types=[".midi", ".mid", ".kar"])
456
- input_num_tokens = gr.Slider(4, 128, value=32, step=1, label="Number of composition chords to generate progression for")
457
- input_conditioning_type = gr.Radio(["Chords", "Chords-Times", "Chords-Times-Durations"], value="Chords", label="Conditioning type")
458
- input_strip_notes = gr.Checkbox(label="Strip notes from the composition")
459
 
460
- run_btn = gr.Button("generate", variant="primary")
461
 
462
  gr.Markdown("## Generation results")
463
 
@@ -467,26 +470,26 @@ if __name__ == "__main__":
467
  output_plot = gr.Plot(label="Output MIDI score plot")
468
  output_midi = gr.File(label="Output MIDI file", file_types=[".mid"])
469
 
470
- run_event = run_btn.click(GenerateAccompaniment, [input_midi, input_num_tokens, input_conditioning_type, input_strip_notes],
471
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
472
 
473
  gr.Examples(
474
- [["Chords-Progressions-Transformer-Piano-Seed-1.mid", 128, "Chords", False],
475
- ["Chords-Progressions-Transformer-Piano-Seed-2.mid", 128, "Chords-Times", False],
476
- ["Chords-Progressions-Transformer-Piano-Seed-3.mid", 128, "Chords-Times-Durations", False],
477
- ["Chords-Progressions-Transformer-Piano-Seed-4.mid", 128, "Chords", False],
478
- ["Chords-Progressions-Transformer-Piano-Seed-5.mid", 128, "Chords-Times", False],
479
- ["Chords-Progressions-Transformer-Piano-Seed-6.mid", 128, "Chords-Times-Durations", False],
480
- ["Chords-Progressions-Transformer-MI-Seed-1.mid", 128, "Chords", False],
481
- ["Chords-Progressions-Transformer-MI-Seed-2.mid", 128, "Chords-Times", False],
482
- ["Chords-Progressions-Transformer-MI-Seed-3.mid", 128, "Chords-Times-Durations", False],
483
- ["Chords-Progressions-Transformer-MI-Seed-4.mid", 128, "Chords-Times", False],
484
- ["Chords-Progressions-Transformer-MI-Seed-5.mid", 128, "Chords", False],
485
- ["Chords-Progressions-Transformer-MI-Seed-6.mid", 128, "Chords-Times-Durations", False]
486
  ],
487
- [input_midi, input_num_tokens, input_conditioning_type, input_strip_notes],
488
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],
489
- GenerateAccompaniment,
490
  cache_examples=False,
491
  )
492
 
 
27
  # =================================================================================================
28
 
29
  @spaces.GPU
30
+ def Generate_Chords(input_midi, input_num_prime_chords, input_num_gen_chords, input_conditioning_type):
31
  print('=' * 70)
32
  print('Req start time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
33
  start_time = reqtime.time()
 
85
 
86
  print('=' * 70)
87
  print('Input file name:', fn)
88
+ print('Num prime chords:', input_num_prime_chords)
89
+ print('Num gen chords:', input_num_gen_chords)
90
  print('Conditioning type:', input_conditioning_type)
 
91
  print('=' * 70)
92
 
93
  #===============================================================================
 
293
 
294
  output = []
295
 
296
+ for m in melody_chords2[:input_num_prime_chords]:
 
 
297
  output.extend(m)
298
 
299
+ for ct in tqdm.tqdm(melody_chords2[input_num_prime_chords:]):
300
+
301
+ if input_conditioning_type == 'Chords':
302
+ output.extend(ct[:1])
303
+
304
+ else:
305
+ output.extend(ct[:2])
306
+
307
  y = 646
308
 
309
  while y > 645:
310
 
311
+ x = torch.LongTensor(song).to(DEVICE)
312
 
313
  with ctx:
314
  out = model.generate(x,
 
422
 
423
  #========================================================
424
 
425
+ print('=' * 70)
426
  print('Req end time: {:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now(PDT)))
427
+ print('=' * 70)
428
  print('Req execution time:', (reqtime.time() - start_time), 'sec')
429
+ print('*' * 70)
430
 
431
  return output_midi_title, output_midi_summary, output_midi, output_audio, output_plot
432
 
 
456
  gr.Markdown("## Upload your MIDI or select a sample example MIDI")
457
 
458
  input_midi = gr.File(label="Input MIDI", file_types=[".midi", ".mid", ".kar"])
459
+ input_num_prime_chords = gr.Slider(1, 128, value=1, step=1, label="Number of prime chords")
460
+ input_num_gen_chords = gr.Slider(4, 128, value=32, step=1, label="Number of composition chords to generate progression for")
461
+ input_conditioning_type = gr.Radio(["Chords", "Chords-Times"], value="Chords", label="Conditioning type")
462
 
463
+ run_btn = gr.Button("Generate Chords", variant="primary")
464
 
465
  gr.Markdown("## Generation results")
466
 
 
470
  output_plot = gr.Plot(label="Output MIDI score plot")
471
  output_midi = gr.File(label="Output MIDI file", file_types=[".mid"])
472
 
473
+ run_event = run_btn.click(Generate_Chords, [input_midi, input_num_prime_chords, input_num_gen_chords, input_conditioning_type],
474
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
475
 
476
  gr.Examples(
477
+ [["Chords-Progressions-Transformer-Piano-Seed-1.mid", 16, 128, "Chords"],
478
+ ["Chords-Progressions-Transformer-Piano-Seed-2.mid", 16, 128, "Chords-Times"],
479
+ ["Chords-Progressions-Transformer-Piano-Seed-3.mid", 16, 128, "Chords-Times"],
480
+ ["Chords-Progressions-Transformer-Piano-Seed-4.mid", 16, 128, "Chords"],
481
+ ["Chords-Progressions-Transformer-Piano-Seed-5.mid", 16, 128, "Chords-Times"],
482
+ ["Chords-Progressions-Transformer-Piano-Seed-6.mid", 16, 128, "Chords-Times"],
483
+ ["Chords-Progressions-Transformer-MI-Seed-1.mid", 16, 128, "Chords"],
484
+ ["Chords-Progressions-Transformer-MI-Seed-2.mid", 16, 128, "Chords-Times"],
485
+ ["Chords-Progressions-Transformer-MI-Seed-3.mid", 16, 128, "Chords-Times"],
486
+ ["Chords-Progressions-Transformer-MI-Seed-4.mid", 16, 128, "Chords-Times"],
487
+ ["Chords-Progressions-Transformer-MI-Seed-5.mid", 16, 128, "Chords"],
488
+ ["Chords-Progressions-Transformer-MI-Seed-6.mid", 16, 128, "Chords-Times"]
489
  ],
490
+ [input_midi, input_num_prime_chords, input_num_gen_chords, input_conditioning_type],
491
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],
492
+ Generate_Chords,
493
  cache_examples=False,
494
  )
495