Linux-first music player

LoFiBox Zero

A music player for Cardputer Zero, Raspberry Pi, Linux desktops, SSH terminals, and remote media libraries. WebUI, GUI, TUI, CLI, and future Agent interfaces all sit on the same runtime.

LoFiBox GUI Now Playing interface
320x170 GUI: Now Playing, spectrum, lyrics, and playback state.
LoFiBox TUI Dashboard interface
Native terminal TUI: Dashboard, Lyrics, Spectrum, and Queue.

Preview APT Repository

Install from the preview repository before Debian official packaging lands

GitHub Pages carries two separate surfaces: the root directory is the public website, while /debian is the machine-readable APT repository. Keeping them separate protects the install path from website content.

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://vicliu624.github.io/lofibox-apt/lofibox-archive-keyring.pgp \
  | sudo tee /etc/apt/keyrings/lofibox-archive-keyring.pgp >/dev/null

sudo tee /etc/apt/sources.list.d/lofibox.sources >/dev/null <<'EOF'
Types: deb
URIs: https://vicliu624.github.io/lofibox-apt/debian
Suites: trixie
Components: main
Architectures: amd64 arm64 armhf
Signed-By: /etc/apt/keyrings/lofibox-archive-keyring.pgp
EOF

sudo apt update
sudo apt install lofibox
This is a preview repository. It is intended for user installs and testing before LoFiBox enters Debian's official repositories. The repository publishes amd64, arm64, and Raspberry Pi ARMv6-compatible armhf packages. Versions may include a ~lofibox<run> suffix; after the stable Debian flow is ready, this repository remains a preview channel.

New in 0.2.0

Browser control and built-in remix effects

The 0.2.0 preview packages publish the new WebUI surface and the built-in Remix plugin. WebUI gives another runtime projection in the browser; Remix adds realtime Radio, Tape, and Vinyl sound-color effects.

WebUI remote control

Start LoFiBox with --webui to control Now Playing, Queue, Library, Sources, EQ, Settings, and Diagnostics from a browser. It uses HTTP plus WebSocket live updates, with polling fallback.

HTTP WebSocket Mobile browser

Remix effects

Cycle OFF, Radio, Tape, and Vinyl without restarting playback. GUI, TUI, and WebUI use R; CLI users can run lofibox remix.

Radio Tape Vinyl

Open Source

Source repository and development entry points

The website and APT repository live here, but the application source of truth is vicliu624/LoFiBox-Zero. Use the source repository for code, issues, releases, CI status, and contribution history.

Application source

C++ runtime, GUI, TUI, CLI, packaging metadata, tests, and product specifications.

Issues

Report playback, metadata, lyrics, remote source, TUI, CLI, and packaging problems.

CI status

Track build, test, Debian packaging, lintian, and autopkgtest results for the application repository.

Interfaces

Four first-class entry points

WebUI serves browsers and phones, GUI serves small screens and desktop windows, TUI serves native terminal control, and CLI serves one-shot commands, scripts, systemd, tests, and Agents. They share one runtime.

WebUI

Browser-based remote control for playback, queue, library, sources, EQ, settings, diagnostics, and Remix state.

Browser WebSocket Remote control

GUI

Designed for 320x170 screens, X11 desktop windows, and device front panels. Covers the main menu, library, search, Now Playing, lyrics, and EQ.

Framebuffer X11 Low-resolution devices

TUI

A terminal console for Now Playing, Lyrics, Spectrum, Queue, and EQ. Built for SSH, servers, and developer workflows.

ANSI Unicode / ASCII Headless systems

CLI

A command surface for people and machines. Human-readable by default, with --json and --porcelain for scripts and Agents.

Stable exit codes Structured output Agent-friendly

Core Domains

Player capabilities

LoFiBox is a local-file player that brings the local media library, remote sources, metadata governance, lyrics, artwork, fingerprints, cache, and EQ into one product object model.

Local Library and Search

Scan media roots, inspect index status, query tracks, albums, artists, and genres, search consistently, and manage queues. CLI and GUI search use the same media item semantics.

Remote Media Sources

Remote media is split into a source configuration layer and a remote browsing/resolution layer. Supported targets include Jellyfin, Emby, Navidrome/OpenSubsonic, Direct URL, Internet Radio, Playlist Manifest, HLS/DASH, SMB/NFS/WebDAV/FTP/SFTP, and DLNA/UPnP.

Metadata, Lyrics, Artwork, Fingerprints

LoFiBox separates lookup, diff, apply, cache, writeback, and fingerprint indexing so auto-completion never silently becomes file mutation.

EQ / DSP

Supports 10-band graphic EQ, presets, preamp, ReplayGain, loudness, limiter, balance, HPF/LPF, bindings by device, content, or source, and plugin-backed Remix effects for Radio, Tape, and Vinyl color.

Screens

Interface previews

GUI, TUI, and CLI share one runtime, so desktop windows, terminal consoles, and script output agree on playback state and library meaning.

LoFiBox WebUI Now Playing page
WebUI Now Playing: browser remote control with live playback and Remix state.
LoFiBox WebUI album and library page
WebUI Library: browse albums, queue tracks, and keep the same runtime state.
LoFiBox GUI search window
GUI Search: one entry point across local and remote sources.
LoFiBox GUI lyrics view
GUI Lyrics: synchronized lyrics and current-line highlighting.
LoFiBox TUI lyrics view
TUI Lyrics: a terminal projection for scrolling lyrics.
LoFiBox CLI JSON status output
CLI JSON: status output for scripts, tests, and Agents.