Update app.py
Browse files
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],
|