audium 0.9.2

A terminal music app
audium-0.9.2 is not a library.
 █████╗ ██╗   ██╗██████╗ ██╗██╗   ██╗███╗   ███╗
██╔══██╗██║   ██║██╔══██╗██║██║   ██║████╗ ████║
███████║██║   ██║██║  ██║██║██║   ██║██╔████╔██║
██╔══██║██║   ██║██║  ██║██║██║   ██║██║╚██╔╝██║
██║  ██║╚██████╔╝██████╔╝██║╚██████╔╝██║ ╚═╝ ██║
╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝     ╚═╝

A terminal music player.

crates.io AUR License

Website · Installation · Keybindings · Building


 audium  —  terminal music player      [?] help  [f] file picker  [c] playlist  [q] quit
┌─────────────────────────┬──────────────────────────────────────────────────────┐
│ Playlists               │ All Tracks                                           │
│                         │  #    Title                                          │
│ > All Tracks (4)        │     1  04 - Neon Arpeggio                            │
│   Late Night (2)        │     2  Drift                                         │
│   Focus (2)             │  >  3  Weightless (feat. Macarena)                   │
│                         │     4  The River Calls                               │
│                         │                                                      │
│                         ├──────────────────────────────────────────────────────┤
│                         │ Queue                                                │
│                         │     1  04 - Neon Arpeggio                            │
│                         │     2  Drift                                         │
│                         │  >  3  Weightless (feat. Macarena)                   │
└─────────────────────────┴──────────────────────────────────────────────────────┘
⏸  Weightless (feat. Macarena)
████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  2:14 / 5:02

Features

  • Keyboard-driven — every action is one key. Mouse optional.
  • Playlists — create, rename, delete. All Tracks is always there.
  • Built-in file picker — import audio files without leaving the app.
  • Threaded audio — playback on its own thread; UI interaction never stutters playback.
  • Persistent library — stored at ~/.audium/library.json. Plain JSON, easy to back up.
  • Format agnostic — MP3, FLAC, OGG, WAV, AAC, M4A, Opus, AIFF and more via Symphonia. No FFmpeg required.
  • Tiny binary~3 MB stripped release build, no runtime dependencies on macOS.

Installation

Cargo

cargo install audium

On Linux, Requires ALSA development headers to build and ALSA to run. (see how to install below on this README) Requires Rust 1.85+ (MSRV). Installs the audium binary to ~/.cargo/bin/.

AUR (Arch Linux)

paru -S audium
# or: yay -S audium

Usage

# Launch with your library
audium

# Open a specific file immediately (imports it to your library)
audium path/to/song.flac

audium stores your library at ~/.audium/library.json and your music at ~/.audium/music/.


Keybindings

Global

Key Action
q Quit
Tab Cycle panel focus
? Toggle help overlay

Playback

Key Action
Space Play / Pause
n Next track
N Previous track
/ Seek backward / forward
+ / = Volume up
- Volume down

Navigation

Key Action
j / Move cursor down
k / Move cursor up
Enter Play selected track

Library & Queue

Key Action
f Open file picker
a Add selected track to queue
p Add selected track to a playlist
c Create new playlist
z Shuffle playlist into queue
d Remove selected item
r Rename selected track or playlist
x Remove selected item from queue
s Open settings

Building from source

git clone https://github.com/takashialpha/audium
cd audium
cargo build --release
# binary is at ./target/release/audium

Linux requires ALSA and its development headers:

# Debian / Ubuntu
sudo apt install alsa-base alsa-utils libasound2-dev

# Arch
sudo pacman -S alsa-utils alsa-lib

# Fedora
sudo dnf install alsa-utils alsa-lib-devel

macOS has no extra dependencies.

Windows: audium compiles on Windows (no additional dependencies) but is not an officially supported platform and has not been tested.


Library layout

~/.audium/
├── library.json   # track registry + playlists
└── music/         # copies of all imported audio files

library.json is human-readable. You can edit it directly if needed, though audium will re-validate it on next launch.


Contributing

Issues and pull requests are welcome. Please open an issue before starting work on a large change.


License

Apache-2.0 © takashialpha