FSFE · Youth Hacking For Freedom 2026

Pianove

Free, open-source piano learning software. Practice any piece from a MusicXML file on a MIDI keyboard — fully offline, no account required, no subscription.

Python 3.x · pygame · GPL v3

Pianove — home dashboard
Home dashboard
Pianove — language setup
Onboarding — choose your language
Pianove — MIDI keyboard setup
Onboarding — connect your MIDI keyboard
Pianove — lesson in progress
Interactive lesson view
Pianove — imported score view
Score viewer — Für Elise
Free
No subscription, no account, no cost — ever
Any piece
Import any MusicXML file and practice immediately
Offline
No internet required after installation
GPL v3
Fully open source — read, modify, redistribute

Three projects, one idea

PyLute Library

Parses MusicXML files and renders proportional sheet music on any pygame surface. Clefs, key signatures, accidentals, beams, ledger lines — all from the Bravura SMuFL font.

API Reference →
PyLay Library

A complete UI framework for pygame — 21 widgets, spring-based physics animations, reactive state, and a theming system with dark and light mode.

API Reference →
Pianove Application

The application built on top of both libraries. MIDI keyboard input, real-time note detection, 16 built-in lessons, and a built-in synthesiser — entirely offline.

Documentation →

Start playing in five minutes.

Clone the repository, install pygame, and run python main.py. No account, no setup beyond Python and a MIDI keyboard.