Spaces:
Runtime error
Runtime error
add asigalov61/Music-Llama-Medium
Browse files
app.py
CHANGED
|
@@ -183,8 +183,8 @@ def run(model_name, tab, mid_seq, instruments, drum_kit, bpm, mid, midi_events,
|
|
| 183 |
yield mid_seq, None, None, seed, send_msgs(init_msgs)
|
| 184 |
t = time.time() + 1
|
| 185 |
midi_generator = generate(model, mid, max_len=max_len, temp=temp, top_p=top_p, top_k=top_k,
|
| 186 |
-
|
| 187 |
-
|
| 188 |
events = []
|
| 189 |
for i, token_seq in enumerate(midi_generator):
|
| 190 |
token_seq = token_seq.tolist()
|
|
@@ -192,7 +192,8 @@ def run(model_name, tab, mid_seq, instruments, drum_kit, bpm, mid, midi_events,
|
|
| 192 |
events.append(tokenizer.tokens2event(token_seq))
|
| 193 |
ct = time.time()
|
| 194 |
if ct - t > 0.5:
|
| 195 |
-
yield mid_seq, None, None, seed, send_msgs(
|
|
|
|
| 196 |
t = ct
|
| 197 |
events = []
|
| 198 |
|
|
@@ -247,6 +248,7 @@ def hf_hub_download_retry(repo_id, filename):
|
|
| 247 |
if err:
|
| 248 |
raise err
|
| 249 |
|
|
|
|
| 250 |
def get_tokenizer(config_name):
|
| 251 |
tv, size = config_name.split("-")
|
| 252 |
tv = tv[1:]
|
|
@@ -261,6 +263,7 @@ def get_tokenizer(config_name):
|
|
| 261 |
tokenizer.set_optimise_midi(o)
|
| 262 |
return tokenizer
|
| 263 |
|
|
|
|
| 264 |
number2drum_kits = {-1: "None", 0: "Standard", 8: "Room", 16: "Power", 24: "Electric", 25: "TR-808", 32: "Jazz",
|
| 265 |
40: "Blush", 48: "Orchestra"}
|
| 266 |
patch2number = {v: k for k, v in MIDI.Number2patch.items()}
|
|
@@ -273,10 +276,11 @@ if __name__ == "__main__":
|
|
| 273 |
parser.add_argument("--max-gen", type=int, default=1024, help="max")
|
| 274 |
opt = parser.parse_args()
|
| 275 |
soundfont_path = hf_hub_download_retry(repo_id="skytnt/midi-model", filename="soundfont.sf2")
|
| 276 |
-
models_info = {"generic pretrain model (tv2o-large)": ["asigalov61/Music-Llama", "", "tv2o-large"],
|
| 277 |
-
"generic pretrain model (
|
| 278 |
-
"
|
| 279 |
-
"
|
|
|
|
| 280 |
}
|
| 281 |
models = {}
|
| 282 |
providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
|
|
@@ -318,8 +322,8 @@ if __name__ == "__main__":
|
|
| 318 |
input_drum_kit = gr.Dropdown(label="🥁drum kit", choices=list(drum_kits2number.keys()), type="value",
|
| 319 |
value="None")
|
| 320 |
input_bpm = gr.Slider(label="BPM (beats per minute, auto if 0)", minimum=0, maximum=255,
|
| 321 |
-
|
| 322 |
-
|
| 323 |
example1 = gr.Examples([
|
| 324 |
[[], "None"],
|
| 325 |
[["Acoustic Grand"], "None"],
|
|
@@ -340,8 +344,10 @@ if __name__ == "__main__":
|
|
| 340 |
step=1,
|
| 341 |
value=128)
|
| 342 |
input_reduce_cc_st = gr.Checkbox(label="reduce control_change and set_tempo events", value=True)
|
| 343 |
-
input_remap_track_channel = gr.Checkbox(
|
| 344 |
-
|
|
|
|
|
|
|
| 345 |
input_remove_empty_channels = gr.Checkbox(label="remove channels without notes", value=False)
|
| 346 |
example2 = gr.Examples([[file, 128] for file in glob.glob("example/*.mid")],
|
| 347 |
[input_midi, input_midi_events])
|
|
@@ -375,7 +381,7 @@ if __name__ == "__main__":
|
|
| 375 |
input_top_k, input_allow_cc],
|
| 376 |
[output_midi_seq, output_midi, output_audio, input_seed, js_msg],
|
| 377 |
concurrency_limit=3)
|
| 378 |
-
stop_btn.click(cancel_run, [input_model,output_midi_seq],
|
| 379 |
[output_midi, output_audio, js_msg],
|
| 380 |
cancels=run_event, queue=False)
|
| 381 |
-
app.launch(server_port=opt.port, share=opt.share, inbrowser=True)
|
|
|
|
| 183 |
yield mid_seq, None, None, seed, send_msgs(init_msgs)
|
| 184 |
t = time.time() + 1
|
| 185 |
midi_generator = generate(model, mid, max_len=max_len, temp=temp, top_p=top_p, top_k=top_k,
|
| 186 |
+
disable_patch_change=disable_patch_change, disable_control_change=not allow_cc,
|
| 187 |
+
disable_channels=disable_channels, generator=generator)
|
| 188 |
events = []
|
| 189 |
for i, token_seq in enumerate(midi_generator):
|
| 190 |
token_seq = token_seq.tolist()
|
|
|
|
| 192 |
events.append(tokenizer.tokens2event(token_seq))
|
| 193 |
ct = time.time()
|
| 194 |
if ct - t > 0.5:
|
| 195 |
+
yield mid_seq, None, None, seed, send_msgs(
|
| 196 |
+
[create_msg("visualizer_append", events), create_msg("progress", [i + 1, gen_events])])
|
| 197 |
t = ct
|
| 198 |
events = []
|
| 199 |
|
|
|
|
| 248 |
if err:
|
| 249 |
raise err
|
| 250 |
|
| 251 |
+
|
| 252 |
def get_tokenizer(config_name):
|
| 253 |
tv, size = config_name.split("-")
|
| 254 |
tv = tv[1:]
|
|
|
|
| 263 |
tokenizer.set_optimise_midi(o)
|
| 264 |
return tokenizer
|
| 265 |
|
| 266 |
+
|
| 267 |
number2drum_kits = {-1: "None", 0: "Standard", 8: "Room", 16: "Power", 24: "Electric", 25: "TR-808", 32: "Jazz",
|
| 268 |
40: "Blush", 48: "Orchestra"}
|
| 269 |
patch2number = {v: k for k, v in MIDI.Number2patch.items()}
|
|
|
|
| 276 |
parser.add_argument("--max-gen", type=int, default=1024, help="max")
|
| 277 |
opt = parser.parse_args()
|
| 278 |
soundfont_path = hf_hub_download_retry(repo_id="skytnt/midi-model", filename="soundfont.sf2")
|
| 279 |
+
models_info = {"generic pretrain model (tv2o-large) by asigalov61": ["asigalov61/Music-Llama", "", "tv2o-large"],
|
| 280 |
+
"generic pretrain model (tv2o-medium) by asigalov61": ["asigalov61/Music-Llama-Medium", "", "tv2o-medium"],
|
| 281 |
+
"generic pretrain model (tv1-medium) by skytnt": ["skytnt/midi-model", "", "tv1-medium"],
|
| 282 |
+
"j-pop finetune model (tv1-medium) by skytnt": ["skytnt/midi-model-ft", "jpop/", "tv1-medium"],
|
| 283 |
+
"touhou finetune model (tv1-medium) by skytnt": ["skytnt/midi-model-ft", "touhou/", "tv1-medium"],
|
| 284 |
}
|
| 285 |
models = {}
|
| 286 |
providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
|
|
|
|
| 322 |
input_drum_kit = gr.Dropdown(label="🥁drum kit", choices=list(drum_kits2number.keys()), type="value",
|
| 323 |
value="None")
|
| 324 |
input_bpm = gr.Slider(label="BPM (beats per minute, auto if 0)", minimum=0, maximum=255,
|
| 325 |
+
step=1,
|
| 326 |
+
value=0)
|
| 327 |
example1 = gr.Examples([
|
| 328 |
[[], "None"],
|
| 329 |
[["Acoustic Grand"], "None"],
|
|
|
|
| 344 |
step=1,
|
| 345 |
value=128)
|
| 346 |
input_reduce_cc_st = gr.Checkbox(label="reduce control_change and set_tempo events", value=True)
|
| 347 |
+
input_remap_track_channel = gr.Checkbox(
|
| 348 |
+
label="remap tracks and channels so each track has only one channel and in order", value=True)
|
| 349 |
+
input_add_default_instr = gr.Checkbox(
|
| 350 |
+
label="add a default instrument to channels that don't have an instrument", value=True)
|
| 351 |
input_remove_empty_channels = gr.Checkbox(label="remove channels without notes", value=False)
|
| 352 |
example2 = gr.Examples([[file, 128] for file in glob.glob("example/*.mid")],
|
| 353 |
[input_midi, input_midi_events])
|
|
|
|
| 381 |
input_top_k, input_allow_cc],
|
| 382 |
[output_midi_seq, output_midi, output_audio, input_seed, js_msg],
|
| 383 |
concurrency_limit=3)
|
| 384 |
+
stop_btn.click(cancel_run, [input_model, output_midi_seq],
|
| 385 |
[output_midi, output_audio, js_msg],
|
| 386 |
cancels=run_event, queue=False)
|
| 387 |
+
app.launch(server_port=opt.port, share=opt.share, inbrowser=True)
|