Play a local music library from the terminal with keyboard controls.
View album cover art rendered directly in the terminal window while a song plays.
Browse and search a music folder without leaving the command line.
Switch between color themes and a live audio wave visualizer while listening.
| nesthings/fuskyom | elliotgao2/handsets | moritzheiber/crowbar | |
|---|---|---|---|
| Stars | 34 | 35 | 35 |
| Language | Rust | Rust | Rust |
| Last pushed | — | — | 2023-06-01 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 2/5 | 3/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires installing Rust, chafa, and platform-specific audio or build libraries.
This project is a music player that runs entirely inside a terminal window rather than a graphical app, written in the Rust programming language. It is inspired by an older terminal music player called cmus, and its main extra feature is that it can display a song's album cover art directly in the terminal, using colored text blocks to draw the image. A user points it at a folder of music files and gets a text based interface for browsing folders and audio files, playing and pausing tracks, seeking within a song, adjusting volume, and searching the library by typing. It supports common audio formats including MP3, FLAC, OGG, WAV, M4A, and AIFF. There is a settings screen for choosing default music folders, switching between five color themes, and toggling an audio wave visualizer that can look like a bar chart or a sparkline. It plays audio on its own separate background thread so that drawing the album art or updating the screen never causes the music to stutter. Internally it uses a handful of Rust libraries for reading audio files, decoding different formats, extracting embedded cover art, and rendering the interface. Installing it requires setting up the Rust programming toolchain, then either downloading a pre-built version from the project's releases page on Linux, or compiling it from source on Linux, macOS, or Windows. It also depends on a separate terminal image rendering tool called chafa being installed on the system, plus some audio and build libraries depending on the operating system. This is aimed at people comfortable working in a terminal who want a lightweight, keyboard driven way to play their own local music library, rather than a streaming service.
A terminal based music player, written in Rust, that shows album cover art using colored text blocks.
Mainly Rust. The stack also includes Rust, ratatui, chafa.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.