Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -115,6 +115,8 @@ def load_midi(input_midi):
|
|
115 |
if escore_notes:
|
116 |
|
117 |
escore_notes = TMIDIX.augment_enhanced_score_notes(escore_notes[0], sort_drums_last=True)
|
|
|
|
|
118 |
|
119 |
dscore = TMIDIX.delta_score_notes(escore_notes)
|
120 |
|
@@ -213,43 +215,53 @@ def Generate_Drums(input_midi,
|
|
213 |
|
214 |
print('Loading MIDI...')
|
215 |
|
216 |
-
score = load_midi(input_midi.name)
|
217 |
|
218 |
-
if score is not None:
|
219 |
|
220 |
print('Sample score tokens', score[:10])
|
221 |
|
222 |
#==================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
#==================================================================
|
233 |
|
234 |
print('=' * 70)
|
235 |
print('Generating...')
|
|
|
|
|
236 |
|
237 |
-
|
238 |
-
|
239 |
-
with ctx:
|
240 |
-
out = model.generate(x,
|
241 |
-
641,
|
242 |
-
temperature=model_temperature,
|
243 |
-
filter_logits_fn=top_p,
|
244 |
-
filter_kwargs={'thres': model_sampling_top_p},
|
245 |
-
return_prime=False,
|
246 |
-
eos_token=18818,
|
247 |
-
verbose=False)
|
248 |
|
249 |
-
|
|
|
|
|
250 |
|
251 |
-
final_song = left_chunk + y[64:-64] + right_chunk
|
252 |
-
|
253 |
#==================================================================
|
254 |
|
255 |
print('=' * 70)
|
|
|
115 |
if escore_notes:
|
116 |
|
117 |
escore_notes = TMIDIX.augment_enhanced_score_notes(escore_notes[0], sort_drums_last=True)
|
118 |
+
|
119 |
+
escore_notes = TMIDIX.recalculate_score_timings([e for e in escore_notes if e[3] != 9])
|
120 |
|
121 |
dscore = TMIDIX.delta_score_notes(escore_notes)
|
122 |
|
|
|
215 |
|
216 |
print('Loading MIDI...')
|
217 |
|
218 |
+
score, chords = load_midi(input_midi.name)
|
219 |
|
220 |
+
if score is not None and chords is not None:
|
221 |
|
222 |
print('Sample score tokens', score[:10])
|
223 |
|
224 |
#==================================================================
|
225 |
+
|
226 |
+
def gen_drums(seq):
|
227 |
+
|
228 |
+
y = 256
|
229 |
+
seq.append((128*128)+38+256) # Drum pitch
|
230 |
+
|
231 |
+
while y > 255:
|
232 |
+
|
233 |
+
x = torch.LongTensor(seq).to(device_type)
|
234 |
+
|
235 |
+
with ctx:
|
236 |
+
out = model.generate(x,
|
237 |
+
1,
|
238 |
+
temperature=model_temperature,
|
239 |
+
filter_logits_fn=top_p,
|
240 |
+
filter_kwargs={'thres': model_sampling_top_p},
|
241 |
+
return_prime=False,
|
242 |
+
eos_token=18818,
|
243 |
+
verbose=False)
|
244 |
|
245 |
+
y = out.tolist()[0]
|
246 |
+
|
247 |
+
if y > 255:
|
248 |
+
seq.append(y)
|
249 |
+
|
250 |
+
return seq
|
251 |
+
|
|
|
252 |
#==================================================================
|
253 |
|
254 |
print('=' * 70)
|
255 |
print('Generating...')
|
256 |
+
|
257 |
+
final_song = [18816]
|
258 |
|
259 |
+
for i in range(len(chords)):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
|
261 |
+
final_song.extend(chords[i])
|
262 |
+
|
263 |
+
final_song = gen_drums(final_song)
|
264 |
|
|
|
|
|
265 |
#==================================================================
|
266 |
|
267 |
print('=' * 70)
|