A desktop piano for playing, practice, and quick musical ideas
Play with a computer keyboard, mouse, or MIDI controller, choose your sound, and record the performance when it is worth keeping
OpenPiano turns a Windows computer into a playable piano. Start with the computer keyboard or mouse, connect a MIDI controller when you want a more traditional feel, and watch every note appear on the piano as you play.
Choose a 61 or 88 key layout, personalize the controls and appearance, explore different instrument sounds, and record an idea without leaving the application.
OpenPiano's performance:
~0% CPU usage while idle.
~1% CPU usage during active use.
~90 MB memory footprint.
- Download and install from the latest release.
- Launch OpenPiano.
- Choose the 61 or 88 key piano.
- Play with the labeled computer keys, click or glide across the piano, or select a connected MIDI controller.
- Open Controls to choose an instrument and adjust volume, touch, sustain, or pitch.
- Select Start Recording when you want to keep a performance.
- Save the take as editable MIDI or ready to play WAV audio.
- 61 and 88 key piano layouts with clear visual feedback.
- Computer keyboard, mouse, and MIDI controller input in the same session.
- Included sounds and support for compatible SF2 or SF3 instrument sound files.
- Custom key mappings with save, discard, and undo.
- Controls for volume, touch, sustain, pitch, animation speed, interface size, and more.
- Themes and individual piano key colors.
- A built in tutorial that can be reopened at any time.
- Recording to editable MIDI or ready to play WAV audio.
- Local operation without an account or performance tracking.
All three input methods can be used in the same session:
- Follow the labels and play from the computer keyboard.
- Click or drag across the piano with a mouse.
- Connect a MIDI controller for a more traditional playing experience.
The piano display, instrument sound, sustain, and recorder follow the same performance, so changing input method feels natural.
OpenPiano includes both its compact default piano and a richer Grand Piano sound, so you can begin immediately. Optionally, you can add your own Soundfont.
Use the Controls panel to select an instrument and adjust the playing experience without leaving the main piano.
Save a take as MIDI when you want to edit its notes later. Choose WAV when you want an audio file that already sounds the way it did in OpenPiano.
- Project page: https://www.justagwas.com/projects/openpiano
- Download page: https://www.justagwas.com/projects/openpiano/download
- Documentation: https://github.com/Justagwas/OpenPiano/wiki
- Releases: https://github.com/Justagwas/OpenPiano/releases
For Developers
- Windows (primary runtime target).
- Python 3.11 or later.
- Dependencies in
OpenPiano/requirements.txt.
cd OpenPiano py -m pip install -r requirements.txt py OpenPiano.py
- App constants and release endpoints:
OpenPiano/openpiano/core/config.py - Runtime settings serialization logic:
OpenPiano/openpiano/core/settings_store.py - Theme palette definitions:
OpenPiano/openpiano/core/theme.py - Tutorial step content:
OpenPiano/openpiano/services/tutorial_flow.py - Application entry point:
OpenPiano/OpenPiano.py
- Windows SmartScreen may display a warning for a new or unsigned release.
- Obtain OpenPiano only from the official distribution locations:
- Refer to the repository Security Policy for private vulnerability reporting.
Contributions are welcome.
- Start with
.github/CONTRIBUTING.md - Follow the shared Code of Conduct
- Use Issues for defect reports, feature proposals, and questions
- Wiki: https://github.com/Justagwas/OpenPiano/wiki
- Email: email@justagwas.com
- Website: https://www.justagwas.com/projects/openpiano
Licensed under the GNU General Public License v3.0 (GPL-3.0).
See LICENSE.