cmus
Console music player for Unix-like systems with ncurses interface and optional input/output plugins for many audio formats and backends.
cmus (C* Music Player) is a console music player for Unix-like operating systems. It runs in a terminal using an ncurses interface and is written in C. It is documented through two man pages: cmus and cmus-tutorial.
Audio support is built from optional input and output plugins that are selected at build time. ./configure auto-detects available features, and the generated config.mk shows which CONFIG_* options were enabled. The README lists dependency packages for plugins covering formats and backends such as FLAC, Ogg Vorbis, Opus, MP3 (libmad), Musepack, WavPack, ModPlug, AAC (faad), and FFmpeg (libavformat/libavcodec), plus CD audio with CDDB/discid lookup. Output options include ALSA, libao, JACK, PulseAudio, and sndio. Only pkg-config, ncurses, iconv, and elogind/systemd are required.
It is built from source with ./configure, make and make install (use gmake on some BSD systems). The README gives dependency install commands for Debian/Ubuntu, Fedora/RHEL (with RPMFusion), Arch Linux, Alpine, Termux, and Homebrew. A DESTDIR option supports staged installs for packaging. It suits users who want to play a local music library from the terminal. Building with ./configure DEBUG=2 writes debug output to ~/cmus-debug.txt.
Alternatives & related tools
CAVA
Cross-platform bar spectrum audio visualizer for the terminal or SDL desktop window, with PipeWire, PulseAudio, ALSA, JACK and other input backends.
htop
Cross-platform interactive process viewer with real-time system monitoring and process management
nvtop
htop-like GPU and accelerator task monitor supporting NVIDIA, AMD, Intel, Apple, and other vendors
GoAccess
Real-time web server log analyzer written in C that shows HTTP statistics in a terminal or a live HTML dashboard, with JSON and CSV export.
fastfetch
System information tool that displays hardware and OS details with customizable ASCII art logos and module configuration
add a badge to your README
Maintain cmus? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/cmus?utm_source=badge)<a href="https://www.trmn.sh/tools/cmus?utm_source=badge"><img src="https://www.trmn.sh/badge/cmus.svg" alt="Featured on trmn" height="20"></a>