Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
script to submit ISRCs from disc to musicbrainz
Python Makefile TeX

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Isrcsubmit 0.4 for MusicBrainz

(Linux/Mac OS X)

This python script extracts ISRCs from audio cds and submits them to MusicBrainz.

This script currently uses python-musicbrainz2 to access the MusicBrainz API. Python2 >= 2.4 should be fine for both. You also need libdiscid and with python < 2.5 you also need ctypes.

The script works for Linux and Mac OS X. However, drutils, the backend for Mac WILL take a long time (several minutes) per disc and might give duplicates more often. Isrcsubmit will tell you about it though.

Usable backends:


  • read ISRCs from disc
  • search for releases with the TOC of the disc
  • display release information from MB
  • submit ISRCs
  • submit discIds / TOCs
  • duplicate ISRC detection (local and on server)

usage: [options] username [device]

for detailed usage see: -h

That is the username at musicbrainz and the device should be something like /dev/cdrom (default) or /dev/dvdrw. Some cd readers report the same ISRCs for different (adjacent) tracks. Others don't, for the same physical disc. For me my dvd writer worked better.

Isrcsubmit checks for problems with duplicate ISRCs and prints a warning. You will always have the choice to cancel the submission if something seems wrong.

If the disc is known to MusicBrainz, additional information about it is fetched from MusicBrainz. If the disc is unknown, you will be given the chance to submit the ID to the server.

help: --help

In order to submit ISRCs to you need to have a user acount. You can create an account at free of charge.

The core of the MusicBrainz dataset including the ISRC contributions is placed into the Public Domain.

You might find additional information about this script at the MusicBrainz forums.

Please report bugs on GitHub.

Something went wrong with that request. Please try again.