Skip to content

v0.7.0 — Not everyone owns 88 keys

Choose a tag to compare

@TerraByte-Dev TerraByte-Dev released this 12 Aug 07:43
· 11 commits to main since this release

Not everyone owns 88 keys

Keys was built on a Yamaha P-71B and assumed one everywhere. On a 61-key controller that
assumption was not cosmetic: it drew twenty-seven keys you do not have, set scale exercises
down in them, sight-read into them, and marked none of it unreachable.

Tell it what you own. The second card of the tutorial now asks, and
Sound → Your keyboard is where you change it — 25 to 88, a custom range, or press your
lowest and highest key and let it work them out. Everything follows: what gets drawn, how far
a scale runs, where sight reading puts its notes, the pedal range, and the play-along.

Octaves

  • OCT −/+ above the keys (Z and X) shifts the whole instrument. Safe to press
    mid-chord — a key still down is released at the pitch it was struck at.
  • Per-hand octaves in a split, and one per zone in the Layers editor. Set both hands to the
    same octave and you have the plain split back.

Play-alongs fit themselves

A piece written for more keys than you own now moves into reach by whole octaves, keeping every
interval as written, and says so on the bar — with a manual ± override, because the automatic
choice is a guess. Measured across 89 real scores on a 61-key board: 49 already fitted, 24 had a
couple of stray notes and were left alone, and 16 did not fit — all 16 improved, none were made
worse.
Where notes still cannot be reached, the count is on screen instead of the bass quietly
disappearing.

Fixes

Three of these predate this release:

  • A scale that did not fit hung the exercise forever — the grader blocks on a note your
    keyboard cannot produce. It now refuses with a readable message.
  • Sight reading raised IndexError on a bass-range keyboard, and a second, drifted copy of the
    same helper silently generated notes above the top of the instrument.
  • The sustain pedal could orphan a voice across an octave change, leaving a note ringing
    that no note-off could reach.
  • Declaring a smaller keyboard destroyed settings it had no business touching — a saved pedal
    zone died to a nudge of the Decay slider. Both the pedal zone and the sight-reading window now
    keep what you asked for and clamp only where they are used.

Nothing recorded changes meaning, so there is no migration. Narrowing your keyboard is never
destructive: the stats still read all of MIDI, and Reset settings keeps how many keys you own,
because that is a fact about your hardware rather than a preference.


946 assertions across the thirteen checks that need nothing plugged in, plus engine_check,
looper_check and pipeline_check green on the audio device.

Install: extract the zip over your existing Keys folder, or press Check for updates in
Settings → About. Your practice history, settings and recordings live in %LOCALAPPDATA%\Keys and
are not touched. The build is unsigned, so a fresh browser download still shows
"Windows protected your PC".

SHA-256 1b3f637de000a70250bf0cfd4527dbf621e06a70d3329a793a8e66f8d5bcd989