Skip to page content
SAVRN
Search Plan a project

Open-weight model

hft-transformer-GGUF

by Cstr cstr/hft-transformer-GGUF

hft-transformer-GGUF is an open-weight model from Cstr, released under MIT License. Its published files total 34.8 MB.

Toyama et al.'s hierarchical frequency-time transformer for piano transcription (ISMIR 2023, sony/hFT-Transformer, MIT), converted to GGUF for the ggml runtime in Quantisation is free here, q40 included.

Parameters—
Context—
Weights34.8 MB
Licensemit
AccessOpen weights
Monthly Downloads—

Model Card

By Cstr, published under mit, revision 17d72a2429f1.

Toyama et al.'s hierarchical frequency-time transformer for piano transcription (ISMIR 2023, sony/hFT-Transformer, MIT), converted to GGUF for the ggml runtime in Quantisation is free here, q40 included. That is not the usual result (cosine 0.870), and in this model velocity feeds the decoder's ignorezero gate rather than a note duration — so its errors change which notes survive, not how long they last. Contrast the Onsets & Frames GGUF, where q40 damages the frame head and costs 0.5 points of F1-with-offsets, because that head sets durations. 4.5 MiB reaching 70.7% on solo piano makes this the smallest model in this family that reaches that accuracy. Converted from the pruned ONNX export…

Read Cstr's full model card

Toyama et al.'s hierarchical frequency-time transformer for piano transcription (ISMIR 2023, sony/hFT-Transformer, MIT), converted to GGUF for the ggml runtime in CrispASR:

crispasr --piano -m hft-transformer-q4_0.gguf -f input.wav

Files

file size note F1 F1 with offsets solo piano
hft-transformer-f32.gguf 21.8 MiB 52.21% 18.49% 70.52%
hft-transformer-q8_0.gguf 7.0 MiB 52.23% 18.50% 70.51%
hft-transformer-q4_0.gguf 4.5 MiB 52.55% 18.77% 70.71%

Quantisation is free here, q4_0 included. That is not the usual result and the reason is specific: the head q4_0 perturbs most is velocity (cosine 0.870), and in this model velocity feeds the decoder's ignore_zero gate rather than a note duration — so its errors change which notes survive, not how long they last. Contrast the Onsets & Frames GGUF, where q4_0 damages the frame head and costs 0.5 points of F1-with-offsets, because that head sets durations.

4.5 MiB reaching 70.7% on solo piano makes this the smallest model in this family that reaches that accuracy.

Accuracy and provenance

Converted from the pruned ONNX export of the sony/hFT-Transformer checkpoint. The converter fuses the (1, 5) convolution into tok_embedding_freq — both are linear in the 65-tap window with nothing between them, so they collapse exactly into one Linear(65, 256) (verified at 7.1e-07 relative).

The f32 build is the model, not an approximation of it: head-identical to the ONNX export (onset max abs 2.5e-06, cosine 1.00000000, 100.0000% of decisions identical including the velocity-gate argmax), and F1-identical on all ten pieces of MusicNet's test split.

Figures above are all ten MusicNet test pieces, 13,589 reference notes, scored with mir_eval.transcription (50 ms onset tolerance, 50 cents, maximum bipartite matching), every arm through the same decoder. Method and full tables: docs/music-transcription/HFT_TRANSFORMER.md and §35–36 of the CrispTuner report.

Cost — read this before choosing it

On a 4-vCPU Skylake-SP VPS, f32 is the fastest arm at 2.14× real time on four threads (4.84 CPU-s per audio-second single-threaded). Quantisation costs 29% of throughput while buying the size above, because ggml's repacked int8 GEMM is reached only through the CPU device's extra buffer types and this build does not request them — and that host has AVX-512F but no VNNI, so there is no int8 dot-product instruction to exploit either. The int8 case is untested here rather than disproved.

Native ONNX Runtime is 1.28× real time on the same box, so ggml is 1.56× its CPU cost — but at 237 MiB peak RSS against ORT's ~1001 MiB.

For throughput, onsets-and-frames is the better piano arm at 0.44× real time. Choose hFT for accuracy per megabyte, or where 4.5 MiB matters.

Identity and Version

Repository
cstr/hft-transformer-GGUF
Publisher
Cstr
Task
Not stated by the source
Modality
Other
Library
ggml
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
17d72a2429f10579d590ae66b7db4985886c89be
First published
2026-09-23
Last updated
2026-09-23

Files and Weights

5 files, 34.8 MB in total. The weights are 3 files totalling 34.8 MB in gguf.

Weights3 files · 34.8 MB
Documentation1 file · 3.4 KB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
hft-transformer-f32.ggufWeights22.8 MB 577652db638f
hft-transformer-q4_0.ggufWeights4.7 MB c72a56b9ceac
hft-transformer-q8_0.ggufWeights7.3 MB 102107cf10e8
README.mdDocumentation3.4 KB —
.gitattributesRepository1.7 KB —

License and Download

License
mit
Access
Open weights, no gate
Download size
34.8 MB
Download from Cstr

Released by Cstr through its official repository on Hugging Face. Read the license.

Memory Requirements

PrecisionWeights in memory
As published34.8 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About hft-transformer-GGUF

Can I use hft-transformer-GGUF commercially?

Yes. hft-transformer-GGUF is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.