VeloBot
Aug 27, 2026
Velo v2.5.0
Velo 2.5.0 — The Engine Update
The biggest change to how Velo plays since it existed. Almost none of it is a new button — Velo looks the same, then it plays, and you hear it.
The engine
Four things were quietly broken — not missing features, but features that were there, switched on, and doing nothing.
- Chords land together. A five-note chord was five separate trips into the OS, and anything in between rolled it. It now leaves in one call.
- The clock rounded every note onto a 15 ms grid. Wait error: 11 ms → 0.004 ms.
- Extended notes jammed keys in the game. Notes past the main 61 keys are played with Ctrl held, and their release was sent without it — the game never ended the note and the key stayed down.
- Velocity never reached the game. It reads Alt through a delayed callback; Velo sent it with no gap, so the level key was read as an ordinary note. Your dynamics did nothing — and spent four key events per note doing it.
New
- 🆘 Panic — release all keys (
Ctrl + Alt + P). Everything held — notes, Shift, Ctrl, Alt, the pedal — lets go without leaving the game. - 🎭 Expression (
Off · Natural · Dramatic) — dynamics read from the music itself. Most MIDI has none, which is why playback sounds like a machine reading a list. Needs a piano with velocity keybinds; ships off. - 🔄 Fold range (on) — notes past the keyboard move into reach instead of being dropped in silence. One octave at most, never onto a sounding note.
- 🎼 Auto-fit key (off) — moves the whole song into a key that fits. Every interval survives.
- 🪟 Stay in window (on) — Velo learns where you played the first note and holds if you tab away, so a song can never get typed into your Discord chat.
- 🎹 Octaves ×1–×5 — every note as several octaves at once. Fuller, and it looks like both hands are playing.
- 🎚️ Tracks — shows when a song has more than one. Mute the parts you don't want.
- ✨ Flourish — a run across the whole keyboard, on demand, for when someone says you're autoplaying. Three of them, bindable.
- 🎛️ A MIDI keyboard that gets unplugged is waited for and reopened instead of going deaf in silence — and what it held is released, not left down.
📚 Playlists
Named sets of your songs, each in its own order — a full FNAF list in chronological order, a practice set. Drag one onto a tab or use Add songs. Next, previous, shuffle, the end-of-song advance and the floating Select Music window all follow it.
🗑️ A Trash
Removing a song used to un-happen at the next launch: Velo re-reads its Midis folder on startup, and nothing recorded that you meant it. Removed songs now move to Velo/Trash, a real folder, and the Trash button puts them back. Adding one that is already in the trash restores it instead of leaving a copy and a twin in the bin.
🐧 Linux
- Velo now runs on XWayland. It was a native Wayland client, where the compositor forbids the two things Velo is for: putting its window on top, and typing into another app. That is why the mini-player and the autoplayer were dead. Both work again.
- The laptop-heating bug is gone. Velo disabled GPU compositing for every Linux user, so the CPU drew every frame of a 60 fps visualizer.
velo --doctor— measured facts, not guesses: it really types a character, really moves a window, and says what to do. Runs even when the app won't.- Ships as
velo-linux.tar.gzwith an installer, CI-tested on Fedora, Ubuntu, Arch.
✅ Your download
SHA-256 fc45083a6bd99817e6d5f5cf3334c0cf92236b68ce0e78203fdce9bf251dcbf2
Extract the zip before running it, to a folder you own. Linux: ./install-linux.sh.
Velo is free. Every feature, no paywall.
