CMus is an open source ncursed based lightweight, fast and powerful terminal audio player for Unix/Linux like operating systems. It was released and distributed under GNU General Public License (GPL) and runs exclusively through a terminal based user interface.
CMus was designed to run on a text-only user interface, that reduces the resources required to run the application on older computers as well as systems where X window system isn’t available.
CMus application was originally developed by Timo Hirvonen, but he discontinued development around in 2008. Later it was named “cmus-unofficial” and then taken over by SourceForge in November 2008. In February 2010, it was merge into the official project named “cmus“.
- Added support for many audio formats including MP3, MPEG, WMA, ALAC, Ogg Vorbis, FLAC, WavPack, Musepack, Wav, TTA, SHN and MOD.
- Faster start-up with thousands of tracks.
- Continuous playback and ReplayGain support.
- Steaming of Ogg and MP3 tracks from Icecast and Shoutcast.
- Strong music library filters and live filtering.
- Play queue and excellent compilations handling.
- Easy to use directory browser and customizable colors with dynamic keybindings.
- Added Vi style search mode and command mode with tab completion.
- Easily controlled via cmus-remote command (UNIX socket or TCP/IP).
- Runs on Unix-like systems, including Linux, OS X, FreeBSD, NetBSD, OpenBSD and Cygwin.
- For more core features visit THIS PAGE.
Installing CMUS Audio Player on Ubuntu/Debian and Linux Mint
To install CMus music player, open a terminal window by hitting “Ctrl+Alt+T” from the Desktop and run the following command to install it.
$ sudo apt-get install cmus
[sudo] password for tecmint: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: java-wrappers libjs-cropper libjs-prototype libjs-scriptaculous libphp-phpmailer libphp-snoopy tinymce Use 'apt-get autoremove' to remove them. The following extra packages will be installed: cmus-plugin-ffmpeg libao-common libao4 Suggested packages: libesd0 libesd-alsa0 The following NEW packages will be installed: cmus cmus-plugin-ffmpeg libao-common libao4 0 upgraded, 4 newly installed, 0 to remove and 36 not upgraded. Need to get 282 kB of archives. After this operation, 822 kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://in.archive.ubuntu.com/ubuntu/ raring/main libao-common all 1.1.0-2ubuntu1 [6,610 B] Get:2 http://in.archive.ubuntu.com/ubuntu/ raring/main libao4 i386 1.1.0-2ubuntu1 [37.7 kB] Get:3 http://in.archive.ubuntu.com/ubuntu/ raring/universe cmus i386 2.5.0-1 [228 kB] Get:4 http://in.archive.ubuntu.com/ubuntu/ raring/universe cmus-plugin-ffmpeg i386 2.5.0-1 [9,094 B] Fetched 282 kB in 18s (15.5 kB/s) Selecting previously unselected package libao-common. (Reading database ... 218196 files and directories currently installed.) Unpacking libao-common (from .../libao-common_1.1.0-2ubuntu1_all.deb) ... Selecting previously unselected package libao4:i386. Unpacking libao4:i386 (from .../libao4_1.1.0-2ubuntu1_i386.deb) ... Selecting previously unselected package cmus. Unpacking cmus (from .../archives/cmus_2.5.0-1_i386.deb) ... Selecting previously unselected package cmus-plugin-ffmpeg. Unpacking cmus-plugin-ffmpeg (from .../cmus-plugin-ffmpeg_2.5.0-1_i386.deb) ... Processing triggers for man-db ... Setting up libao-common (1.1.0-2ubuntu1) ... Setting up libao4:i386 (1.1.0-2ubuntu1) ... Setting up cmus (2.5.0-1) ... Setting up cmus-plugin-ffmpeg (2.5.0-1) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place
In case your package manager doesn’t provide an up to date version of cmus, you can get it from the adding following repository on your systems.
$ sudo add-apt-repository ppa:jmuc/cmus $ sudo apt-get update $ sudo apt-get install cmus
Installing CMUS Audio Player on RHEL/CentOS and Fedora
CMus audio player can be installed on Red Hat based system, using third party repository. So, let’s install and enable RPMForge repository on your systems. Once you’ve rpmforge enabled on your system, you can install using following ‘yum command‘.
# yum install cmus
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos-hcm.viettelidc.com.vn * rpmforge: be.mirror.eurid.eu * updates: mirrors.digipower.vn rpmforge | 1.9 kB 00:00 rpmforge/primary_db | 2.7 MB 00:53 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package cmus.i686 0:2.4.1-1.el6.rf will be installed Dependencies Resolved ============================================================================================= Package Arch Version Repository Size ============================================================================================= Installing: cmus i686 2.4.1-1.el6.rf rpmforge 294 k Transaction Summary ============================================================================================= Install 1 Package(s) Total download size: 1.0 M Installed size: 2 M Is this ok [y/N]: y Downloading Packages: (1/1): cmus-2.4.1-1.el6.rf.i686.rpm 294 kB 00:13 Installing : cmus-2.4.1-1.el6.rf.i686 23/23 Verifying : cmus-2.4.1-1.el6.rf.i686 17/23 Installed: cmus.i686 0:2.4.1-1.el6.rf Complete!
To launch first time, just type `cmus` in a terminal and press ‘Enter‘. It will start and open an album/artist view, which looks something like this.
$ sudo cmus
Adding Music to CMus
Open file browser view by pressing “5” and add some music. The view should be something similar to like this.
Use arrow keys to select the folder and hit ‘Enter‘ to navigate to the folder where you’ve stored all audio files. To add audio files to your library, use arrow keys to select a file or folder and press ‘a‘ key, will take you down to the next line (so it’s easy to add a lots of files/folders). So, start adding files or folders by pressing ‘a‘ on to your library. Once you’ve added music files, save them by typing “:save” on command prompt of cmus and press ‘Enter‘.
Playing Tracks From The CMus Library
To play track simply type ‘2‘ to get the library view. You will get something similar to like this.
Use the ‘up‘ and ‘down‘ keys to choose a track, that you like to play and press ‘Enter‘.
Use the ‘up‘ and ‘down‘ arrow keys to select a track you’d like to hear, and press ‘Enter‘ to play it.
Some CMus keys to control Play
Press *c* to pause/unpause Press right/left to seek by 10 seconds Press *<*/*>* seek by one minute Press "r" to repeat the track Press "s" to random order to play all tracks.
Managing The Queue
Suppose your are listening to a song, and want to play next song of your choice, without interrupting the currently running track. Simply go to the track that you want to play next and type ‘e‘.
To view/edit queue, press ‘4‘ and your queue view should looks like a simple library view.
If you would like to change the order of the tracks, you can by hitting ‘p‘ keys. To remove a track from the queue list, simple use ‘*shift-D‘.
The playlist mode on ‘3‘, but before moving to playlist view, lets add some songs. Press ‘2‘ to get the library view and go to the track that you want and press ‘y‘ to add. Now type ‘3‘ to go the newly created playlist.
Similar to queue view, where you can use ‘p‘ keys and ‘d‘ keys to move and delete songs from the playlist.
Search for track
To search a track go to the library view by pressing ‘2‘ and then press ‘/‘ to start a search. Type a track name you’re looking for. CMus will start searching for tracks that have all those words in them. Press ‘Enter‘ to get out of search mode and press ‘n‘ to find the next match.
As I said Cmus has bunch of very cool settings to tweak, like changing track disk numbers, enabling replaygian support or changing the keybindings. To get the quick view of current keybindings and settings, press ‘7‘ and to change setting or keybind use (up/down keys) and press ‘Enter‘.
Once you’ve done, press ‘:q‘ and hit ‘Enter‘ to quit. This will save all your library, settings, playlist and queue.
CMus application comes with a great reference manual. Here I not covered most of features and commands like ‘loading‘ and ‘saving‘ playlists, managing and controlling cmus remotely using ‘cmus-remote‘ command, etc. For more commands and options use *man cmus* in a terminal or read the following reference page.