--- license: agpl-3.0 tags: - music - piano-fingering - reinforcement-learning - hidden-markov-model --- # Chirality — trained piano-fingering models Model artifacts for [vibetuned/chirality](https://github.com/vibetuned/chirality) (`chirality` on PyPI), a piano-fingering pipeline combining ergonomic rule sets, statistical models, and reinforcement learning. ## Contents | Path | What | Human match (M_gen) | | :--- | :--- | :--- | | `weights/parncutt.json` | Path-difference learned Parncutt rule weights (Radisavljevic & Driessen 2004, trained on PIG) | **65.4** — best non-human system | | `hmm/param_FHMM{1,2,3}.txt` | Nakamura et al. (2020) fingering HMMs, orders 1–3, trained on the PIG miscellaneous subset | 61.6 / 64.3 / 64.4 | | `ppo/conv_jacobs.pt` | PPO conv policy, jacobs reward | 44.8 (right hand) | | `ppo/decoder_hmm_nll.pt` | PPO decoder policy, HMM-NLL reward | 43.2 (right hand) | | `ppo/transformer_hmm_nll.pt` | PPO transformer policy, HMM-NLL reward | 42.2 (right hand) | | `ppo/simple_hmm_nll.pt` | PPO MLP policy, HMM-NLL reward | 39.9 (right hand) | | `ppo/conv_mixed_hmm.pt` | PPO conv policy, mixed rules+HMM reward | 39.5 (right hand) | Human inter-annotator agreement on the same benchmark is 71.4. Evaluation protocol and full tables: `docs/experiments_summary.md` in the code repository. ## Usage ```bash pip install chirality chirality fetch-models # downloads this repo's models into ./data chirality annotate --input score.mei --output ./annotated --weights --both chirality annotate --input score.mei --output ./annotated --hmm --order 2 ``` `chirality fetch-models --ppo` also pulls the PPO checkpoints. PPO checkpoints load with `chirality test --checkpoint ppo/.pt --policy ` or `chirality annotate --model ...`. ## Provenance and licensing Code is AGPL-3.0-or-later. The HMM parameters and learned rule weights are statistics estimated from the [PIG dataset](https://beam.kisarazu.ac.jp/research/PianoFingeringDataset/) (Nakamura, Saito & Yoshii 2020), which is available for research and non-profit use — treat these artifacts under the same terms. The PPO checkpoints were trained purely on generated scores (scales, chords, arpeggios) and carry no PIG data.