Produces a summary of a playlist


condense - Produces a summary of a playlist of mp3 or wave files


condense [options] PLAYLIST


Produces a summary of a PLAYLIST of mp3 or wave files. Lines in the playlist which start with a hash (in the first column) are ignored.

The output is a flavour file, which defines the list of clips as the filename and the start / stop times (in milliseconds). This is similar to a CUE file - indeed the CUE file format was considered but there is no solid format for the file and it does not look possible to define a segment of a file (e.g. a single five-second clip from each file).

Note that mpeg files are handled by extracting them to temporary files. Because of this, it is not recommended to summarise large playlists without having lots of disk space, and time (because conversion takes a few seconds on an average machine). Also note that some of the more advanced methods will require additional temporary space (e.g. for mfcc and similarity files). In particular note that the intended design for the initial methods considering the entire album will require exponential increases in space as the list grows.

The summary method defaults to selecting the middle of each track, outputting a summary of 60 seconds (proportionally distributed across the list). Both a summary.fla and summary.wav are output to the current directory.

The following options are supported:

-f file The path of the .fla (FLAvour file) output. Defaults to "summary.fla".

-l n The length of the desired summary, in seconds. Defaults to 60s.

-s file The path of the summary (WAVE) file output. Defaults to "summary.wav".

-t method The method to use to calculate the summary. The following types are currently implemented: middle, intro, story. Defaults to "middle".

middle Summarises an album by picking centre sections.

intro Summarises an album by picking the first few seconds of each track.

story Summarises an album by picking the portion of the album of each song represents (i.e. with the first few seconds of the first track moving to the last few seconds of the last track). This is best for 'story' albums, where the songs are intended to be played in a particular order. In theory, selecting this and the average song duration as the summary length should produce an average song.

simtrack Summarises an album by selecting the portion of each track which is most representative of that track (i.e. most similar).


The following features are planned for the future. The order they will get implemented in will depend, to some extent, on feedback from users. Feel free too submit your views.

Different ways of specifying the length of the summary. Currently it is an absolute length. It could be: percentatage of playlist running time; fixed summary size for each track.

Considering not outputing summaries (wave or .fla) unless asked, or being able to turn them off. Does the program quit as soon as possible if no output is asked for? Should the name be based on the playlist name by default?

Additional summary methods. The first methods only considered the length of the track. This was intended to prove the program outline, before adding methods which consider the content of the tracks. Possible methods include: most representative of track but most unique of album; find a balance (defined?) of representative / unique clips of album).

Known Bugs and Issues

The summary.fla file is currently written to the local directory but lists the items as they were in the playlist.

Implemented by condense.cpp.

Copyright ©1996-2006 Steven Blackburn - About MaART - MaART on SourceForge