# ncmpcpp

> ncurses-based terminal client for MPD (Music Player Daemon) with tag editor, playlist editor, media library, and visualizer, inspired by ncmpc.

Stars: 2.5k · Language: C++ · License: GPL-2.0 · Categories: System

- Repository: https://github.com/ncmpcpp/ncmpcpp
- Page: https://www.trmn.sh/tools/ncmpcpp

## Overview

ncmpcpp is a terminal music player client for MPD (Music Player Daemon), built with ncurses and inspired by ncmpc. It is a front end: MPD handles playback, and ncmpcpp provides the text interface for browsing, searching, and controlling it.

Its feature set includes a tag editor, a playlist editor, a search engine, a media library view, and a music visualizer. It can fetch artist info from last.fm, and it can fetch lyrics through curl. It also offers an alternative user interface and a new display mode. You can browse and add files from outside the MPD music directory.

Optional libraries enable some features. fftw enables the frequency spectrum visualization mode, and taglib enables tag editing. Required dependencies are boost, ncurses, readline, and curl. The README lists one known issue: encodings other than UTF-8 are not fully supported. The project is in maintenance mode, so only serious bugs and build breakage from dependency changes are expected to be fixed. It suits MPD users who prefer to manage their music library from a terminal.

The README documents building from source with autotools: run `autoreconf -fiv`, `./configure`, `make`, and `make install`. Optional features are enabled at configure time, for example `./configure --enable-visualizer`.

## Alternatives

- [csysdig](https://www.trmn.sh/tools/sysdig.md): Linux system visibility tool that captures syscalls and OS events, with container support; csysdig is its curses-based UI. (C++, 8.3k stars)
- [lnav](https://www.trmn.sh/tools/lnav.md): Terminal log file viewer that merges, formats, and indexes log files with SQL analysis and real-time monitoring (C++, 10.8k stars)
- [btop](https://www.trmn.sh/tools/btop.md): Terminal-based system resource monitor showing CPU, memory, disk, network, and process information (C++, 35.2k stars)
- [dysk](https://www.trmn.sh/tools/dysk.md): A Linux/Mac utility for listing and analyzing filesystem information with customizable columns, filtering, and output formats. (2.9k stars)
- [zenith](https://www.trmn.sh/tools/zenith.md): Terminal-based system monitor with graphical metrics for CPU, memory, network, disk usage, and process management written in Rust (Rust, 3.1k stars)

---

Canonical: https://www.trmn.sh/tools/ncmpcpp
