-
v1.1.0 Stable
released this
2026-10-11 09:24:58 -03:00 | 3 commits to main since this releasePianola 1.1.0 adds Linux support and fixes a handful of bugs found reviewing the Windows build.
Downloads:
Pianola-windows-x64.exefor Windows,pianola-linux-x86_64for Linux (chmod +xit first). Both are single files with Python included;SHA256SUMSlists their checksums.Linux
- Plays on X11 and Wayland through a
/dev/uinputvirtual keyboard, so it reaches Sober, Wine and browsers alike. See the README for the one-time permission setup. - Hotkeys work while Sober has focus: through the desktop's shortcut portal on KDE Plasma, GNOME 48+ and Hyprland, an X11 key grab on any X11 window manager, or reading the keyboards directly for users in the input group. Anything else can bind keys to
pianola --control play_pause(and stop, restart, panic, speed_down, speed_up). - The window guard works on KDE Plasma, Hyprland, Sway, niri and any X11 session, and defaults to Sober.
Fixes
- Closing the window no longer fails after a settings box is left empty.
- A refused keystroke, such as Windows locking or a UAC prompt mid-song, now stops playback instead of leaving it stuck.
- Pausing during the countdown pauses the countdown.
- Pressing stop just as a loop restarts is no longer undone.
- Settings, the log and saved sheets fall back to
%APPDATA%\Pianolaor~/.config/pianolawhen the app's folder is read-only. - The countdown no longer shows 0, and a malformed MIDI file gets a clear error.
New
--logwrites a debug log topianola.log, and--versionprints the version.- While paused for focus, the status names the window that does have focus.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Plays on X11 and Wayland through a
-
v1.0.0 Stable
released this
2026-08-19 15:34:23 -03:00 | 7 commits to main since this releasePianola 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)