Cmus, a really awesome audio/Music Player
It’s not often that I talk about a package which is text console only, and runs in a terminal, however cmus is one of those rare exceptions, as it’s just so slick, and awesome once you learn how to use it.
Honestly, it has quickly become my go-to music player. Don’t get me wrong. I use vlc quite frequently as well, but if I want to play just a simple song quicly, cmus is your friend.
First, to install on Debian based systems, you can run
sudo apt-get install cmus
And then press enter, and say yes to install.
On Fedora and other Redhat derivatives, you can run
sudo dnf install cmus
It should work similarly with pacman.
Once installed, you can launch it from a terminal simply by typing… you guessed it…
cmus
Let’s talk about how cmus is laid out.
Cmus uses a vertical menu type structure. In other words, up and down arrow keys move the highlighted focus selection up and down through a menu. Whether you’re using a text based screen reader like espeakup, or finrir, or if you are using Orca, this will read absolutely perfectly. Once on the option you require, as you’d expect, just press the enter key. Note this is the actual enter key above the right shift key. Not the one on your numpad.
At the very bottom of the screen, there is a status bar which shows output for the last action’s results taken. So, for example, let’s say that you start playing a song of your choice. That status bar at the bottom will show the last action taken. Since, in this case, the last thing was you playing X song, it will tell you that X song is playing.
However, there’s something even cooler about this status bar area. Cmus has its own set of commands you can type to execute just about everything within the program. Now before you start pannicking, let me say this… You absolutely do not! have to learn all of those commands to use this player… NOt even close! The commands are there if you need to use them, and some things do require full typed commands, but 95 percent of what you’re going to be doing does not involve needing to enter raw commands, so relax.
When you first launch the package, you will, by default, be taken to the library tree view.
I personally haven’t used this view much, but essentially, by default, it will show you all tracks in your library. Don’t worry. This isn’t all iTunes like with its library. In fact, you don’t even have to use the library at all if you’d rather not.
If you down arrow one time, you’ll be taken to the first artist in your library and shown all tracks by the artist. As you down arrow, you’ll be taken to the next artist, and of corse, up arrow takes you to the previous. To then browse all songs by an artist in this view, just hit enter on the artist.
I’m sure you’re asking, what if I had a bazillian artists in my library? I don’t wanna arrow through 80 umfzillian items just to get to “The Singing Idiots.” LOL! Just kidding on the band name. Hahaha.
But in all seriousness, don’t worry. There is a way to search within the current view. We’ll get to that a bit later in this guide, don’t fret. For now, just no that yes. It is possible.
Obviously, the first time you launch cmus, while you’ll be in the view we’ve been discussing, nothing will be there on the screen in your virtical artists list, because, well, think about it… YOu’ve not yet added anything to your library, so there won’t be anything there.
So how do we fix this? The answer is, we need to start by understanding the different views within cmux.
So once it’s launched, numbers 1 through 7 on your qwerty keyboard or rather, on your numbers row, cycle you between the 7 different views. The most common ones you’ll use are the artists view we have already been talking about. To get there, from anywhere in the app, just press numrow 1. No need to hit enter afterward.
Pressing 2 on your numrow will take you again to your library, but this shows all songs sorted by albumartist. Now yes. In the settings, you can change that if you insist. I wouldn’t, but if you really want to, you can.
3 on your numrow takes you into playlist view. Here, you’ll find, if any, all the playlists you create within the app. You’ll also find that in here is where you’ll add playlists, etcetera. You down arrow like all the other views, and when focused on the playlist you want, you hit enter to select it.
By the way, when on a playlist, if you want to delete it, just hit the lowercase letter D, as in delete.
Pressing 4 on the numrow takes you into your upcoming queue. You can indeed rearrange the tracks in the queue, but that goes beyond the scope of this guide, as this isn’t a comprehensive guide, as much as it’s just enough to get you started.
Pressing 5 on the numrow takes you to the file browser. And this, my friend, is where you’ll start after opening the application in order to either add things to your library, or to just simply play them as is.
When in this file browser view, up and down arrow keys move you between items. Pressing enter will open a directory once it’s highlighted. Keep in mind, if you are focused on an actual audio file rather than a directory, and you press enter, it’ll begin playing that track. If this happens, you can pause playback by pressing the lowercase letter C, as in Charley. To resume, just hit the letter C again.
At the very top of the file browser view, regardless what folder you are in, you’ll see always at the top of the list something with 2 periods. Most likely it’ll say dot dot. If you press enter on this, you’ll back up one level in the directory hierarchy, going to the parent directory.
I honestly don’t remember what numrow 6 does, but numrow 7 takes you into settings.
Here, you can customize any of the key bindings to suit your needs, if you don’t like something by default.
There are quite a lot of other things in here as well.
To give you a little idea of some common used shortcuts,
Lowercase A is for add. This adds a playlist when in the playlist view 3. In the browser mode 5, it adds the currently highlighted item to your library.
Capital A from any view adds the current item to the play queue.
Lowercase x, as in x-ray, from anywhere is play.
Lowercase Z, as in zulu, is previous track. This works like an old classic CD player. If you’re more than a second into the song, it returns you to the beginning of the song.
Lowercase B, as in bravo, takes you to the next track from any of the 7 views.
Dash, or rather, hyphen, call it what you will, decreases the inlined volume.
Equals, note, don’t shift it. It’s literally equals, not plus, is volume up.
Comma is rewind.
Period is fast forward.
Spacebar selects and marks an item for multi-item selection. It’s a toggle. One press marks, again, unmarks. Think of it like a checkbox.
Slash, not backslash, I’m talking just the regular slash key, puts you in search mode for the current view. Type your query, and then hit enter. Your speach might not say anything after hitting enter, so if this happens, read your current flat review line to figure out where you’re at.
Lower case N finds the next occurance.
Capital N finds the previous occurance.
Lower case S toggles on and off shuffle.
Lowercase R toggles on and off repeat.
Lower case Q quits the program.
The only other thing I want to cover briefly is command mode. Remember how I said earlier that you could type raw commands to do certain things? I’m not going to go into any of those commands. I encourage you strongly to read the manual, yes, I really said that…
man cmus
But generally speaking, any command needs to be started with a colon.
For example…
:fakecommand
After typing the command, as you’d expect, press enter.
As you can see, this thing might be command line interfaced, but man is it powerful! Personally, I love it! Yeah, it takes some learning and getting used to, especially if you’re not confident with cli based applications, but trust me. If you stick with it, it really is a pretty awesome little player.