Skip to content

Releases: pepperonas/beatbyte

v0.18.0 — it listens, it remembers, and it knows who is playing

Choose a tag to compare

@github-actions github-actions released this 21 Sep 13:32

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

Choose a tag to compare

@pepperonas pepperonas released this 05 Sep 09:03

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

Choose a tag to compare

@github-actions github-actions released this 01 Sep 01:33

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.12.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Aug 13:09

Full Changelog: v0.11.0...v0.12.0

v0.11.0

v0.11.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:06

Full Changelog: v0.10.0...v0.11.0

v0.10.0 — the first-playtest release

Choose a tag to compare

@github-actions github-actions released this 25 Aug 17:19

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

Choose a tag to compare

@github-actions github-actions released this 24 Aug 01:20

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 with V
    (X deletes it, H bulk-toggles HOPO — one atomic undo step per
    bulk edit), and P auditions 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),
    and songs/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

Choose a tag to compare

@github-actions github-actions released this 23 Aug 14:15

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 from target/
    : Bevy's default exe-relative
    asset resolution missed the assets/ 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, workspace target/).
  • 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

Choose a tag to compare

@github-actions github-actions released this 23 Aug 12:07

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.