Site contents

About Plait

Plait (pronounced "play") is a command-line jukebox and music player front end. It understands brief, easy to type queries that pick a single song, mix queries that combine works from multiple artists, stream queries that find Shoutcast radio streams, and everything in between. A variety of filters are available to pick just the music you want to hear. In order to actually play the music it finds, Plait automatically hands off a play list to one of the supported music players (or you can use it manually with any player that supports .m3u playlists). The end result is that you can type commands like

plait "miles davis" not "in a silent way"
plait --mix mingus monk metheny --tracks 20 --stripe
plait --stream salsa
plait --mixfile punk --interactive

and Plait will seek out cuts from your library, or radio streams, and play them in your music player. Plait uses UNIX as a compatibility layer to target X Window, Windows with Cygwin, OS X, and the UNIX console.

Plait includes a playlist optimizer that balances the number of cuts selected from each source, reorders cuts according to one of several patterns, and selects cuts that are suitable for the target device you specify. By repeating elements in the query you can weight the balance in favor of a particular artist.

Plait works with all kinds of music players, from mpg123 to Beep Media Player. For those who use command-line players like mpg123, Plait includes a command-line front-end, Plaiter, which adds play, pause, stop and other commands, plus queuing, to mpg123 and similar programs. Plait plus mpg123 is a complete music solution for command-line junkies.

Plait can generate complete web sites containing embedded MP3 playlists, complete with album art, using the XSPF Web Music Player (

Getting started

For a quickstart, click on the download button and follow the Install Guide for Plait.

The README for Plait will tell you everything you ever wanted to know about Plait, the command-line jukebox and music player front-end.

There is also a README for Plaiter, the command-line front end to command-line music players. Plaiter is a subproject which was designed to be the perfect command-line music player for Plait. It combines helper applications like mpg123 and ogg123 into a general purpose command line music player.


Besides being a command line tool which I created because I wanted to use it myself, Plait is a testbed for ideas related to using search for one-click access to hierarchically organized resources. If you have interesting ideas related to this topic, I may be interested in collaborating with you on commercial or open source projects. Use the contact form to reach me.

Fans, groupies, authoritative critics

In a completely different direction there's Plait
(pronounced "play"): a command-line tool that searches your
music (and Shoutcast directory if requested), builds a
playlist, and hands it off to your player.  It appears to
only look at filenames and paths, but surprisingly this
turns out to be plenty for my use with a little organization
by genre, album, and artist.  Support for mix files as
collections of hints (positive and negative assertions)
instead of track lists has the nice advantage that the mix
stays current for your collection.  It's also nice to be
able to do run something like `plait --stream --mix jazz
industrial` when I'm feeling like a change and suddenly have
a very eclectic mix pouring off the wires.

-- A user comment on

I would like to thank you for making the wonderful command
line mpg123 frontend, plaiter.

-- email to the author

Thank you for creating Plait, it rocks!  I've got a cache of 2000
files and my P233 handles it in a few seconds.  Adding support to
mp3blaster, my favourite player was done in a few minutes also.

-- email to the author


Nov. 8, 2009: Experimental support for syncing music and playlists to an S3 net disk has been added. See the project wiki on Sourceforge for details. An anonymous contributor sent a patch that adds mpc/mpd support and that has also been commited to svn. The big "Download now!" buttons should now link to a tarball of the latest svn release, but an old stable release can still be found via the Sourceforge project page.

Nov. 1, 2009: A pretty-printer for plaiter, submitted by a contributor, has been commited to the subversion repository today. Thanks to Ram Ramachandra for the patch. Official releases are few and far between now, so keeping an eye on the source control is the best way to find out about updates.

Feb. 22, 2009: The code has moved into Sourceforge-hosted revision control. A small number of slots are available with write access, so get in touch if you are interested in contributing patches or maintaining Plait.

Feb. 16, 2009: Due to a lack of spare time and because the interesting ideas I had for Plait would be more useful in new projects that are a little more relevant, active development (by me) is over. If you have an interesting idea for a new feature, it can be contributed in the form of a patch but not as a feature request.

Sep. 14, 2008: Release 1.6.2: maintenance release. Another instance of the security flaw fixed in 1.6 was found, so the codebase was reviewed for all uses of temp files. This release should be free of all temp file vulnerabilities.

Sep. 11, 2008: Release 1.6.1: maintenance release to track the new Shoutcast URLs. This will get your stream queries working again. Thanks go to Peter and David for the quick fix.

Aug. 30, 2008: Release 1.6: fix for a major security flaw, mplayer support, and Busybox support so you can run it on a network storage device or an Internet tablet.

July, 2008: Hey! Plait has been added to Debian.

Oct. 9, 2006: Release 1.5.2 introduces a new installer.

Sep. 4, 2006: Release 1.5.1 fixes many minor bugs in the XSPF web publishing feature.

Aug. 31, 2006: Release 1.5 adds support for XSPF Web Music Player.

June 6, 2006: Release 1.4.2 adds minor feature enhancements.

Apr. 26, 2006: Release 1.4.1 fixes two bugs in Plaiter.

Apr. 25, 2006: Release 1.4 adds interactive mode.

Mar. 27, 2006: Release 1.3 adds support for amaroK and Beep Media Player.

Feb. 21, 2006: Release 1.2 adds a playlist optimizer.

Jan. 16, 2006: Release 1.1 adds support for iTunes on Cygwin.

Dec. 26, 2005: Release 1.0 stable fixes a minor bug.

Nov. 14, 2005: Release 0.99, the first beta release, adds pass-through commands like play, pause, and next track.

Oct. 25, 2005: Release 0.55 introduces Plaiter, the command-line front end to command-line music players.

Oct. 11, 2005: Release 0.54 adds support for Linux.

Oct. 2, 2005: Release 0.53 adds support for complex queries against the Shoutcast directory.

Sept. 21, 2005: Release 0.52 adds support for mix files. See the documentation for details.

Sept. 16, 2005: Release 0.51 is a minor bug fix for iTunes.

Sept. 9, 2005: Initial public release.

Contact info

Plait was written by Stephen Jungels. I can be reached via the contact form.

Powered by...

Plait uses XSPF and Audioscrobbler. Logo