• v1.0.0 8cdd03085d

    v1.0.0 Stable

    zqpvr released this 2026-08-19 15:34:23 -03:00 | 7 commits to main since this release

    Pianola plays Standard MIDI files and Virtual Piano letter sheets on the 61-key pianos found across Roblox and on virtualpiano.net. Rather than firing the raw note stream at the game, it arranges the music first: transposition is picked by duration-weighted coverage of the playable range with whole octaves preferred so the key is kept, chords are thinned to the polyphony limit by keeping the melody on top and the root underneath, repeated notes are spaced far enough apart for the game to register two presses, and accidentals that collide with the natural sharing their physical key are resolved instead of producing a wrong note.

    The letter notation follows the semantics virtualpiano.net publishes, where timing is per character: a note advances one slot, a space advances one more and a pipe advances two. The model was checked against the Overworld Theme sheet, which it reproduces at the right rhythm. Sheets can be pasted straight in through the Letters window, and a loaded MIDI can be written back out as letters.

    Pianola.exe is a single-file Windows build and needs no Python installed. Starting it with no arguments opens the window, while passing arguments runs the command line instead, so Pianola.exe --analyze song.mid works from a terminal exactly as the source does. Settings and the songs folder are read from and written to the directory holding the executable. Running from source needs Python 3.10 or newer and no third-party packages at all.

    The binary is not code-signed, so SmartScreen will most likely warn on first run.

    Downloads