Seconding this. You can't get more lightweight than mpd while still having a boatload of features. ncmpcpp is just one of several front-ends, but it's the most popular one and is still actively developed. I liked to use Sonata (a GTK2 client) in the past, but I don't think that one's maintained anymore.
Also worth mentioning is mpDris2 to integrate mpd into desktop environments like GNOME/KDE, Mpdroid to control mpd from your phone and mpc for scripts/complex keybindings.