Releases: pepperonas/beatbyte
Release list
v0.18.0 — it listens, it remembers, and it knows who is playing
Milestone release: it listens, it remembers, and it knows who is
playing. The first published release since v0.13.0 — v0.14.0 was
tagged and built but never published, and everything it described is
in here, so it is skipped rather than shipped late.
BeatByte can be sung. A whole vocal path: it reads the sung line
off a song into a vocal chart, opens the microphone, and judges pitch
the way music works rather than the way a meter does — in cents
against the note being held, with loudness never a reward. A karaoke
run plays the backing instead of the record, the words meet the notes
on one clock, and a sung phrase lights the room. MIC OFFSET
calibrates the path; one microphone stream serves both the stage
monitors and vocal play.
Every run leaves evidence. beatbyte-telemetry is the gameplay
blackbox (ADR-0018):
a local SQLite store, written through a bounded queue off the frame
thread, recording what the chart expected, what the player did, how
the engine read it and how it was judged — plus the logical action
stream, which is the only evidence of an input the engine then did
nothing with. Nothing derivable is stored twice, a dropped event is
never silent, and each chart version now carries a sidecar of what
the analysis said at its notes, so "was that a weak onset in a loud
passage?" stays answerable. beatbyte-cli telemetry reads it. It
never leaves the machine and nothing reads it back into the game.
A roster, a history, and a hundred achievements. Runs are filed
under whoever is playing; four views show one player over time and
against the others, plotted in the game's own hand. A hundred
achievements across ten categories, twelve secret until earned, every
one re-derived from the whole play log — so one added later unlocks
retroactively, with the date it really happened.
Add a song by name. Press D, type it: BeatByte looks the song
up, judges the recordings it finds on their length and their own
titles, fetches the best one, measures it, pulls the lyrics and
charts it — filed under its own name rather than a raw query.
The room became a room. The measured level runs a light show —
the ceiling strobes white while it is loud, comets are thrown along
the strips, sparks die by dimming — the PA stands where a PA stands
with monitors that read the real level, the deck is sealed and lit to
its back corners, and fog flows across it. Hits light real fire.
And the analysis follows the music. A beat grid tracked through
the song rather than one constant BPM, bar lines from the Beat This!
meter, repeated sections charted identically, and redesign to move
a carried chart onto the better grid. Every import gets a [GS]
study twin in the background, and a blind taste test plays one chart
version against another without saying which is which.
The last thing in, and the one that needed eyes: a star-power
phrase landing whole is now an impact — the neck takes the energy in,
the ceiling flashes, the screen catches it, one impulse gone inside
half a second. It shipped twice too bright with every automatable
check green, and a picture said so in a second.
Everything above is in the sections below, version by version.
Downloads — macOS: the .dmg for your chip (Apple silicon = aarch64). Linux: the .AppImage. Windows: the .zip. The .tar.gz archives are the portable layout for all three.
Verified before publishing: gate green (fmt, clippy -D warnings, test, check, rustdoc), 1555 tests, autopilot 297 perfect / 0 miss / 0 overstrum, and this release's own macOS arm64 artifact downloaded, unpacked and smoke-tested from a neutral working directory — plus the DMG mounted and its app checked at 0.18.0.
Full Changelog: v0.13.0...v0.18.0
models-v1 — local ML models for BeatByte
Model files BeatByte downloads on request only — never automatically — when built with --features ml (ADR-0013). Each is pinned in crates/beatbyte-ml/src/registry.rs by URL, exact size and SHA-256; the download is refused unless both match.
| Asset | What | Licence | SHA-256 |
|---|---|---|---|
wav2vec2-base-960h.onnx |
facebook/wav2vec2-base-960h (Meta AI), as the ONNX export Xenova/wav2vec2-base-960h (onnx/model.onnx, revision a19f851), unchanged |
Apache-2.0 (LICENSE-APACHE-2.0.txt, NOTICE-wav2vec2-base-960h.txt) |
e46614273f03ff4b87923a965e417fa72004825522cb007c9c25633b8475490d |
This is not a release of the game. Game releases are the vX.Y.Z tags.
v0.13.0 — the game learned to be played your way
The game learned to be played your way.
- Charts: the generator graduated the A/B-winning design pattern ("escalate where the song escalates") and grew real Hard and Expert derivations with jack-free lane flow and burst discipline.
- Practice mode: slow any song to 50–100 % and loop any section from the pause menu — practice runs never touch records.
- Feedback loop: rate the fun (1–5) and judge a redesign against its parent, right on the results screen.
- The stage became a concert: moving-head light rig with real beam cones, LED pixel wall, PA stacks with breathing drivers, silhouette crowd, haze, club darkness — researched against the genre's club-first classics.
- The HUD became an instrument panel: brushed-metal plates, a recessed score well, streak bulbs, a Hype gauge with a counterweight needle; star-marked energy phrases on the highway.
- The input layer became fully logical: menu navigation is remappable (WASD, Space, Tab included) with hard-wired Enter/Escape fallbacks; rebind conflicts ask before stealing; UI feedback is sound events that treat every device alike; prompts follow the device in your hand.
- Accessibility: reduced flashing, an effect-intensity slider, a UI-scale multiplier, high contrast.
- Timing: a draw-only video offset beside the latency calibration — provably never touches judgment (autopilot scores identically at +100 ms).
- Fixed: a held sustain's beam now burns beside the receptor for exactly as long as you hold it (it used to vanish mid-hold).
Downloads: macOS DMG + portable (arm64 & x86_64), Windows portable zip, Linux AppImage + portable. The binaries are unsigned — on macOS right-click → Open on first launch.
Full Changelog: v0.12.0...v0.13.0
v0.12.0
v0.11.0
v0.10.0 — the first-playtest release
Everything in this release traces back to the first real hands-on
sessions.
Added
- Tap mode is the default: notes hit on the fret press alone —
the invisible strum requirement confused every keyboard player it
met. Strumming stays as the opt-in purist setting. - Note Style setting: the colorblind-safe 8-bit shapes (default)
or a classic round-gem look — as a WHOLE-game style: smooth font,
fret lines, soft particles, hi-res anti-aliased gems. - Energy-first sustain generation: held notes come from the
music's energy, not from silence after a note — dense live
recordings finally get sustains (a 7-minute live track went from 3
to 51 on medium). - Multi-file drag-and-drop import with an animated progress
panel (queue, per-file progress, batch summary — nothing is ever
silently discarded), plus in-browser song deletion
(Backspace/Del, double-press confirm). - Sustain notes animate while held; real-keyboard autopilot
proofs; app icon showing the gem receptor row.
Downloads
| Platform | File |
|---|---|
| macOS (Apple Silicon) | BeatByte-0.10.0-aarch64-apple-darwin.dmg or the .tar.gz |
| macOS (Intel) | BeatByte-0.10.0-x86_64-apple-darwin.dmg or the .tar.gz |
| Linux | BeatByte-0.10.0-x86_64.AppImage or the .tar.gz |
| Windows | beatbyte-v0.10.0-x86_64-pc-windows-msvc.zip |
Full Changelog: v0.9.0...v0.10.0
v0.9.0 — two songs, shapes for every eye, a real editor
Content, accessibility, and a real editor.
Added
- Second built-in song: "Solder Groove" — a 92 BPM half-time
groove (Dm–Bb–F–C, syncopated bass, held pad bars) alongside the
128 BPM "Circuit Breaker"; charts from it exercise sustains and
slower reading. - Colorblind-safe lanes, always on — every lane has a distinct
gem shape (square, circle, diamond, triangle, cross) on notes and
receptors; fully readable with zero color. - Stage Motion setting — stills the themed backdrop (reduced
motion); HOPO notes are now visually distinct (smaller gem, bright
core). - Editor v2 — move a note with
M, select a range withV
(Xdeletes it,Hbulk-toggles HOPO — one atomic undo step per
bulk edit), andPauditions from the cursor with a metronome
tick on every beat. - Import pipeline, verified end-to-end — a walkthrough guide
(docs/importing-songs.md), decode tests for every supported
format (WAV/OGG/FLAC/MP3 — and M4A/AAC, which turned out to work),
andsongs/imported/<song>/folders are now actually scanned
(the old scan was one level too shallow). - Autopilot can validate any library song
(BEATBYTE_AUTOPILOT_SONG=<index|title>), and CI now boots the
real game headless on Linux (Xvfb + lavapipe) and Windows (WARP).
Fixed
- An environment-killed autopilot run (window closed mid-song) could
exit 0 without a verdict — it now fails loudly. - Settings and charts from newer/older versions load tolerantly
(pinned by tests); a settings file never loses your calibration on
upgrade.
Downloads
| Platform | File |
|---|---|
| macOS (Apple Silicon) | BeatByte-0.9.0-aarch64-apple-darwin.dmg or the .tar.gz |
| macOS (Intel) | BeatByte-0.9.0-x86_64-apple-darwin.dmg or the .tar.gz |
| Linux | BeatByte-0.9.0-x86_64.AppImage or the .tar.gz |
| Windows | beatbyte-v0.9.0-x86_64-pc-windows-msvc.zip |
Full Changelog: v0.8.1...v0.9.0
v0.8.1 — every milestone shipped, and now you can read the score
The first release where you can actually read the score.
Fixed
- All text was invisible when the game was launched from a portable
archive or directly fromtarget/: Bevy's default exe-relative
asset resolution missed theassets/directory, the pixel font
failed to load — and a failed asset never retries — so HUD, judgment
popups, count-in, menus and results rendered zero glyphs. The game
now resolves its asset root explicitly across every supported layout
(portable, macOS .app bundle, development CWD, workspacetarget/). - Autopilot screenshots no longer capture the screen-transition fade.
- Release CI: the arm64 macOS runner ran out of disk while creating
the DMG; the packaging script now reclaims the build tree first.
Downloads
| Platform | File |
|---|---|
| macOS (Apple Silicon) | BeatByte-0.8.1-aarch64-apple-darwin.dmg or the .tar.gz |
| macOS (Intel) | BeatByte-0.8.1-x86_64-apple-darwin.dmg or the .tar.gz |
| Linux | BeatByte-0.8.1-x86_64.AppImage or the .tar.gz |
| Windows | beatbyte-v0.8.1-x86_64-pc-windows-msvc.zip |
All artifacts smoke-tested; the macOS Apple Silicon build additionally
passed a full flawless autopilot run (117/117 perfect) from the
portable layout.
Full Changelog: v0.3.0...v0.8.1
v0.3.0 — playable: menus, browser, settings, calibration
First published build. BeatByte boots to a menu, generates its own demo song, and is genuinely playable on Medium–Expert. macOS (arm64/x86_64), Windows and Linux binaries attached — unzip and run beatbyte (macOS: right-click → Open on first launch, the binaries are unsigned). Full details in the CHANGELOG.