← documentation main page

Data Jockey: Annotator

Data Jockey includes an optional application 'datajockey_annotator' which is the start of a tag/descriptor editor for Data Jockey, that can be run without having to run the full Data Jockey application.

Eventually this application will be more full featured, allowing users to visualize and edit beat location data, apply arbitrary descriptors, etc. But the author finds it useful even in its present, less than fully-featured, state.

In order to build the annotator, please consult the README.BUILD file in the main directory of the source code download.


The annotator allows users to associate audio files [that have already been imported into the database] with tags. It also allows users to apply a 'rating' to a work.

This 'rating' is an arbitrary numerical score of a song, which can be used however the user desires. The author rates songs on a scale of one to five, where one means he doesn't like the song, two means it is 'okay', three means the song is 'good', four means it is 'pretty darn good' and five means it is among his favorite songs. The range is totally up to the user, it can include decimal places and could even be negative.


By default the annotator will pop up a graphical display which shows the song database and tags and allows users to associate works with tags as well as create new tags. New tag associations can be made by dragging tags from the main 'tag view' into the 'tag view' for a specific, selected song.

The screen shot, linked below, shows the main 'tag view' on the right and the details of the work 'Why Kill Time (When You Can Kill Yourself)' by 'Cabaret Voltaire' on the left.

Click here to view a screen shot of the annotator

Command Line

There is a 'non-graphical' mode --non-graphical which allows users to apply tags and ratings without launching the graphical user interface. Among other things, this is useful for applying ratings and tags while listening to music in some other audio application.

See datajockey_annotator -h for information about the command line arguments.


Here is an example which would rate the following song with a rating of 3.

datajockey_annotator --non-graphical -r 3 music/eats_tapes/sticky_buttons-knightress.flac

The following command would apply the tag 'hard' which has type 'heaviness' to the song.

datajockey_annotator --non-graphical -t "hard","heaviness" /mp3/aphex_twin/classics/02-flaphead.flac

The when he is casually listening to music, author uses the application music on the console and has set up key bindings to launch the graphical annotator or non-graphically rate songs while listening. Below are the settings he uses in the '~/.moc/config' file:

ExecCommand1    = "datajockey_annotator %f"
ExecCommand5    = "datajockey_annotator -a -r 1 %f"
ExecCommand6    = "datajockey_annotator -a -r 2 %f"
ExecCommand7    = "datajockey_annotator -a -r 3 %f"
ExecCommand8    = "datajockey_annotator -a -r 4 %f"
ExecCommand9    = "datajockey_annotator -a -r 5 %f"