← Portfolio
Posted 2026·08·06
2026·08·06
5 min read

Spaced Repetition for Piano

Sixteen years of piano and never more than three pieces in memory. Why manual memorization dies in week two, and how Clef grades recall over MIDI and schedules every bar with FSRS.

I've played piano for sixteen years and got as far as Chopin etudes and Liszt's La Campanella. Yet in all that time my working repertoire has never really been larger than about three pieces.

The issue is not that our brains can only hold three. It's that pieces decay unless we revisit them and replaying everything often enough to keep it all alive stops fitting into a daily practice hour very quickly. Maintenance eats that time, so something old quietly dies whenever something new comes in. Leave a piece for three weeks and your fingers no longer know where to go.

At its core, losing a repertoire is a scheduling problem. But as musicians, almost none of us practices with a schedule.

The method is known, but it dies anyway

The fix has been understood for a century: test yourself instead of rereading, and review each item right before you'd forget it. That method got me through a Master's in Mathematics and passing the hardest Japanese proficiency exam, JLPT N1. Musicians know it too. There's a YouTube video with 67k views showing pianists how to memorize manually: Chunk the piece, recall each chunk without the score, test again tomorrow, and track your weak bars.

The theory is perfectly sound, but trying to run it manually, the whole thing usually falls apart in a week or two.

You grade yourself. Wrong notes that sound plausible slip straight past your ear, even after sixteen years of piano, and you memorize them confidently. Hearing your own mistakes is itself an expert skill, and beginners largely don't have it yet.

It runs on willpower. Active recall is incredibly taxing, whereas reading along with the score is comfortable and fun. The minute it gets exhausting, it's too easy to slide back to playing with the sheet music open.

The scheduling is bookkeeping. Hundreds of bars, each with its own review date. Nobody can track that manually. The only workaround is reviewing the entire piece at once, which is just as unsustainable. The theory behind Anki wasn't new, it really only took off because it handled all that bookkeeping for you.

Closing the feedback loop

A digital piano reports every note you play. All it takes is a printer cable and a browser to close the feedback loop. You get an immediate, objective grade on every attempt, catching the plausible mistakes your ear misses.

So I built Clef. It shows you real engraved sheet music, hides a bar, and asks you to play it from memory. The attempt is graded over MIDI, note by note, and a wrong note is marked and sounded the moment it happens. Then the scheduling part. Every bar of every piece in your repertoire gets its own forgetting curve, and Clef schedules each bar for review using FSRS, the same spaced repetition scheduler that makes Anki work. The bar you were about to lose comes up today. The ones you play perfectly just get out of your way.

No teacher can do this. Nobody can track eight hundred bars across a repertoire and know which twelve are about to go. Software can, and because it's there for all of your daily practice instead of just one hour a week, you aren't waiting seven days for a teacher to correct a mistake you've already baked into muscle memory.

No piano at your desk? There's a sixty second demo you can play with your computer keyboard. It runs the real grading loop, wrong notes caught and all.

A session is bounded and small. Play the bar once with the score. Then recall attempts without it. Clef grades each attempt, updates that bar's schedule, and moves on. Checkpoint run-throughs from the top stitch the bars back into a piece.

Bypassing the engraving bottleneck

Every piano app's library is bounded by what it can license or pay humans to engrave. Clef's catalog is built by Transcoda, an optical music recognition model I trained for my bachelor's thesis. It reads a scanned score and writes a machine readable transcription. It's a compact 59M parameter model trained entirely on synthetic data, it beat much larger systems on real historical scans, and it's open source. The paper is on arXiv.

Inside Clef it runs as a production pipeline. Transcoda transcribes a public domain scan from IMSLP, I correct the residual errors in a side by side review app I built, about five minutes per page, and one click publishes to the catalog. A new piece costs me 15 to 20 minutes. When a user requests a piece it can be live the same day. My ceiling is the entire public domain repertoire, which is exactly the material serious players want, without being bottlenecked by manual transcription.

Honest limitations

  • You need a digital piano connected to your computer. A direct MIDI connection is the only way to get absolute ground truth on what you played, and there is no substitute for it yet. Audio note detection for acoustic instruments is on the roadmap, but it isn't in the product today.
  • Chromium or Firefox only for now. Safari still doesn't support Web MIDI. To get around Apple's limitations, I built an iOS app to act as a MIDI bridge, but it's currently still sitting in the queue waiting for App Store approval.
  • It focuses entirely on practicing and memorizing repertoire. The core loop of practicing with the score and testing your memory is there. Other modules like sight reading, ear training, and technique are designed, but not built yet.

Try it

Clef is live at app.playclef.com. It comes with a 14 day free trial, no credit card. The first fifty founding seats are $9 a month, locked for as long as you stay.

I built this to solve my own problem, and it works for my brain. Now I want to see if it works for yours. Give it a try, and let me know what you think (or what breaks).

© 2026 Daniel Dratschuk