September 17, 2021

I’ve been using cmus as my main music for almost a year and I am pretty happy with it. It has a low memory fingerprint, and it easily parses large database of MP3. Of course, it is a lot different from Apple’s own music player, iTunes, which I used to love before they made so many updates to the app that it no longer resembles the app it was ten years ago. Cmus is simple, yet powerful.

I also tried mpv, which I consider as the best CLI tool for multimedia files after ffmpeg — and not only because Glen Gould is on the cover, and VLC. VLC is fine but I mostly use mpv to watch videos or Youtube downloads on my computer. I even have a script, called playme, to launch a playlist in the background:


case "$1" in
    kitty @ launch --type tab --tab-title "mpv" mpv --shuffle --no-audio-display ~/Media/Music/Jazz\ Chill
    mpv --shuffle --no-audio-display --no-terminal  ~/Media/Music/Jazz\ Chill
      echo "Usage: $0 {kitty|term}"
      exit 2

exit 0

It works fine to just launch 12 hours of music in the background and get back to work. I also found a little script that helps to display the current song in my status bar (which actually is a customized polybar). Likewise I have a script to display the current track from cmus, with interactive mouse actions (stop, skip forward/backward in playlist). It looks like it is easier to manage cmus state thanks to cmus-remote which handles most of the actions we expect from a mini player. See also Workflow Optimization Part 3: Sidekick Programs for i3 for a solution similar to mine.

There’s a lot more to see with cmus extensions.

Should you want to fetch music directly from Youtube, you can use the following hack. You will likely need to install a bunch of additional libraries on Ubuntu, but it works fine. This may help developing additional command to fetch music from external provider (e.g. Bandcamp, or online radio).
If you use mpris, you can get cover art in Gnome notification applet almost for free, see this fork: cmus-mpris-album-art.


See Also

» Nyxt browser and other handy TUI apps » Neomutt » Timeshift for system backup » Now using i3wm as a window manager » Ubuntu on a MacBook Pro