Three transcription engines, each with its own earned, ranked guarantee (never flattened):
| Engine | Reach | Guarantee |
|---|---|---|
| Monophonic (YIN) | --mono |
Exact closed-loop recovery — count/pitch/onset bit-for-bit |
| Polyphonic (Basic Pitch) | default | Statistical — note-level F1 ≥ 0.75 @ ±50 ms (measured 79.6 %) |
| Transkun (Neural Semi-CRF, MIT) | --model transkun |
Parity — ≥ 99 % PyTorch parity, measured 100 % @ ±25 ms + exact velocity; self-contained via ONNX, no Python |
Highlights
- Transkun engine — real durations, velocity, and sustain/soft pedal; the transformer/scorer/heads in a committed 53 MB ONNX, the mel front end + semi-CRF Viterbi decode reimplemented in C#. Note-identical to the reference PyTorch implementation, gated in CI.
- Notation quality (corpus-measured) — automatic key detection, a temporal treble/bass hand-split (a hand crossing middle C keeps its notes), and opt-in triplets.
- The polyphonic closed-loop gate and the general-corpus discipline from earlier v2 stages.
Deferred to v2.1: packaging / cross-platform (Stage 5) and the HuggingFace publish of the Transkun artifact (committed + publish-ready).
Public domain (UNLICENSE). Transkun model © 2021 Yujia Yan et al. (MIT).
🤖 Generated with Claude Code