Ncmpcpp, favorite Linux music player

When I listen to music, I like simplicity. I have the music on my HDD, and while I have a Spotify account, I haven't used it for months. Most music I listen to I download from youtube via youtube-dl (check your repositories for download). It has a GUI, but I use it from command line via a pre-defined alias which takes care of things since the program itself first and foremost is for downloading videos.

ncmpcpp playlistncmpcpp: playlist view

For music I use mpd for years now. Mpd stands for music player daemon, it shines when you want to reach a music library through a network, but it is very effective for local stuff too. It is not a music player though, so you need to install a player and configure it, according to a nice wiki.

There are many mpd clients, but my favorite at the moment is ncmpcpp. It's a terminal based player, which has many really good features.

The base view show you the current playlist. You can switch between views with numbers. The second view has a simple browser of the music library, where you can update it, or add some tracks to the playlist.

ncmpcpp searchncmpcpp: Detailed search function

Ncmpcpp has a full search function, where we can filter in our library based on artist, title, album, filename, etc. Very useful and fast too.

There is an artists view, where it shows you the library according to artists. However you may download some music or podcast where they didn't properly tagged the file, but luckily ncmpcpp has a proper tag editor! It's magic, without all the fancy GUI which just takes up resources.

ncmpcpp visualizer with fifoncmpcpp: visualizer

If you are into visual stuff, you can have a visualizer via fifo.

For custom shortcuts, you have to create the ~/.ncmpcpp/bindings file. For a little bit of vim, here is mine:

# the t key isn't used and it's easier to press than /, so lets use it
def_key "t" 
find
def_key "t"
find_item_forward

def_key "+"
show_clock
def_key "="
volume_up

def_key "j"
scroll_down
def_key "k"
scroll_up

def_key "ctrl-u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "ctrl-d"
page_down
#push_characters "jjjjjjjjjjjjjjj"

def_key "h"
previous_column
def_key "l"
next_column

def_key "."
show_lyrics

def_key "n"
next_found_item
def_key "N"
previous_found_item

# not used but bound
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up

Hardest thing is probably the configuration both for mpd and ncmpcpp, otherwise it's a solid solution for listening to music. I advise to chech the wikis and the r/unixporn subreddit for further customizations.

Screenshots