Skip to content

audium

audium is a Ratatui music player that pushes two ideas harder than its peers: 15 built-in themes with live preview and transparency support (so the player can render translucent over the host terminal’s background image — a small detail with outsized aesthetic payoff), and a plain-JSON portable library format so the user’s audio library is a grep-able text file, not a database. It also has a one-key-per-action ethos (every meaningful operation is a single keypress; no chords for primary surfaces) and an LRC lyrics overlay rendered inline over the player.

  • One key per action as a doctrine. Every action that matters is a single keypress. No Ctrl-, no Alt-, no chords. For KN-86’s 31-key + TERM hardware this is exactly the right discipline — every surface should be drivable from the single-key inventory before reaching for any modifier combinations. Matches the “the keyboard is the product” framing from l123 and the Batch-1 patterns.
  • 15 themes is the right order of magnitude for KN-86’s aesthetic-mode roster. Not 3, not 50. A small but real menu that the user can find their favorite in. KN-86 will ship fewer in v0.1 (probably 1: AMBER), but the architecture should accept “many themes” not “two themes” as the long-term shape (see nosh-config.toml aesthetic-mode entry direction in the Batch-2 visual-identity brief).
  • Live theme preview. Selecting a theme in the picker previews it in-place, before commit. This is the audition-vs-commit split (from PulseDeck — see pulsedeck.md) applied to themes specifically. KN-86’s SYS-tab aesthetic-mode picker should preview, not just list.
  • Human-editable JSON library file. No DB engine, no schema migration story, no ORM. The library is a text file you can read, grep, edit, and back up with cp. For KN-86’s nosh-config.toml, per-cart save files, and Universal Deck State — same philosophy. Tooling that lets the user reach in with a text editor is a feature, not a leak.
  • LRC lyrics overlay. Lyrics rendered inline over the player frame, time-synced. The technique is a sanctioned pattern for KN-86’s CIPHER-LINE OLED: ICY-equivalent metadata, time-synced to whatever the cart is currently doing, rendered on the auxiliary display while the primary display carries cart content.

audium TUI music player demo

Source: audium docs/demo.gif. Shows theme cycling, transparency, the LRC overlay, and the keyboard-driven navigation in motion.

  • Compare with aethertune.md — both have customizable keybindings + theme picker + audio focus, but AetherTune ships a real FFT visualizer where audium leans into LRC overlay + transparency. Different priorities, both legitimate.
  • The transparency support is terminal-emulator-specific (works on iTerm, Alacritty, Kitty, terminals that pass through; not on the KN-86 hardware display where there’s no background image to be translucent over). Aesthetic mood note only; not a borrowable feature for the device.
  • The plain-JSON portable library philosophy is the strongest single takeaway. Worth promoting to a runtime doctrine: KN-86’s user-facing state files should all be human-editable text formats (TOML for config, JSON for portable export, plaintext for log/history). No binary blobs where a text format would work.