About this project
Ideal Piano is a smart piano application started in April 2020. Its standout feature is a music-theory-based algorithm that determines the chord type currently being played and shows it on screen. The algorithm comes from the author's musicpy project and is described as able to detect root position chords, inversions, voicings, altered notes and omissions, from simple to complex chords.
Functionality
- Play using a computer keyboard or MIDI keyboard; key-to-note mappings can be customized in the settings file.
- Analyze the chord type being played in detail and display it on screen.
- Load MIDI files and play them back in waterfall form, showing current chord types in real time, with optional detailed music theory information.
- Support multi-track MIDI playback and click-to-seek on the progression bar.
- Split melody and chord parts of MIDI files and play only one of them using music analysis.
- Analyze the current key in real time, with support for major, minor and church modes such as dorian and lydian (experimental).
- Load audio files or SoundFont files as instruments.
- Connect with a DAW and analyze chords currently playing in the DAW.
- Customizable UI: background image, font type and size, piano keyboard appearance, and optional note names on keys.
Platforms
Windows (tested on 7, 10, 11), Linux (tested on Ubuntu 24.04.4) and macOS (tested on macOS 13). Prebuilt downloads are linked in the README; Linux and macOS versions may need compatibility configuration. Building from source is recommended when executables do not run, with instructions in the User Manuals folder.
Usage and documentation
The User Manuals folder contains detailed instructions for each feature and a settings manual describing every setting parameter. The interface currently supports English and Chinese, switchable via the language setting.
Support
The project is developed in the author's spare time and accepts sponsorship via Patreon. Issues can be reported by email after consulting the user manual.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.