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
PackageRequiredPurpose
pygame-ce >= 2.4YesRendering, event loop, font loading
python-rtmidiYesMIDI device input
pyfluidsynthYesPython binding for the FluidSynth synthesiser
PillowOptionalEmoji 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.

PlatformInstallation
WindowsDownload fluidsynth-*.zip from the FluidSynth GitHub releases, extract the DLL files into the bin/ folder next to main.py.
macOSbrew install fluid-synth
Debian / Ubuntusudo apt install fluidsynth
Arch Linuxsudo pacman -S fluidsynth
If FluidSynth is not installed, Pianove still starts and runs normally — audio playback is silently disabled. A notice is shown in the Settings tab.

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

PlatformMinimum VersionNotes
WindowsWindows 10FluidSynth DLL must be placed in bin/
macOSmacOS 12 (Monterey)Install FluidSynth via Homebrew
LinuxAny modern distroTested on Ubuntu 22.04+, Arch Linux