dbm: Similarity-based playlists and music library navigation for rockbox
Introduction
dbm can be used to
- navigate your music library by musical similarity, as determined by last.fm similar artists and genre tags.
- generate random playlists based on musical similarity, as well as single-artist playlists, etc
- specify a last.fm user and browse music in your collection that they have listened to recently
- find music in your collection that you have not listened to recently
- keep on your music player biographies of all artists in your collection
- create lists of recommended similar artists that are not in your library
- create an alphabetical index of links to artists in your music library
- download album art
dbm is designed to be used with rockbox – an open source firmware
alternative that runs on a wide range of MP3 players. Rockbox brings
many new features to MP3 players, and the main aim of dbm is to
create a system of links and playlists based on music similarity which
can be used under rockbox.
Download
Please download dbm from here.

Using dbm
I use dbm to set up my ipod so that the main file menu looks like

Navigation folder
This contains a system of links to different folders in the library. Currently this holds
- Last.fm Similar For every artist, there are links to folders in the library corresponding to similar artists (links to folders containing albums by similar artists, and also links to compilations featuring a track by that artist, or by a similar artist). This provides an alternative method for choosing music to listen to: first pick an artist that's roughly the sort of music you're considering, then scroll through the similar artist offerings and either jump to one of them or to the original artist.
- Musicspace Similar This is the same as Last.fm Similar, except that musical similarity is defined by a personal spreadsheet file, rather than by last.fm.
- A-Z An alphabetical index allowing you to access a particular artist rapidly, in the same way as one can with the Rockbox database.
Playlists folder
The folders of playlists currently generated are
- Last.fm Similar: For every artist, a random playlist of tracks by similar artists (using last.fm similarity). As an example, here are the last.fm similar artist playlists it created for me.
- Musicspace Similar: The same as Last.fm Similar, but using the personal music similarity file.
- Single Artists: For every artist, a random playlist of tracks by that artist [also provided by the rockbox database feature]
- All Artists: Playlists of tracks taken entirely at random from the library. This is broken up into several playlists of 1000 tracks among which there are no repeats.
Other folders
-
Library This contains my actual music; this folder is not
created by
dbm.
The basic procedure for using dbm is:
1. Connect your rockbox music player
2. Scan your music library (File menu: Scan library)
Select the folder on your rockbox device where you keep all your
music. If you are still using itunes then this will be called
"iPod_Control". After scanning a library, dbm will download
similar artists data from last.fm for every artist in the
library. This can take a while; however, if you save your library
once it's done then you should not need to do it from scratch
again. Note that the music library can be any folder containing
music; it doesn't necessarily have to be your entire collection.
3. Specify output folders and rockbox device location (Tasks menu: Settings)
The output folders for the playlists and navigation links must be
empty folders. dbm will create various subfolders inside them
containing the playlists and links. Once it has finished, you are
free to rename and/or move these folders to wherever you want.
4. Generate the navigation links and playlists (Tasks menu)
Recent changes
-
:
dbmnow creates a folder containing biographies (from last.fm) for all artists in the library.rockboxopens these automatically with a text viewer when you hit select. - : You can now make playlists and links based on last.fm tags. This looks quite promising.
- : You can now enter the names of last.fm users and get playlists and links to music that they have listened to and that you have. Also for music they haven't listened to (useful if the user is you)
- : The GUI now allows you to view your music library as it is arranged on disk, and by artist. Amongst other things this makes it easy to locate badly tagged music.
- : There is now an album art downloader that attempts to get cover art for all your music. (It retrieves jpegs which you'll need to convert to .bmp for rockbox)
-
: To make
dbmignore a folder, place a file in that folder named '.ignore' (file contents don't matter; it can be empty) - : Similarity can be defined by a personal 'musicspace file', as well as by last.fm similar artists
-
:
dbmnow has a GUI -
: MusicBrainz tags are definitely helpful, but are no longer essential for
dbmto work -
:
mpcandflacformats supported, in addition tomp3,ogg,mp4,m4a.
Notes
If present, dbm will use MusicBrainz identifiers to keep track of
artists, albums and tracks. If not, it will just use the artist names
it finds in the tags. The MusicBrainz Picard tagger can be used to add
these identifiers to your music library.
The original command-line interface still works. Instructions for using dbm from the command line are here.
Feedback, problems etc
I'd appreciate it if you'd drop me an email if you're using dbm:
davison at stats dot ox dot ac dot uk. I'm still working on it. If
you encounter problems, please email me with a copy of the logfile
dbmlog.txt and, if you don't mind sharing it, a compressed copy of
the saved library file that dbm creates. I'm happy to discuss the
project direction, new features etc.
Thanks
Humberto Santana and Sheamus Sweeney for suggestions and testing; Amr Hussan for creating the python last.fm API pylast; the rockbox developers. html generated by emacs org-mode.