hum: A TUI MPD client, inspired by ncmpcpp

[ gpl, library, program, sound ] [ Propose Tags ]

A TUI MPD client, inspired by ncmpcpp. Built using brick and libmpd.

[Skip to Readme]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Versions [RSS],
Change log
Dependencies array (>=0.5 && <0.6), base (>=4.11 && <4.15), brick (>=0.59), bytestring (>=0.10.10 && <0.12), containers (>=0.6.2 && <0.7), directory (>= && <1.4), filepath (>=1.4.2 && <1.5), hum, lens (>=4.19.2 && <4.20), libmpd (>=0.10 && <0.11), mtl (>=2.2.2 && <2.3), regex-tdfa (>= && <1.4), relude (>=0.7.0 && <0.8), template-haskell (>=2.13.0 && <2.17), text (>=1.2.3 && <1.3), text-zipper (>=0.10.1 && <0.12), time (>=1.9.3 && <1.12), transformers (>= && <0.6), vector (>=0.12.1 && <0.13), vty (>=5.32), witherable (>=0.4 && <0.5) [details]
License GPL-2.0-or-later
Copyright (c) Itai Efrat 2020
Author Itai Y. Efrat
Revised Revision 3 made by iyefrat at 2021-03-04T00:30:39Z
Category Sound
Source repo head: git clone
Uploaded by iyefrat at 2021-01-25T19:43:25Z
Distributions NixOS:
Executables hum
Downloads 229 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-01-25 [all 1 reports]

Readme for hum-

[back to package description]

Hum: a Haskell Music Manager

A TUI mpd client, currently in beta and under active development.

The plan is to basically reimplement ncmpcpp in haskell (at least featurewise). The reasons are as follows:

  • Haskell is much more fun than C++
  • I find the tag editor of ncmpcpp to be lacking and want to change it
  • Generally, I want to change some stuff with the UI
  • It's faster (try scrolling down the artists in the library in both programs)
  • I wanted to design the program around vim style bindings
  • I don't know C++


As this is an MPD client, you will need to install mpd from your favorite package manager.

You can install hum either by running cabal install hum to install directly from hackage, or by cloning the repo and running cabal install from within it.



  • playback keys
  • Viewing the Queue, Library, and Playlists screens
  • Editing the Queue with vim like cut copy and paste
  • adding and bulk adding songs from the Library and Play nlists
  • vim style search
  • a help command
  • playlist editing


  • better documentation
  • tag info and editing
  • mpdish file browser and more advanced search
  • visualizer because why not
  • having a random mode when you can see what the next song is
  • making the UI nicer
  • more commands
  • more vimmy keybindings (e.g. 10j, perhaps making y and d verbs)
  • doing stuff with album art using uegerzug
  • config file

For a list of all the keybindings and ex style commands, type :help and press RET.