open-fret-tab
крошечная T5 для MIDI-табулатуры
Модель от mylonasc переводит поток MIDI-нот в играбельную гитарную аппликатуру. Это T5 encoder-decoder, обученная с нуля: d_model 128, d_ff 1024, по 3 слоя в энкодере и декодере, 4 головы, словарь WordLevel на 6 631 токен. Вес — около 14 MB в safetensors.
🔎 Ключевые особенности
- 🎯 Предсказывает, где играть, а не что: высота и тайминг берутся из входа.
- ⚙ Выдаёт токены
TAB_<string>_<fret>, паузыTS_<ticks>и техники. - 🧭 Понимает
CAPO_*,TUNING_*, on/off-события и time shift. - 🎼 Обучена на 843 886 train / 105 394 val / 104 920 test окон.
- 📌 Чекпоинт остановлен на step 51 534 (epoch 15.6 из 20), это не завершённый прогон.
🎯 Пример
from transformers import AutoTokenizer, T5ForConditionalGeneration
tok = AutoTokenizer.from_pretrained('mylonasc/open-fret-tab')
model = T5ForConditionalGeneration.from_pretrained('mylonasc/open-fret-tab')
src = 'CAPO_0 TUNING_64_59_55_50_45_40 NO_64 TS_240 NF_64'
out = model.generate(tok(src, return_tensors='pt').input_ids,
max_new_tokens=32, num_beams=4, no_repeat_ngram_size=3)
print(tok.decode(out[0], skip_special_tokens=True))
Подробнее
Последний teacher-forced eval:eval_loss 2.19 (ce 1.73, pitch 1.35) — это диагностика обучения, а не сравнимый бенчмарк.Для точного декодирования нужен anchored generator из репозитория: один слот на входную атаку, pitch-equivalent masking и разные струны на один onset.
Права на обучающие данные не установлены: лицензия
mit покрывает только код и конфиги этого релиза.Ограничения: конфликты same-onset/same-string замаскированы, bends/slides требуют contour modeling, тайминг и playability не регуляризованы.








Комментарии