asigalov61 commited on
Commit
e4d1c33
1 Parent(s): ac062f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -3
app.py CHANGED
@@ -125,6 +125,8 @@ def Mix_Melody(input_midi,
125
  input_output_as_solo_piano,
126
  input_remove_drums,
127
  input_output_tempo,
 
 
128
  input_transpose_value
129
  ):
130
 
@@ -137,6 +139,8 @@ def Mix_Melody(input_midi,
137
  fn = os.path.basename(input_midi.name)
138
  fn1 = fn.split('.')[0]
139
 
 
 
140
  print('-' * 70)
141
  print('Input file name:', fn)
142
  print('Find best matches', input_find_best_match)
@@ -145,6 +149,8 @@ def Mix_Melody(input_midi,
145
  print('Output as Solo Piano:', input_output_as_solo_piano)
146
  print('Remove drums:', input_remove_drums)
147
  print('Output tempo:', input_output_tempo)
 
 
148
  print('Transpose value:', input_transpose_value)
149
  print('-' * 70)
150
 
@@ -167,6 +173,12 @@ def Mix_Melody(input_midi,
167
 
168
  src_melody = [c[0] for c in src_cscore][:256]
169
 
 
 
 
 
 
 
170
  mel_avg_time = TMIDIX.escore_notes_averages(src_melody)[0]
171
 
172
  src_melody_pitches = [p[4] for p in src_melody]
@@ -302,9 +314,18 @@ def Mix_Melody(input_midi,
302
 
303
  mixed_song = TMIDIX.adjust_escore_notes_timings(mixed_song, time_k)
304
 
 
 
 
 
 
 
305
  if input_transpose_value != 0:
306
  mixed_song = TMIDIX.transpose_escore_notes(mixed_song, input_transpose_value)
307
-
 
 
 
308
  #===============================================================================
309
  print('Rendering results...')
310
 
@@ -397,7 +418,10 @@ if __name__ == "__main__":
397
  input_output_as_solo_piano = gr.Checkbox(label="Output as Solo Piano", value=False)
398
  input_remove_drums = gr.Checkbox(label="Remove drums from output", value=False)
399
  input_output_tempo = gr.Radio(["Mix Melody", "Source Melody", "Mix"], value="Mix Melody", label="Output tempo")
 
 
400
  input_transpose_value = gr.Slider(-12, 12, value=0, step=1, label="Transpose value")
 
401
 
402
  run_btn = gr.Button("mix melody", variant="primary")
403
 
@@ -417,13 +441,15 @@ if __name__ == "__main__":
417
  input_output_as_solo_piano,
418
  input_remove_drums,
419
  input_output_tempo,
 
 
420
  input_transpose_value
421
  ],
422
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
423
 
424
  gr.Examples(
425
- [["Abracadabra-Sample-Melody.mid", True, True, True, False, False, "Mix Melody", 0],
426
- ["Sparks-Fly-Sample-Melody.mid", True, True, True, False, False, "Mix Melody", 0],
427
  ],
428
  [input_midi,
429
  input_find_best_match,
@@ -432,6 +458,8 @@ if __name__ == "__main__":
432
  input_output_as_solo_piano,
433
  input_remove_drums,
434
  input_output_tempo,
 
 
435
  input_transpose_value
436
  ],
437
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],
 
125
  input_output_as_solo_piano,
126
  input_remove_drums,
127
  input_output_tempo,
128
+ input_transform,
129
+ input_transpose_to_C4,
130
  input_transpose_value
131
  ):
132
 
 
139
  fn = os.path.basename(input_midi.name)
140
  fn1 = fn.split('.')[0]
141
 
142
+ print('-' * 70)
143
+ print('Requested settings:')
144
  print('-' * 70)
145
  print('Input file name:', fn)
146
  print('Find best matches', input_find_best_match)
 
149
  print('Output as Solo Piano:', input_output_as_solo_piano)
150
  print('Remove drums:', input_remove_drums)
151
  print('Output tempo:', input_output_tempo)
152
+ print('Transform:', input_transform)
153
+ print('Transpose to C4:', input_transpose_to_C4)
154
  print('Transpose value:', input_transpose_value)
155
  print('-' * 70)
156
 
 
173
 
174
  src_melody = [c[0] for c in src_cscore][:256]
175
 
176
+ if input_transform == 'Flip Melody':
177
+ src_melody = TMIDIX.flip_enhanced_score_notes(src_melody)
178
+
179
+ elif input_transform == 'Reverse Melody':
180
+ src_melody = TMIDIX.reverse_enhanced_score_notes(src_melody)
181
+
182
  mel_avg_time = TMIDIX.escore_notes_averages(src_melody)[0]
183
 
184
  src_melody_pitches = [p[4] for p in src_melody]
 
314
 
315
  mixed_song = TMIDIX.adjust_escore_notes_timings(mixed_song, time_k)
316
 
317
+ if input_transform == 'Flip Mix':
318
+ mixed_song = TMIDIX.flip_enhanced_score_notes(mixed_song)
319
+
320
+ elif input_transform == 'Reverse Mix':
321
+ mixed_song = TMIDIX.reverse_enhanced_score_notes(mixed_song)
322
+
323
  if input_transpose_value != 0:
324
  mixed_song = TMIDIX.transpose_escore_notes(mixed_song, input_transpose_value)
325
+
326
+ if input_transpose_to_C4:
327
+ mixed_song = TMIDIX.transpose_escore_notes_to_pitch(mixed_song)
328
+
329
  #===============================================================================
330
  print('Rendering results...')
331
 
 
418
  input_output_as_solo_piano = gr.Checkbox(label="Output as Solo Piano", value=False)
419
  input_remove_drums = gr.Checkbox(label="Remove drums from output", value=False)
420
  input_output_tempo = gr.Radio(["Mix Melody", "Source Melody", "Mix"], value="Mix Melody", label="Output tempo")
421
+ input_transform = gr.Radio(["As-is", "Flip Melody", "Reverse Melody", "Flip Mix", "Reverse Mix"], value="As-is", label="Transform")
422
+ input_transpose_to_C4 = gr.Checkbox(label="Transpose to C4", value=False)
423
  input_transpose_value = gr.Slider(-12, 12, value=0, step=1, label="Transpose value")
424
+
425
 
426
  run_btn = gr.Button("mix melody", variant="primary")
427
 
 
441
  input_output_as_solo_piano,
442
  input_remove_drums,
443
  input_output_tempo,
444
+ input_transform,
445
+ input_transpose_to_C4,
446
  input_transpose_value
447
  ],
448
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot])
449
 
450
  gr.Examples(
451
+ [["Abracadabra-Sample-Melody.mid", True, True, True, False, False, "Mix Melody", "As-is", False, 0],
452
+ ["Sparks-Fly-Sample-Melody.mid", True, True, True, False, False, "Mix Melody", "As-is", False, 0],
453
  ],
454
  [input_midi,
455
  input_find_best_match,
 
458
  input_output_as_solo_piano,
459
  input_remove_drums,
460
  input_output_tempo,
461
+ input_transform,
462
+ input_transpose_to_C4,
463
  input_transpose_value
464
  ],
465
  [output_midi_title, output_midi_summary, output_midi, output_audio, output_plot],