I recently migrated from Windows, where I've been using Foobar2000 for a long time. I've been looking for a music player that replaces a feature I considered basic.

What I need is a player that has a play random song command (which can be sent from the command line). Note, that this is different from shuffle, which most players have. In shuffle, the order of the songs is mixed, and the playback is random. What I am looking for is something where playback is ordered, but when a certain command is issued a song is randomly picked and the playback jumps to it; playback then continues on in the normal sorted order.

The closest I found was gmusicbrowser, which has a random album command. This is close, but I'd prefer an actual random song.

I don't care about things like looking up lyrics or fancy library interfaces, just a simple playlist that can handle 30k+ songs. I'd prefer something with a gui, but I could do command line only if need be.

Edit: To clarify what I consider a normal ordered playback. It should play back in order of band, then year, then album, then track (or something similar, this should probably be configurable somewhere anyway). The only time it should deviate from this, and jump to a random song, is when it receives the random song command.

  • 1
    You could probably create something using mpd (music player daemon) + mpc in a shell script.
    – Renan
    Aug 11, 2012 at 1:41
  • mpd has internal shuffle support, just need client to activate that
    – daisy
    Aug 11, 2012 at 2:49

3 Answers 3


As already stated in the comments, you can do this rather easily using mpd and mpc:

mpc listall | shuf -n 1 | mpc add; mpc play
  • mpc listall will list all known songs from the music database
  • shuf -n 1 (from coreutils) will print one random entry from that list
  • mpc add will add this random entry to the current playlist
  • mpc play will start playing (or do nothing if mpd is already playing)

Although mpd and mpc are console applications there are also some graphical user interfaces available.

  • mpc is a console based frontend for mpd
    – darnir
    Aug 11, 2012 at 8:21
  • 1
    It took me a little while to get mpd working, but I do like it. It still doesn't have the native functionality I want. But the following shell script works: mpc random on mpc next mpc random off Aug 14, 2012 at 14:48

What you describe, is completely available in mpd.
Most distributions will allow you to install mpd directly from their repositories.

mpd stands for music player daemon. It is simply a command line daemon to play your music. However, many GUI front-ends for it like gmpc which is extremely lightweight and will handle your long playlist well.

mpc is a command line based interface for mpd. With very intuitive commands:

$ mpc play
$ mpc pause
$ mpc random on
$ mpc volume +10  



Clementine box is best GUI media player probably, fully-featured, which supports random playing mode, can be controlled through dbus interface or command line.

Check clementine --help for help.

Otherwise check rhythmbox, shuffle is supported,

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .