Downloads · 30 days
186
22% of all-time downloads
cstr/tromr-GGUF
tromr-GGUF is a image-to-text model from cstr. Use it when you need a caption or text from an image. It is set up for crispembed. The card lists the license as apache-2.0.
GGUF conversion of Polyphonic-TrOMR (NetEase, Apache-2.0), an Optical Music Recognition model: a staff-notation image is transcribed into three parallel token streams (rhythm / pitch / lift) which are merged into symb…
Downloads · 30 days
186
22% of all-time downloads
All-time downloads
864
Public
Repo size
170 MB
Likes
0
Public
Click a slice to open those files.
.gguf119 MB · 100%
From the Hugging Face model README
GGUF conversion of Polyphonic-TrOMR (NetEase, Apache-2.0), an Optical Music Recognition model: a staff-notation image is transcribed into three parallel token streams (rhythm / pitch / lift) which are merged into symbolic music notation, e.g.
clef-F4+keySignature-CM+note-E3_eighth.|note-C4_eighth.+note-E3_sixteenth|note-D4_sixteenth+…
Runs with CrispEmbed — pure C/C++ ggml inference, no Python/PyTorch at runtime, Metal/CUDA/Vulkan capable.
| File | Precision | Size |
|---|---|---|
tromr-f32.gguf | F32 | 86 MB |
tromr-q8_0.gguf | Q8_0 (ResNet backbone kept F16 — cast to F16 in-engine anyway) | 31 MB |
Both decode byte-identically to the reference model on the repository's own example photos. Validated vs the original PyTorch implementation: every stage cosine = 1.0 (backbone, ViT context, all 12 decoder blocks, all 4 logit heads), 100% per-position argmax agreement under teacher forcing.
# CLI (architecture is auto-detected from the GGUF)
crispembed -m tromr-q8_0.gguf --ocr score.jpg
// Dart / Flutter
final omr = CrispEmbedOmr('tromr-q8_0.gguf');
final score = omr.recognizeFile('score.jpg');
Feed a reasonably cropped single staff-system image (a plain photo works well — this model is robust on real-world/camera input).
img2score_epoch47.pth weights are committed in that repo).apache-2.0. This repository redistributes under the same terms; it grants no rights the upstream licence does not.