asigalov61 commited on
Commit
d3532ff
·
verified ·
1 Parent(s): 44c4382

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -5
app.py CHANGED
@@ -25,6 +25,8 @@ print('Loading main MIDI Remixer modules...')
25
 
26
  import TMIDIX
27
 
 
 
28
  from midi_to_colab_audio import midi_to_colab_audio
29
 
30
  from huggingface_hub import hf_hub_download
@@ -48,8 +50,25 @@ SOUDFONT_PATH = 'SGM-v2.01-YamahaGrand-Guit-Bass-v2.7.sf2'
48
 
49
  #==================================================================================
50
 
 
 
51
  midi_cores_dataset = load_dataset("asigalov61/MIDI-Cores")
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  #==================================================================================
54
 
55
  def load_midi(midi_file):
@@ -92,10 +111,31 @@ def load_midi(midi_file):
92
 
93
  #==================================================================================
94
 
95
- def Remix_MIDI(input_midi,
96
- chords_chunks_len,
97
- num_mix_chunks
98
- ):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
  #===============================================================================
101
 
@@ -334,7 +374,7 @@ with gr.Blocks() as demo:
334
  output_plot = gr.Plot(label="MIDI score plot")
335
  output_midi = gr.File(label="MIDI file", file_types=[".mid"])
336
 
337
- mix_btn.click(Remix_MIDI,
338
  [input_midi,
339
  chords_chunks_len,
340
  num_mix_chunks
 
25
 
26
  import TMIDIX
27
 
28
+ import numpy as np
29
+
30
  from midi_to_colab_audio import midi_to_colab_audio
31
 
32
  from huggingface_hub import hf_hub_download
 
50
 
51
  #==================================================================================
52
 
53
+ print('=' * 70)
54
+
55
  midi_cores_dataset = load_dataset("asigalov61/MIDI-Cores")
56
 
57
+ print('=' * 70)
58
+ print('Prepping MIDI cores data...')
59
+ print('=' * 70)
60
+
61
+ all_core_chords = []
62
+
63
+ for entry in tqdm.tqdm(midi_cores_dataset['train']):
64
+ all_core_chords.append(entry['core_chords'])
65
+
66
+ all_core_chords = np.array(all_core_chords)
67
+
68
+ print('=' * 70)
69
+ print('Done!')
70
+ print('=' * 70)
71
+
72
  #==================================================================================
73
 
74
  def load_midi(midi_file):
 
111
 
112
  #==================================================================================
113
 
114
+ def find_max_exact_match(src, trg):
115
+ """
116
+ Find the row in the 2D trg array that has the maximum number of exact element matches with the 1D src array.
117
+
118
+ Parameters:
119
+ src (numpy.ndarray): 1D source array.
120
+ trg (numpy.ndarray): 2D target array.
121
+
122
+ Returns:
123
+ int: Index of the row in trg that has the maximum number of exact matches with src.
124
+ """
125
+ # Compare src with each row in trg and count exact matches
126
+ match_counts = np.sum(trg == src, axis=1)
127
+
128
+ # Find the index of the row with the maximum number of matches
129
+ max_match_idx = np.argmax(match_counts)
130
+
131
+ return max_match_idx
132
+
133
+ #==================================================================================
134
+
135
+ def Match_Cores(input_midi,
136
+ chords_chunks_len,
137
+ num_mix_chunks
138
+ ):
139
 
140
  #===============================================================================
141
 
 
374
  output_plot = gr.Plot(label="MIDI score plot")
375
  output_midi = gr.File(label="MIDI file", file_types=[".mid"])
376
 
377
+ mix_btn.click(Match_Cores,
378
  [input_midi,
379
  chords_chunks_len,
380
  num_mix_chunks