From ArchWiki
Revision as of 22:02, 20 June 2014 by Pyroh (talk | contribs) (Last.FM support has been deprecated for a while, also I made some grammar fixes. It's still not perfect but the point gets across.)
Jump to: navigation, search

Ncmpcpp or ncmpcpp is an mpd client (compatible with mopidy) with a UI very similar to ncmpc, but it provides new useful features such as support for regular expressions for library searches, extended song format, items filtering, the ability to sort playlists, and a local filesystem browser.

To use it, a functional mpd must be present on the system since ncmpcpp/mpd work together in a client/server relationship.


Install ncmpcpp from the official repositories.

Basic configuration

The shell "GUI" for ncmpcpp is highly customizable. Edit ~/.ncmpcpp/config to your liking. If, after installation, ~/.ncmpcpp/config has not been created, you could copy the sample config, change owner and edit at the very least the following three configuration options:

  • mpd_host - Should point to the host on which mpd resides, can be "localhost" or "" if on the same machine
  • mpd_port - Unless you've changed the defaults of mpd, this should be "6600"
  • mpd_music_dir - The same directory value as specified in "music_directory" in mpd.conf

For inspiration, see the following resources:

Enabling visualization

For visualization, add a few lines to /etc/mpd.conf to enable the generation of the fast Fourier transform data for the visualization:

audio_output {
    type                    "fifo"
    name                    "my_fifo"
    path                    "/tmp/mpd.fifo"
    format                  "44100:16:2"

Additional lines need to be added to ~/.ncmpcpp/config

visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "30" 
visualizer_in_stereo = "yes"
#visualizer_type = "wave" (spectrum/wave)
visualizer_type = "spectrum" (spectrum/wave)
  • visualizer_sync_interval - Set the interval for synchronizing the visualizer with the audio output from mpd. It should be set to greater than 10 to avoid trying to synchronize too frequently, which freezes the visualization. The recommended value is 30, but it can be reduced if the audio becomes desynced with the visualization.
  • visualizer_type - Set the visualization to either a spectrum analyzer or wave form.

Basic usage

Loading ncmpcpp

Load ncmpcpp in a shell:

$ ncmpcpp

Different views

Partial list of views within ncmpcpp:

  • 0 - Clock
  • 1 - Help
  • 2 - Current playlist
  • 3 - Filesystem browser
  • 4 - DB search
  • 5 - Library
  • 6 - Playlist editor
  • 7 - Tag editor (very powerful!)
  • 9 - Music visualizer

Other UI keys

  • \ - Switch between classic and alternative views
  • # - Display bitrate of file
  • i - Show song info
  • I - Show artist info (saved in ~/.ncmpcpp/artists/ARTIST.txt)
  • L - Shuffle between available lyric databases
  • l - Retrieve song lyrics for current song Show/hide lyrics

Playback modes

Noticed the control panel in the upper right; shown in alternative mode:

1:40/4:16 1082 kbps                            ──┤ Criminal ├──                                       Vol: 98%
[playing]                             Disturbed - Indestructible (2008)                               [-z-c--]

And again in classic mode:


This corresponds to the playback modes; ordered from left to right, they are:

  • r - repeat mode [r-----]
  • z - random mode [-z----]
  • y - single mode [--s---]
  • R - consume mode [---c--]
  • x - crossfade mode [----x-]

The final "-" is only active when the user forces an update to the datebase via u.

Remapping keys

A listing of keys and their respective functions is available from within npmpcpp itself via hitting 1. Users may remap any of the default keys simply by copying /usr/share/doc/ncmpcpp/keys to ~/.ncmpcpp/ and editing it. ncmpcpp-gitAUR users have to copy /usr/share/doc/ncmpcpp/bindings instead.

See also configurations