The terminal is usually used to accomplish administrative tasks on a Linux system such as installing packages, configuring services, updating, and upgrading packages to mention a few.
But did you also know you can enjoy playing your favourite audio files straight from the terminal? Yes, you can, thanks to some cool and innovative console-based music players.
In this guide, we shine the spotlight on the best command-line music players for Linux.
1. CMUS – Console Music Player
Written in C programming language, CMUS is a lightweight yet powerful console-based music player designed for Unix/Linux systems. It supports a wide range of audio formats and is quite easy to navigate once you have mastered some basic commands.
Let’s take a look at some of the main features in brief:
- Support for an array of popular music formats including mp3, aac, wave, and flac to mention a few.
- Output sound in ALSA and JACK format.
- Ability to organize your music in playlists and create queues for your songs. With CMUS, you can also create your custom music library.
- Plenty of keyboard shortcuts that you can use to make your user experience fun.
- Support for gapless playback that lets you play music without interruption.
- You can find extensions and other handy scripts from CMUS’s wiki.
Install CMUS on Linux
$ sudo apt install cmus [On Debian, Ubuntu and Mint] $ sudo yum install cmus [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/cmus [On Gentoo Linux] $ sudo apk add cmus [On Alpine Linux] $ sudo pacman -S cmus [On Arch Linux] $ sudo zypper install cmus [On OpenSUSE]
2. MOC – Music On Console
Short for Music On Console, MOC is a light and easy-to-use command-line music player that allows you to select a directory and play audio files contained in the directory beginning with the first on the list.
Let’s take a look at some of the key features:
- Support for gapless playback.
- Support for audio files such as wav, mp3, mp4, flac, oog, aac, and MIDI.
- User defined-keys or keyboard shortcuts.
- ALSA, JACK & OSS audio output.
- A collection of customizable color themes.
Install MOC on Linux
$ sudo apt install moc [On Debian, Ubuntu and Mint] $ sudo yum install moc [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/moc [On Gentoo Linux] $ sudo apk add moc [On Alpine Linux] $ sudo pacman -S moc [On Arch Linux] $ sudo zypper install moc [On OpenSUSE]
3. Musikcube
Musikcube is another free and open-source terminal-based music player that leverages a collection of plugins written in C++ to provide functionality such as data streaming, digital signal processing, output handling and so much more.
Musikcube is a cross-platform music player that can even run on Raspberry Pi. It uses the SQLite database for storing playlists and tracking metadata. It runs purely on a text-based UI built with ncurses.
Let’s take a look at some of the key features:
- Can deliver an output of 24bit/192k audio with ease.
- The music player offers both playlists and play queue management.
- Can act as a streaming audio client on a headless server.
- Support for libraries with over 100,000 tracks.
- It provides gapless playback with a cross-fading effect along with index tagging.
For installation, head over to the releases page and grab the .deb
or .rpm
for your version of Linux and install it using the installation guide to get up and running.
4. mpg123 – Audio Player and Decoder
The mpg123 player is a free and open-source fast console-based audio player and decoder written in C language. It is tailored for both Windows & Unix/Linux systems.
Let’s take a look at some of the key features:
- Gapless playback of mp3 audio files.
- Built-in terminal shortcuts.
- Supports many platforms ( Windows, Linux, BSD, and macOS ).
- Multiple Audio options.
- Support a vast variety of audio output including ALSA, JACK, and OSS.
Install mpg123 on Linux
$ sudo apt install mpg123 [On Debian, Ubuntu and Mint] $ sudo yum install mpg123 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/mpg123 [On Gentoo Linux] $ sudo apk add mpg123 [On Alpine Linux] $ sudo pacman -S mpg123 [On Arch Linux] $ sudo zypper install mpg123 [On OpenSUSE]
5. Mp3blaster – Audio Player for Console
Mp3blaster has been around since 1997. Sadly it hasn’t been in active development since 2017. Nevertheless, it’s still a decent terminal-based audio player that lets you enjoy your audio tracks. You can find the official repo hosted on GitHub.
Let’s take a look at some of the key features:
- Support for shortcut keys which makes it relatively easy to use.
- Commendable playlist support.
- Great sound quality.
Install Mp3blaster on Linux
$ sudo apt install mp3blaster [On Debian, Ubuntu and Mint] $ sudo yum install mp3blaster [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/mp3blaster [On Gentoo Linux] $ sudo apk add mp3blaster [On Alpine Linux] $ sudo pacman -S mp3blaster [On Arch Linux] $ sudo zypper install mp3blaster [On OpenSUSE]
6. Cue Music Player
Cue is a tiny open-source command-line music player for Linux, which was created by Ravachol. It searches your music library for the words you’ve provided, creates a playlist, plays the music, and prints out the album cover in ANSI/ASCII in the terminal.
Here are some of the features of cue:
- Searches your music library for the words you’ve provided.
- Creates a playlist of the matching songs.
- Plays the music in the playlist.
- Prints out the album cover in ANSI/ASCII in the terminal.
- Supports a variety of audio formats, including MP3, FLAC, and WAV.
- Can be controlled with keyboard shortcuts.
To install cue, you need to use the following installer script using the curl command as shown.
$ sudo bash -c "curl https://raw.githubusercontent.com/ravachol/cue/main/install.sh | bash"
That was a round-up of some of the most popular command-line players available for Linux, and even for Windows. Is there any you feel we have left out? Give us a shout.