The status of this project is: NEW. I have forked it off from lastfmsubmitd recently. The individual programs are stable, but should be ported to a more recent MusicBrainz API.


To get the current code:

hg clone


To download in package form:


Ears is a collection of clients for MusicBrainz. It includes programs for:

Only the first of these actually talk to MusicBrainz; all the programs are designed to exchange plain text data via standard input and output (or the lastfmsubmitd queue). Everything uses the same human-readable YAML format.

To illustrate, here is how to rip a CD:

mbget | peel

Or without playing the CD and submitting to as it is played (much faster, but uses more CPU):

mbget | peel --quiet

Or to rip only selected tracks:

mbget 1 2 3 | peel

Or to correct data before ripping (this can be shortened to one pipeline with “vipe” from Joey Hess’s moreutils):

mbget > album.txt
vi album.txt
peel < album.txt

Or to extract a CD while offline and look up the album information manually later on:

cdparanoia --batch
mbget --print-discid > discid.txt

[get back online]

mbget --discid $(cat discid.txt) | peel --continue

To submit data for a missing CD (in the CD-ROM drive) to MusicBrainz:

mbget --template > album.txt
vi album.txt
mbsubmit album.txt

To submit a vinyl record you just played to for posterity:

mbfind --album "Name of Album"

[look at returned MBIDs]

mbget --album MBID | lastcd

peel is named in honor of John Peel, the late BBC Radio 1 DJ.