There exists such a lot of music players on Linux that nearly everyone uses a different player. ;-) I was using xmms for some time and switched to mp3blaster and other clients some time ago. I was not really happy with the situation, so it was time to evaluate the existing clients. This should give you a short overview about music players on Linux (more precise: Debian).
What’s important for me? The player should be fast and stable. The player has to play all common file formats (mp3, ogg, flac,…). The interface must be easy to handle, even without reading a manpage. Some kind of a playlist would be nice, exporting it to a humane readable format would be perfect. A search function within the playlist would be fine. Very important: the player should be maintained nowadays. I don’t need another dead-project-at-sourceforge-ng++. A debian package should be available. Console players are welcome. If the player requires X it should integrate smooth in the desktop environment (fluxbox, KDE,…). What I’ve not tested is access via NFS, sshfs,… and long time stability (handling of corrupt files, /dev/snd/*-handling,…).
This collection of course does not handle all available music player on linux. You might find some more players browsing the sound section of Debian or running “debtags search ‘sound::player'” but I tried to test the most promising ones. So, there we go:
alsaplayer: the “PCM player designed for ALSA” is available in a console version (alsaplayer-text) and in a graphical (alsaplayer-gtk). The speed bar is a nice feature. Output is not limited to alsa, there exist plugins for NAS, EsounD, OSS,… The textinterface is very minimalistic and the gtk-interface is not that intiutive as it could be IMO. The changelog shipped with the debian packages says that the last upstream changes have taken place in 2003.
amaroK: “versatile and easy to use audio player for KDE” can output to different sound systems (aRts, GStreamer and XINE). It requires kdelibs and even then it wants “34.4MB of additional disk space”. It uses a database for storing information about the used soundfiles, sqlite is the default. Fetching covers from amazon rocks. Fetching lyrics rocks awfully. The interface is nice and if you are playing a little bit with it you might even get it under control. ;-) It provides a lot of configuration possibilities. Integration into desktop (even fluxbox) is nice. Using the kdemultimedia-kio-plugins package provides the ‘audiocd:/’ kioslave. After reading the FAQ I found out why it did not work for me (fixed that by changing engine to gstreamer). Quitting amaroK fades out sound. :-) amaroK is maintained and still under development (latest release on 2005-11-08). There’s a big community around amaroK, check out the amaroK wiki.
beep-media-player: “Versatile audio player that supports Winamp skins”. A player that supports Winamp skins, with a customizable interface based on GTK2. It has various output plugins and can read various audio formats. A debian package is available, but BMP itself is discontinued: it’s developed unter the name BMPx. BMPx is the codename for the next generation of BMP. As written on the BMPx-homepage: “Please be aware that BMPx is still in development, and not all features might work to your satisfaction, as well as features may be altered during the still ongoing development process, or possibly entirely go away, as we are designing not only by theory, but also by practice and experience.” Latest version of BMP (0.9.7.1) was released on 22 October 2005.
cdcd: “command line or console based CD player”. cdcd plays only audio cds using libcdaudio. Easy to use command line interface. Last upstream changes on 2004-04-03.
cdtool: “text-based audio CD player and CD-ROM control commands”. cdtool provides several binaries namend cdplay, cdstop, cdvolume, cdeject and so on. Easy to handle but plays only audios cds. Last upstream changes on 2005-11-09.
cmus: “C* Music Player – ncurses based, small and fast”. Supports several file formats (FLAC, Ogg/Vorbis, MP3, Wav, mod, s3m) and output plugins (ALSA, ARTS, OSS, Sun). Nice: can be controlled via UNIX socket using cmus-remote command. I’ve created a debian package for grml Linux live-cd, it’s available through the grml-repository. Last upstream changes on 2006-01-02.
cplay: “A front-end for various audio players”. Minimalistic. If you find the ‘h’ key for help (why does not ‘?’ work as well?) it’s easy to use. Last upstream changes on 2005-11-10.
juk: “music organizer and player for KDE”. Requires kdelibs but is smaller than amaroK whileas it looks quite similar to amaroK. Supports several audio formats (MP3, Ogg Vorbis, FLAC, MPC) and multiple audio output backends (aRts, GStreamer 0.8, aKode). Nice features: cover art management via google image search, “guess tag information via internet”. Still under development (in package kdemultimedia).
juke: “A curses-based jukebox program”. Very simple interface, not really comfortable. juke-0.7 was relead on 2001.2.11, does not seem to be maintained anymore outside of debian.
kscd: audio CD player for KDE. Part of the kdemultimedia suite and maintained as part of it also in Debian. Simple interface but only useful for audio cds of course.
mcdp: “Small console cd player”. Another audio cd player. Last release on 2004-02-20.
mikmod: “Portable tracked music player”. Strange command line interface. Does not take a list of audio files as command line arguments. :-( Last release on 2004-02-02.
moc: “ncurses based console audio player”. Easy to handle ncurses interface. Supported file formats are: MP3, OGG Vorbis, FLAC, WAVE, SPEEX, Musepack (MPC), AIFF and AU. But searching in the help menu is not possible. Using themes for look’n’feel is possible (and for me necessary as I don’t like the default blue theme). Detaching mocp (the executable) is possible [press ‘q’] and lets you restore later again while continue playing in the meantime. Quiting mocp is possible via ‘Q’. I basically like moc but I could not find a way to play an audio CD.
mpd (music Player Daemon) plays MP3, Ogg Vorbis, FLAC, MP4/AAC, Mod, Musepack, and wave files. It’s possible to remotely control MPD over a network (IPv4 and IPv6 supported) and play MP3 and Ogg Vorbis streams. More details of mpd’s features are available in the wiki. mpd supports a lot of different clients. For example ncmpc or mpc on console and Pygmy as graphical interface. mpd is still maintained upstream. (Notice: I’ve not taken a closer look at the clients, it’s on my todolist.)
mpg123: “MPEG layer 1/2/3 audio player”. It’s not available under a free license. There are security issues and it’s not maintained any more. Nothing you want to use.
mpg321: “A Free command-line mp3 player, compatible with mpg123”. Better than mpg123 but can’t handle different files than MPEG 1.0 layer III files. With irmp3 you can control mpg321 to play songs, lists, and lists of play lists. No updates since 2002-03-24.
mp3blaster: “Full-screen console mp3 and ogg vorbis player”. Basically a nice interface. But does not take directories as arguments. No updates since 2004-11-28.
mplayer: “The Ultimate Movie Player For Linux”. Hehe, yes – it’s a movie player. But it supports sound files as well and compared to some other players much more audio formats. ;-)
muine: “Simple playlist based music player”. Depends on mono (“27.7MB of additional disk space”). Supports Ogg Vorbis, FLAC, AAC and MP3. Strange handling of playlist: play song vs play album. The interface icons are broken here:
(muine:17880): Gtk-WARNING **: Error loading theme icon for stock: Icon 'stock_media-rew' not present in theme
music123: “A command-line shell for sound-file players”. Very minimalistic. Last update on 2004-06-12.
ncmpc: “text based audio player” [curses Music Player Daemon (MPD) client]
ogg123: part of debian package vorbis-tools. ogg123 is mpg123/mpg321 for ogg files. Files can be read from the file system, or URLs can be streamed via HTTP.
orpheus: “Light-weight text mode menu- and window-driven audio player”. It does not seem to be able to load directories but only files. Playing audio cds is possible via pressing ‘f5’. It supports MP3 and Vorbis OGG. Last release on 2004-03-10.
pytone: “Music jukebox with advanced features for DJs and a text-mode user interface”.
mika@grml ~ % pytone
Traceback (most recent call last):
File "/usr/share/pytone/pytone.py", line 115, in ?
songdbid = songdbmanager.addsongdb(songdbname, config.database[songdbname])
File "/usr/share/pytone/services/songdb.py", line 168, in addsongdb
songdb = songdbs.local.songdb(id, config, self.songdbhub)
File "/usr/share/pytone/services/songdbs/local.py", line 173, in __init__
raise errors.configurationerror("musicbasedir '%s' of database %s is not a directory." % (self.basedir, self.id))
errors.configurationerror: PyTone configuration error: "musicbasedir '"of database main is not a directory."
Great. Ok, after creating a minimal ~/.pytone/pytonerc according to the homepage and /usr/share/doc/pytone/README.Debian it started up. I could not find a way to play an audio cd. Last upstream release on 2005-09-13, still mantained.
randomplay: “command-line based shuffle music player that remembers songs between sessions”. Perlscript with minimalistic command line interface. Randomplay defaults to using ogg123 for ogg files and mpg321 for mp3 files, but you can specify other programs which should be used to play files.
rhythmbox: “music player and organizer for GNOME”. It provides audio format support through GStreamer and even supports DAAP. Using the sound-juicer package it’s possible to play audio-cds as well. Last upstream release (version 0.9.2) on 28th November 2005.
workbone: “A simple text-based CD player”. It’s again an interactive text-mode program for controlling and playing audio cds. Last debian package change on 2004-12-31, last upstream release in 1997/1998.
xmms: “Versatile X audio player”. xmms is “the winamp for Linux”. It’s able to read and play mp3, ogg, CDAudio, WAV, RAW, AU, MOD, XM, S3M,… It has eSound, OSS, and disk writer support for outputting sound. There are more than 50 xmms-related debian packages available (being all kinds of plugins and addons). Lots of skins are available. It provides a very fast search function. Still maintained but xmms2 is under development.
zinf: “Extensible, cross-platform audio player”
Personal conclusion: On the command line I’m still not sure which one I’ll buy for daily use. No one provides all the features I need. I think I’ve to check out the clients for mpd first. In the meanwhile moc looks promising (and maybe supports playing audio-cds in the near future? ;-)). For playing audio-cds on the command line I’m currently using orpheus and cdcd. As a graphical client xmms (if no kdelibs are available) and amaroK are my favourites. Now, let me know which one you like best!
Update [20060102]: Thanks for your comments. I added cmus and beep-media-player.