Views
No views yet
1import torch
2from transformers import BertForMaskedLM
3from miditok import MusicTokenizer
4
5# Load model and tokenizer
6model = BertForMaskedLM.from_pretrained("manoskary/musicbert-large")
7tokenizer = MusicTokenizer.from_pretrained("manoskary/miditok-REMI")
8
9# Convert MIDI to BPE tokens (MIDI → REMI → BPE pipeline)
10midi_path = "path/to/your/file.mid"
11tok_seq = tokenizer(midi_path)
12bpe_ids = tok_seq.ids
13
14# Mask some tokens for prediction
15import random
16mask_token_id = 3 # MASK_None token
17input_ids = bpe_ids.copy()
18mask_positions = random.sample(range(1, len(input_ids)-1), k=5)
19for pos in mask_positions:
20 input_ids[pos] = mask_token_id
21
22# Run inference
23input_tensor = torch.tensor([input_ids])
24with torch.no_grad():
25 outputs = model(input_tensor)
26 predictions = outputs.logits[0, mask_positions, :].argmax(dim=-1)
27
28print("Predicted token IDs:", predictions.tolist())