Randomplay is a 'scratch an itch' music file player. The primary itch was to be
able to play a large music collection in random order but not to have tracks
repeated if the player was shut down, or if new tracks were added to the
collection, etc.. Another itch was to be able to specify a song to play quickly
without having to track it down in a directory hierarchy.  I also wanted to be
able to use randomplay to generate a list of songs to load into a portable MP3
player, using the same memory of what has been played recently on the computer
itself.  The final itch was to have the random shuffle be biased toward
favorite songs.  

Randomplay scratches all these itches, and some other ones too.  

This is a command line tool, for people who eschew GUIs when it comes to
playing their music files.  Many of the features in randomplay exist in other
GUI music players, but I am not aware of any command-line only player that
includes every feature of randomplay.  

You will need an actual music file player as well--randomplay is just a
frontend.  Randomplay defaults to using ogg123 for ogg files and mpg321 for mp3
files, but you can specify other programs at the command line or in the
~/.randomplayrc file (for example, player[wav]=play-sample).  A properly built
mplayer could probably be used for all music file types.  

Invoking randomplay is straightforward. See the manpage or the help options
(randomplay --help) for a list of command line options and keybindings while
randomplay is running.  You can also set all options permanently in a
~/.randomplayrc file. See the sample randomplayrc that comes with this package
for the syntax.  

I recommend creating aliases or shell scripts for common switch combinations
that you use.  For example, I have a script 'rpr': 

#!/bin/sh
randomplay -0 --noremember -r '$@'

You could use this to quickly play a particular track based on a fragment of
its filename, regardless of where it is in your music directory hierarchy
(assuming you have defined "basedir" in ~/.randomplayrc).  

I welcome bug reports and comments.  

Adam Rosi-Kessel <ajkessel@debian.org>
