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 http://hg.red-bean.com/ears/
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 Last.fm 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 Last.fm 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.