Top 6 Command Line Music Players for Linux Users

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.
CMUS Console Music Player
CMUS Console Music Player

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.
Moc - Music On Console
Moc – Music On Console

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.
Musikcube – Terminal Based Music Player
Musikcube – Terminal Based Music Player

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.
Mpg123 - Audio Player and Decoder
Mpg123 – Audio Player and Decoder

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.
Mp3blaster - Audio Player for Linux Console
Mp3blaster – Audio Player for Linux Console

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"
Cue Music Player
Cue Music Player

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.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

18 Comments

Leave a Reply
  1. Thank you for sharing. Tera (https://github.com/shinokada/tera) is easy to install and operate. You can listen to 27780+ radio stations powered by Radio Browser API. It uses the MPV, a free, open-source, and cross-platform media player.

    You can CRUD favorite lists and play from a list. You can search radio stations by tag, name, language, country code, state.

    You can save a station to a list after playing and delete a radio station from a list. It has the I feel lucky menu. And it has Gist upload to save your lists as well.

    Reply
  2. I’m using a terminal player called gst123 is this connected to mp3123? It can handle not only mpg but FLAC, Ogg, and other formats. I’ve been using it for several months now.

    Reply
    • Good one. It shows the current position by default and navigation is easy & intuitive using arrow keys, unlike many of the above which don’t have realistic scales of navigation for longer audio, like podcasts.

      It’s a pity the help doesn’t list the control keys though – main keyboard -/+ control the volume.

      Works on Raspberry Pi Bookworm.

      Reply
      • Hey, check it out.

        I made a command-line music player that you might like. it searches your music library with partial words, creates a playlist automatically and prints out the album cover in ANSI/ASCII:

        https://github.com/ravachol/cue

        Reply
  3. My favourite songs are from Hillsong and that one in your playlist is a nice one too, though I am not sure if “…hurts like hell…” is appropriate or fits the theme at all. Anyhow, it’s not as good as I Surrender, or Holy Spirit Rain Down, but still it is good to know we are not alone ;-)

    I came across your article because I am looking for an alternative for VLC (well, it’s cvlc), which is currently the hearth of my media server, which is basically a headless Raspberry PI zero W integrated with my AB amplifier and with a sound card.

    I am a bit surprised it is not on your top 5 list despite it supports different interfaces (cli, web, windows included) and I believe it supports a greater variety of codecs than the above 5 together. Anyhow, I am sure you had a good reason for not including it, but do you know if any of the players on your list have a web interface or if they can be used as a service in the background that can accept further CLI commands from the terminal, like “MediaPlayer pause” or “MediaPlayer addtoplaylist mysong.mp3”? My use case cannot be satisfied without some of these.

    Reply
    • No, problem, the good thing is that you can always find something that works for you. If CMUS does it for you, well and good !

      Reply
        • @Jalal,

          You can intall MOC using RPMFusion Repository as shown.

          ---------- On CentOS 8 ---------- 
          $ sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
          $ sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
          $ sudo dnf config-manager --enable PowerTools
          $ sudo dnf install moc
          
          ---------- On CentOS 7 ----------
          $ sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
          $ sudo dnf install moc
          
          Reply
          • Hi,

            Thanks a lot…

            I wanted to install moc, but it needs a lot of libraries, I forgot moc and I am using another music player…

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.