What is Piano Trainer (midi-piano-trainer.netlify.app)?
Updated
Piano Trainer is a free browser-based practice tool that turns any MIDI file into an interactive piano lesson. You load a .mid file, and the app listens through your microphone to detect the notes you play on a real piano or keyboard, scoring your accuracy in real time. It's aimed at pianists who want structured practice with immediate feedback, without installing desktop software or connecting a MIDI cable.
How it works
The core loop is simple: the app plays back a MIDI file as falling notes and scrolling sheet music, while your microphone captures what you actually play. It compares the two and tracks three outcomes — correct, missed, and wrong notes.
This means you need two things to get value from it:
- A MIDI file of the piece you want to practice
- A working microphone positioned to pick up your acoustic or digital piano
Practice modes
The app offers three modes, each suited to a different stage of learning:
| Mode | What it does | Best for |
|---|---|---|
| Watch Mode | Notes fall and sheet music scrolls, no scoring | First pass — learning the notes and rhythm |
| Play Along | You play with the song and get scored on accuracy | Testing whether you've actually learned it |
| Hand Practice | Practice left or right hand independently | Isolating a difficult hand part |
Hand Practice can be set to Both Hands, Right Hand, or Left Hand, which is useful when one hand is lagging behind.
Note detection options
Piano Trainer offers several detection engines, and the tradeoff is speed versus accuracy:
- Standard (instant) — fastest, lowest accuracy
- Basic Pitch — roughly 80% F1
- Kong/Bytedance — roughly 90% F1
- Transkun V1 — roughly 94% F1
- Transkun V2 SOTA — roughly 98% F1, the most accurate
If you're just starting out and want instant feedback, Standard is fine. If you're polishing a piece and want reliable scoring, the Transkun options are worth the extra processing time. You can also adjust Noise Cancel (None, Spectral, or DeepFilterNet3) if your room has background noise.
Getting started
- Load a MIDI file — click "Load MIDI File" or drag and drop a
.midfile anywhere on the page. - Calibrate tuning — play A4 on your piano and hold it for one second so the app matches your instrument's pitch.
- Pick a mode — start with Watch Mode to learn the piece, then switch to Play Along.
- Adjust settings — set speed (e.g., 1.00x), hand selection, and detection engine as needed.
- Play — the app scores you live and shows a session summary with accuracy percentage and note counts when you finish.
Keyboard shortcuts speed things up: Space for play/pause, M to toggle the mic, S for sheet music, and Esc to stop.
What to watch out for
- Microphone quality matters. A weak or distant mic will cause missed notes that aren't your fault. Get the mic close to the piano.
- Detection engine choice affects your score. If you're getting suspiciously low accuracy, try a higher-accuracy engine before assuming you played wrong.
- Tune Clarity, Speed, and Release settings (shown as values like 0.63, 3fr, 8fr) fine-tune how notes are detected — worth adjusting if detection feels too strict or too loose.
- No file, no practice. The app does nothing until you load a MIDI file, so have your repertoire ready as
.midfiles.
The site includes a demo, so you can try the interface before committing your own files. Everything runs in the browser — no account or download required based on the page.