Ubuntu / Linux news and application reviews.

CMus (C* Music Player) is an ncurses-based audio player that runs in a shell, with no need for an X server which is very configurable with Vi-like commands, multiple views and keyboard shortcuts. It supports various audio formats, including Ogg Vorbis, FLAC, MP3, WAV, AAC or WMA. CMus comes with everything you need: playlist support, queue system, seek, Last.fm (if compiled from source and then apply a patch - see below) and well, basically every feature you see in a fully-featured audio player.


Library viewSorted library viewPlaylist

Note: In the above screenshots, CMus runs in Yakuake

How to install CMus

Ubuntu users just have to type this in a terminal:
sudo apt-get install cmus

If CMus is not in your distribution repository, you can download it from here and then compile it.

If you also want the Last.fm support, you must compile it and use a patch. Download it from here and put it in the same folder you extracted CMus. Then to patch CMus, run this in a terminal (navigate to it's folder first):
patch < as.patch

Then you must compile it. It only has one dependency: ncurses, so make sure that's installed.

Optional dependencies:
* alsa-lib [ALSA]
* libao [libao]
* artsc [ARTS]
* flac [.flac]
* libvorbis [.ogg]
* libmad [.mp3]
* libmpcdec [.mpc, .mpp, .mp+]
* libmodplug [.mod, .s3m, ...]
* libmikmod [.mod, .s3m, ...]
* wavpack [.wv]
* mp4v2, faad [.mp4, m4a, m4b]
* faad [.aac]
* ffmpeg [.wma]

To compile it, run this in a terminal:
make install

And then run CMus:

After applying the patch and compiling, use the following commands to set up your Last.fm account:
:set as_enable=true
:set as_user=(Your Last.fm Username)
:set as_pass=(Your Last.fm Password)

How to use CMus

Note: To enter the following commands you must type ":".

-To add a folder to the library, type the following command:
:add /path/to/folder/
Then use the UP and DOWN arrows to navigate through the list, then press SPACE to expand current artist and then TAB to select a song from the currently selected album. To play a song you just have to press enter, obviously. To pause: C, stop: V.

CMus comes with multiple views: simply press 1-7 keys to switch between them:

  1. Library view
  2. Sorted library view
  3. Playlist view
  4. Play queue view
  5. File Browser
  6. Filters view
  7. Settings view

CMus also supports configurable colour schemes, which you can customize by using the :colorscheme command.

To search for a song, press "/" and then start typing. After deciding what to search for, press enter and then n to search next or N for previous match.

To select tracks in playlist or queue views, press SPACE and then D or delete to remove marked or selected tracks in the current view (1-4). The tracks will be removed immediately from the view without asking for confirmation. In the browser and filters views the same keys are used to remove a file or filter (will ask for confirmation).

Other useful commands:

-change output plugin:
:set output_plugin=oss
-copy tracks to the library: a
-copy tracks to the playlist: y
-append tracks to the play queue: e
-prepend tracks to the play queue: E
-save the current playlist into playlist.pls:
:save ~/playlist.pls
-load playlist.pls:
:load playlist.pls 

You can also change the key to perform an action:
bind -f <context> <key> <command>

But the easiest way to do this is go to your home folder, press CTRL + H to view hidden folders, then navigate to the .cmus directory and search for lines begining with "bind" and then change they key for a certain command.

For a complete list of commands and documentation, open a terminal and type:
man cmus

One last thing: I recommend running it in Yakuake.