An Automatic Playlist Generation Extension for Banshee

Screenshot of mirage

Watch the video (OGG, MPEG, Youtube).
All songs in the video are from www.magnatune.com


Mirage is an implementation of the latest research in automatic playlist generation and music similarity. Mirage analyzes your music collection and computes acoustic similarity models for each song. After your music collection has been analyzed, Mirage is able to automatically generate playlists of similar music.

Mirage is far from being perfect! But it is a nice and easy way to rediscover your music collection. Imagine it's an automated radio station DJ playing songs from your collection and all songs somehow fit together.

In this project, Mirage was integrated in the popular GNOME audio player Banshee. It is programmed in C#/Mono and was created as a part of my master thesis (Mirage - High-Performance Music Similarity Computation and Automatic Playlist Generation, pdf)

It will take some time to analyze all your songs. To manually rescan your music collection, select "Tools > Mirage Playlist Generator > Rescan the Music Collection". When it is finished drag-and-drop a song on the Playlist Generator to start generating a playlist.


April 7th, 2010: Mirage is now part of the Banshee Community Extensions project. Releases are now made at the same time as Banshee itself, with the same version number. Version 1.6.0 brings integration in the Playqueue, adding "fill by similar" and also "shuffle by similar".

February 4th, 2010: Mirage 0.6 released. This release brings duplicate search based on acoustic similarity, compatibility with Banshee 1.5.3 and several bug fixes.

March 9th, 2009: Mirage 0.5 released. This release includes improved music similarity models, faster playlist generation, faster audio feature extraction and multiple fixes to the Mirage-Playlist generation routines.

January 31st, 2009: It looks like Mirage has been packaged for several distributions, see the instructions below. Thanks a lot to all packagers!

November 10th, 2008: Mirage 0.4 released. Mirage is compatible with Banshee 1.4, incorporates better music similarity routines and many bugfixes.


Install from source

  1. Download the latest tarball.
  2. Run "./configure". If some dependencies are not fulfilled install the missing software.
    Mirage needs to be installed in the same prefix as banshee, so you probably need to run ./configure --prefix=/usr
  3. Run make, then make install.
  4. Mirage should install in your banshee extension dir (usually: /usr/lib/banshee-1/Extensions/)
  5. Run banshee and enable the extension through the "Edit > Preferences" dialog.

Roadmap for the next versions

Software Mirage depends on


The Mirage Plugin is licensed under the GPL Version 2 (GPL not LGPL!). Please let us know if you work with Mirage or modify or rewrite it. Patches are welcome!

How does it work, technically?

Mirage uses the latest artificial intelligence/music information retrieval techniques to compute a similarity model for each song. This process includes the computation of

After your whole music collection is analyzed each song has a similarity/timbre model attached to it. You can then start generating playlists by selecting a song (the seed song) you want the playlist to start with and Mirage searches all its models for similar songs. To do so the Gaussian models computed in the previous step are compared using the an optimized Kullback Leibler divergence.

Contact us!

Bug reports and feature requests can go to the Banshee bugtracker, using the "Community Extensions" component.

There is a google-group for discussions about Mirage. Subscribe to it if you have ideas or questions about Mirage.

Google Groups
Subscribe to Mirage - Automatic Playlist Generation
Visit this group

I'm also subscribed to the banshee mailing list. You can also reach me via private mail.

For more information on music similarity, other usage scenarios have a look at the pages of the Department of Computational Perception at the Johannes Kepler University (http://www.cp.jku.at). Our group is also working on making your iPod intelligent. Please get in contact with us, if you have ideas, projects or just need more information.

Johannes Kepler University, Linz, Austria
Department of Computational Perception
© 2007-2009