tab-labeler β€” symbolic guitar-tab fingering scorer (ONNX)

A tiny CNN that scores candidate (string, fret) placements for a sequence of note-columns, so a guitar-tab arranger (Viterbi over hand positions) fingers more like a human than a hand-tuned heuristic. The symbolic arm of a two-model tab stack — the score/MIDI→tab counterpart to the audio→tab cstr/tabcnn-onnx. It shares TabCNN's exact per-string output contract, so the same decoder consumes both.

The model never emits tab β€” it only scores positions the arranger enumerated; the arranger's transition cost + hard span cap stay the arbiter, so nothing unplayable is produced. Missing β†’ the heuristic is the fallback.

Versions

file training data agreement notes
tab-labeler.onnx (default, v2) GuitarSet 82.7% shipped baseline
tab-labeler-v1-lowmove.onnx (v1) GuitarSet 78.59% lower-movement fallback
tab-labeler-v3-egset.onnx (v3) GuitarSet + EGSet12 82.5% (val 0.829) more data; better position (6.23 vs human 6.20). GuitarSet-validated; OOD (IDMT) comparison pending
tab-labeler-v3c-egset-spanreg.onnx (v3c) GuitarSet + EGSet12, span-regularized val 0.829 tighter emission (span-proxy 1.66); full benchmark pending

Agreement = per-note (string,fret) match vs held-out human (GuitarSet player 05, 60-song arranged benchmark). All models carry top-2 checkpoints (.best.pt).

β˜… Integration: hitting span<1.5 at agreement>82% (no retraining)

Quality is more than agreement. Measured against the human on all axes (GuitarSet, 60 songs; human = agreement 100% / movement 5325 / span 1.43 / position 6.20):

                          agreement  movement  span   position
heuristic (no model)      57.0%      4095      1.34   4.93   (under-moves, under-reaches)
this model (mv=1.0)       82.7%      4372      1.68   6.43   (good move+pos; OVER-spans)

The model fingers at about the right position and moves about the right amount, but picks wider shapes than a human. The fix is an arranger-side knob, not a new model: because the arranger lets the model replace its local cost, the span penalty is dropped β€” re-apply a span penalty on top of the emission (modelSpanCost in CometBeat's arrangeTab). Sweep on v3 (GuitarSet):

modelSpanCost agreement span
0.00 82.5% 1.77
0.20 83.5% 1.59
0.50 84.0% 1.47

Span and agreement are NOT a tradeoff β€” they align: since the human fingers compact (1.43), preferring compact shapes makes the model match the human more. So modelSpanCostβ‰ˆ0.5 gives span 1.47 (<1.5) at agreement 84.0% (>82%) with movement still under the human β€” on any of these weights, no retraining.

IO contract

  • Input input : float32[N, 49, 9, 1] β€” per column, a 9-column window (centred, zero-padded) of multi-hot pitch-presence over MIDI 40..88 (49 bins).
  • Output output : float32[N, 6, 21] β€” per-string LogSoftmax log-probs. class 0 = string silent, class k = fret k-1. String index 0 = high e … 5 = low E. Emission for (string,fret) = output[string][fret+1].

~338 k params, ~1.3 MB, opset 13. Conv / ReLU / MaxPool / Gemm / LogSoftmax β€” runs on pure-Dart onnx_runtime_dart.

Training + evaluation

  • Data: GuitarSet (CC BY 4.0) β€” exact (pitch β†’ string, fret) labels; held out by guitarist (player 05 = val), Β±2-semitone transposition aug. v3/v3c additionally use EGSet12 (CC BY 4.0, original electric compositions β€” a 7th player). (A Guitar-TECHS-augmented variant, CC BY 4.0, was trained too β€” val 0.823, slightly OOD; not published here.)
  • Objective: sum of 6 per-string softmax cross-entropies (v3c adds a span regularizer on the predicted distribution).

Provenance / license

CC BY 4.0. Derived weights redistributable with attribution. Trained on GuitarSet (Xi et al., ISMIR 2018, CC BY 4.0); v3/v3c also on EGSet12 (CC BY 4.0). No DadaGP / no request-gated data.

Provenance β€” authored here, and outside the GPAI definition

Added 2026-08-02 during an account-wide provenance review.

These weights were trained by this repository's maintainer, not converted from someone else's model. Most cstr/* repositories are GGUF/ONNX conversions where the upstream research team remains the provider; this one is not, and the distinction matters because the two attract different obligations. The training data, hyperparameters and licence inheritance are documented above.

EU AI Act Art. 53 does not apply. Art. 53 binds providers of general-purpose AI models, which Art. 3(63) defines as models displaying "significant generality" and capable of "competently performing a wide range of distinct tasks". A CNN scoring candidate (string, fret) placements for guitar tablature is a narrow, single-task model and does not meet that definition, so the Art. 53(1)(c) copyright-policy and 53(1)(d) training-content duties are not engaged. This is recorded explicitly because "trained here" and "subject to Art. 53" are easy to conflate, and only the first is true.

The training-data documentation above is published because it is useful and because the licence inheritance depends on it β€” not because Art. 53 compels it.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support