System Requirements
Python, pygame, OS and hardware requirements for Pianove.
Python
Pianove requires Python 3.10 or newer. Verify your version:
python --version
Python 3.11 or 3.12 is recommended for best performance. Python 3.9 and earlier are not supported.
Python Dependencies
All required packages are listed in requirements.txt. Install them with:
pip install -r requirements.txt
| Package | Required | Purpose |
|---|---|---|
pygame-ce >= 2.4 | Yes | Rendering, event loop, font loading |
python-rtmidi | Yes | MIDI device input |
pyfluidsynth | Yes | Python binding for the FluidSynth synthesiser |
Pillow | Optional | Emoji rendering via NotoColorEmoji; omit to disable emoji icons |
FluidSynth (System Library)
pyfluidsynth is a Python binding — it wraps the native libfluidsynth library, which must be installed separately as a system package. The bundled soundfont is loaded automatically once FluidSynth is available.
| Platform | Installation |
|---|---|
| Windows | Download fluidsynth-*.zip from the FluidSynth GitHub releases, extract the DLL files into the bin/ folder next to main.py. |
| macOS | brew install fluid-synth |
| Debian / Ubuntu | sudo apt install fluidsynth |
| Arch Linux | sudo pacman -S fluidsynth |
MIDI Device (Optional)
Any USB MIDI keyboard is supported. Pianove detects connected devices automatically on startup and reconnects if one is plugged in while the app is running. A MIDI keyboard is not required to use lessons, navigation, or the song viewer — only the interactive exercise steps require one.
See MIDI Setup for calibration and device selection details.
Supported Platforms
| Platform | Minimum Version | Notes |
|---|---|---|
| Windows | Windows 10 | FluidSynth DLL must be placed in bin/ |
| macOS | macOS 12 (Monterey) | Install FluidSynth via Homebrew |
| Linux | Any modern distro | Tested on Ubuntu 22.04+, Arch Linux |